blob: a9cd910f38fad3c2277c36a25ed4d016ad69f22e [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*/
Abhishek Singh5fef4042014-11-25 18:33:00 +0530130#define WDI_BEACON_FILTER_LEN 90
Jeff Johnson295189b2012-06-20 16:38:30 -0700131
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/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302628 WDI_SpoofMacAddrRspParamType
2629---------------------------------------------------------------------------*/
2630typedef struct
2631{
2632 /* wdi status */
2633 wpt_uint32 wdiStatus;
2634
2635 /* Reserved Field */
2636 wpt_uint32 reserved;
2637
2638}WDI_SpoofMacAddrRspParamType;
2639/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002640 WDI_AddBAReqinfoType
2641---------------------------------------------------------------------------*/
2642typedef struct
2643{
2644 /*Indicates the station for which BA is added..*/
2645 wpt_uint8 ucSTAIdx;
2646
2647 /* Session Id */
2648 wpt_uint8 ucBaSessionID;
2649
2650 /* Reorder Window Size */
2651 wpt_uint8 ucWinSize;
2652
2653#ifdef FEATURE_ON_CHIP_REORDERING
2654 wpt_boolean bIsReorderingDoneOnChip;
2655#endif
2656
2657}WDI_AddBAReqinfoType;
2658
2659
2660/*---------------------------------------------------------------------------
2661 WDI_AddBAReqParamsType
2662---------------------------------------------------------------------------*/
2663typedef struct
2664{
2665 /*BA Info Type*/
2666 WDI_AddBAReqinfoType wdiBAInfoType;
2667
2668 /*Request status callback offered by UMAC - it is called if the current
2669 req has returned PENDING as status; it delivers the status of sending
2670 the message over the BUS */
2671 WDI_ReqStatusCb wdiReqStatusCB;
2672
2673 /*The user data passed in by UMAC, it will be sent back when the above
2674 function pointer will be called */
2675 void* pUserData;
2676}WDI_AddBAReqParamsType;
2677
2678
2679/*---------------------------------------------------------------------------
2680 WDI_AddBARspinfoType
2681---------------------------------------------------------------------------*/
2682typedef struct
2683{
2684 /*Status of the response*/
2685 WDI_Status wdiStatus;
2686
2687 /* Dialog token */
2688 wpt_uint8 ucBaDialogToken;
2689
2690}WDI_AddBARspinfoType;
2691
2692/*---------------------------------------------------------------------------
2693 WDI_TriggerBAReqCandidateType
2694---------------------------------------------------------------------------*/
2695typedef struct
2696{
2697 /* STA index */
2698 wpt_uint8 ucSTAIdx;
2699
2700 /* TID bit map for the STA's*/
2701 wpt_uint8 ucTidBitmap;
2702
2703}WDI_TriggerBAReqCandidateType;
2704
2705
2706/*---------------------------------------------------------------------------
2707 WDI_TriggerBAReqinfoType
2708---------------------------------------------------------------------------*/
2709typedef struct
2710{
2711 /*Indicates the station for which BA is added..*/
2712 wpt_uint8 ucSTAIdx;
2713
2714 /* Session Id */
2715 wpt_uint8 ucBASessionID;
2716
2717 /* Trigger BA Request candidate count */
2718 wpt_uint16 usBACandidateCnt;
2719
2720 /* WDI_TriggerBAReqCandidateType followed by this*/
2721
2722}WDI_TriggerBAReqinfoType;
2723
2724
2725/*---------------------------------------------------------------------------
2726 WDI_TriggerBAReqParamsType
2727---------------------------------------------------------------------------*/
2728typedef struct
2729{
2730 /*BA Trigger Info Type*/
2731 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2732
2733 /*Request status callback offered by UMAC - it is called if the current
2734 req has returned PENDING as status; it delivers the status of sending
2735 the message over the BUS */
2736 WDI_ReqStatusCb wdiReqStatusCB;
2737
2738 /*The user data passed in by UMAC, it will be sent back when the above
2739 function pointer will be called */
2740 void* pUserData;
2741}WDI_TriggerBAReqParamsType;
2742
2743/*---------------------------------------------------------------------------
2744 WDI_AddBAInfoType
2745---------------------------------------------------------------------------*/
2746typedef struct
2747{
2748 wpt_uint16 fBaEnable : 1;
2749 wpt_uint16 startingSeqNum: 12;
2750 wpt_uint16 reserved : 3;
2751}WDI_AddBAInfoType;
2752
2753/*---------------------------------------------------------------------------
2754 WDI_TriggerBARspCandidateType
2755---------------------------------------------------------------------------*/
2756#define STA_MAX_TC 8
2757
2758typedef struct
2759{
2760 /* STA index */
2761 wpt_macAddr macSTA;
2762
2763 /* BA Info */
2764 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2765}WDI_TriggerBARspCandidateType;
2766
2767/*---------------------------------------------------------------------------
2768 WDI_TriggerBARspParamsType
2769---------------------------------------------------------------------------*/
2770typedef struct
2771{
2772 /*Status of the response*/
2773 WDI_Status wdiStatus;
2774
2775 /*BSSID of the BSS*/
2776 wpt_macAddr macBSSID;
2777
2778 /* Trigger BA response candidate count */
2779 wpt_uint16 usBaCandidateCnt;
2780
2781 /* WDI_TriggerBARspCandidateType followed by this*/
2782
2783}WDI_TriggerBARspParamsType;
2784
2785/*---------------------------------------------------------------------------
2786 WDI_DelBAReqinfoType
2787---------------------------------------------------------------------------*/
2788typedef struct
2789{
2790 /*Indicates the station for which BA is added..*/
2791 wpt_uint8 ucSTAIdx;
2792
2793 /*TID for which BA was negotiated*/
2794 wpt_uint8 ucBaTID;
2795
2796 /*Originator/Recipient*/
2797 wpt_uint8 ucBaDirection;
2798
2799}WDI_DelBAReqinfoType;
2800
2801/*---------------------------------------------------------------------------
2802 WDI_DelBAReqParamsType
2803---------------------------------------------------------------------------*/
2804typedef struct
2805{
2806 /*BA Info */
2807 WDI_DelBAReqinfoType wdiBAInfo;
2808
2809 /*Request status callback offered by UMAC - it is called if the current
2810 req has returned PENDING as status; it delivers the status of sending
2811 the message over the BUS */
2812 WDI_ReqStatusCb wdiReqStatusCB;
2813
2814 /*The user data passed in by UMAC, it will be sent back when the above
2815 function pointer will be called */
2816 void* pUserData;
2817}WDI_DelBAReqParamsType;
2818
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002819/*---------------------------------------------------------------------------
2820 WDI_UpdateChannelReqinfoType
2821---------------------------------------------------------------------------*/
2822typedef struct
2823{
2824 /** primary 20 MHz channel frequency in mhz */
2825 wpt_uint32 mhz;
2826 /** Center frequency 1 in MHz*/
2827 wpt_uint32 band_center_freq1;
2828 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2829 wpt_uint32 band_center_freq2;
2830 /* The first 26 bits are a bit mask to indicate any channel flags,
2831 (see WLAN_HAL_CHAN_FLAG*)
2832 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2833 wpt_uint32 channel_info;
2834 /** contains min power, max power, reg power and reg class id. */
2835 wpt_uint32 reg_info_1;
2836 /** contains antennamax */
2837 wpt_uint32 reg_info_2;
2838}WDI_UpdateChannelReqinfoType;
2839
2840typedef struct
2841{
2842 wpt_uint8 numchan;
2843 WDI_UpdateChannelReqinfoType *pchanParam;
2844}WDI_UpdateChannelReqType;
2845/*---------------------------------------------------------------------------
2846 WDI_UpdateChReqParamsType
2847---------------------------------------------------------------------------*/
2848typedef struct
2849{
2850 /*BA Info */
2851 WDI_UpdateChannelReqType wdiUpdateChanParams;
2852
2853 /*Request status callback offered by UMAC - it is called if the current
2854 req has returned PENDING as status; it delivers the status of sending
2855 the message over the BUS */
2856 WDI_ReqStatusCb wdiReqStatusCB;
2857
2858 /*The user data passed in by UMAC, it will be sent back when the above
2859 function pointer will be called */
2860 void* pUserData;
2861}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002862
2863/*---------------------------------------------------------------------------
2864 WDI_SwitchCHRspParamsType
2865---------------------------------------------------------------------------*/
2866typedef struct
2867{
2868 /*Status of the response*/
2869 WDI_Status wdiStatus;
2870
2871 /*Indicates the channel that WLAN is on*/
2872 wpt_uint8 ucChannel;
2873
2874#ifdef WLAN_FEATURE_VOWIFI
2875 /*HAL fills in the tx power used for mgmt frames in this field.*/
2876 wpt_int8 ucTxMgmtPower;
2877#endif
2878
2879}WDI_SwitchCHRspParamsType;
2880
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002881/*--------------------------------------------------------------------
2882 WDI_SwitchChRspParamsType_V1
2883--------------------------------------------------------------------*/
2884typedef struct
2885{
2886 /*Status of the response*/
2887 WDI_Status wdiStatus;
2888
2889 /*Indicates the channel that WLAN is on*/
2890 wpt_uint8 ucChannel;
2891
2892#ifdef WLAN_FEATURE_VOWIFI
2893 /*HAL fills in the tx power used for mgmt frames in this field.*/
2894 wpt_int8 ucTxMgmtPower;
2895#endif
2896
2897 /* Source of Channel Switch */
2898 WDI_ChanSwitchSource channelSwitchSrc;
2899}WDI_SwitchChRspParamsType_V1;
2900
Jeff Johnson295189b2012-06-20 16:38:30 -07002901/*---------------------------------------------------------------------------
2902 WDI_ConfigSTAReqParamsType
2903---------------------------------------------------------------------------*/
2904typedef struct
2905{
2906 /*Info for the Join request that will be sent down to the device*/
2907 WDI_ConfigStaReqInfoType wdiReqInfo;
2908
2909 /*Request status callback offered by UMAC - it is called if the current
2910 req has returned PENDING as status; it delivers the status of sending
2911 the message over the BUS */
2912 WDI_ReqStatusCb wdiReqStatusCB;
2913
2914 /*The user data passed in by UMAC, it will be sent back when the above
2915 function pointer will be called */
2916 void* pUserData;
2917}WDI_ConfigSTAReqParamsType;
2918
2919
2920/*---------------------------------------------------------------------------
2921 WDI_UpdateBeaconParamsInfoType
2922---------------------------------------------------------------------------*/
2923
2924typedef struct
2925{
2926 /*BSS Index of the BSS*/
2927 wpt_uint8 ucBssIdx;
2928
2929 /*shortPreamble mode. HAL should update all the STA rates when it
2930 receives this message*/
2931 wpt_uint8 ucfShortPreamble;
2932 /* short Slot time.*/
2933 wpt_uint8 ucfShortSlotTime;
2934 /* Beacon Interval */
2935 wpt_uint16 usBeaconInterval;
2936 /*Protection related */
2937 wpt_uint8 ucllaCoexist;
2938 wpt_uint8 ucllbCoexist;
2939 wpt_uint8 ucllgCoexist;
2940 wpt_uint8 ucHt20MhzCoexist;
2941 wpt_uint8 ucllnNonGFCoexist;
2942 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2943 wpt_uint8 ucfRIFSMode;
2944
2945 wpt_uint16 usChangeBitmap;
2946}WDI_UpdateBeaconParamsInfoType;
2947
Mohit Khanna4a70d262012-09-11 16:30:12 -07002948#ifdef WLAN_FEATURE_11AC
2949typedef struct
2950{
2951 wpt_uint16 opMode;
2952 wpt_uint16 staId;
2953}WDI_UpdateVHTOpMode;
2954#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002955
2956/*---------------------------------------------------------------------------
2957 WDI_UpdateBeaconParamsType
2958---------------------------------------------------------------------------*/
2959typedef struct
2960{
2961 /*Update Beacon Params Info*/
2962 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2963
2964 /*Request status callback offered by UMAC - it is called if the current
2965 req has returned PENDING as status; it delivers the status of sending
2966 the message over the BUS */
2967 WDI_ReqStatusCb wdiReqStatusCB;
2968
2969 /*The user data passed in by UMAC, it will be sent back when the above
2970 function pointer will be called */
2971 void* pUserData;
2972}WDI_UpdateBeaconParamsType;
2973
2974/*---------------------------------------------------------------------------
2975 WDI_SendBeaconParamsInfoType
2976---------------------------------------------------------------------------*/
2977
2978typedef struct {
2979
2980 /*BSSID of the BSS*/
2981 wpt_macAddr macBSSID;
2982
2983 /* Beacon data */
2984 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2985
2986 /* length of the template */
2987 wpt_uint32 beaconLength;
2988
Jeff Johnson295189b2012-06-20 16:38:30 -07002989 /* TIM IE offset from the beginning of the template.*/
2990 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002991
Jeff Johnson295189b2012-06-20 16:38:30 -07002992 /* P2P IE offset from the beginning of the template */
2993 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002994} WDI_SendBeaconParamsInfoType;
2995
2996/*---------------------------------------------------------------------------
2997 WDI_SendBeaconParamsType
2998---------------------------------------------------------------------------*/
2999typedef struct
3000{
3001 /*Send Beacon Params Info*/
3002 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3003
3004 /*Request status callback offered by UMAC - it is called if the current
3005 req has returned PENDING as status; it delivers the status of sending
3006 the message over the BUS */
3007 WDI_ReqStatusCb wdiReqStatusCB;
3008
3009 /*The user data passed in by UMAC, it will be sent back when the above
3010 function pointer will be called */
3011 void* pUserData;
3012}WDI_SendBeaconParamsType;
3013
3014/*---------------------------------------------------------------------------
3015 WDI_LinkStateType
3016---------------------------------------------------------------------------*/
3017typedef enum
3018{
3019 WDI_LINK_IDLE_STATE = 0,
3020 WDI_LINK_PREASSOC_STATE = 1,
3021 WDI_LINK_POSTASSOC_STATE = 2,
3022 WDI_LINK_AP_STATE = 3,
3023 WDI_LINK_IBSS_STATE = 4,
3024
3025 // BT-AMP Case
3026 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3027 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3028 WDI_LINK_BTAMP_AP_STATE = 7,
3029 WDI_LINK_BTAMP_STA_STATE = 8,
3030
3031 // Reserved for HAL internal use
3032 WDI_LINK_LEARN_STATE = 9,
3033 WDI_LINK_SCAN_STATE = 10,
3034 WDI_LINK_FINISH_SCAN_STATE = 11,
3035 WDI_LINK_INIT_CAL_STATE = 12,
3036 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003037 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303038 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003039 WDI_LINK_MAX = 0x7FFFFFFF
3040} WDI_LinkStateType;
3041
3042/*---------------------------------------------------------------------------
3043 WDI_SetLinkReqInfoType
3044---------------------------------------------------------------------------*/
3045typedef struct
3046{
3047 /*BSSID of the BSS*/
3048 wpt_macAddr macBSSID;
3049
3050 /*Link state*/
3051 WDI_LinkStateType wdiLinkState;
3052
3053 /*BSSID of the BSS*/
3054 wpt_macAddr macSelfStaMacAddr;
3055}WDI_SetLinkReqInfoType;
3056
3057/*---------------------------------------------------------------------------
3058 WDI_SetLinkReqParamsType
3059---------------------------------------------------------------------------*/
3060typedef struct
3061{
3062 /*Link Info*/
3063 WDI_SetLinkReqInfoType wdiLinkInfo;
3064
3065 /*Request status callback offered by UMAC - it is called if the current
3066 req has returned PENDING as status; it delivers the status of sending
3067 the message over the BUS */
3068 WDI_ReqStatusCb wdiReqStatusCB;
3069
3070 /*The user data passed in by UMAC, it will be sent back when the above
3071 function pointer will be called */
3072 void* pUserData;
3073}WDI_SetLinkReqParamsType;
3074
3075/*---------------------------------------------------------------------------
3076 WDI_GetStatsParamsInfoType
3077---------------------------------------------------------------------------*/
3078typedef struct
3079{
3080 /*Indicates the station for which Get Stats are requested..*/
3081 wpt_uint8 ucSTAIdx;
3082
3083 /* categories of stats requested */
3084 wpt_uint32 uStatsMask;
3085}WDI_GetStatsParamsInfoType;
3086
3087/*---------------------------------------------------------------------------
3088 WDI_GetStatsReqParamsType
3089---------------------------------------------------------------------------*/
3090typedef struct
3091{
3092 /*Get Stats Params Info*/
3093 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3094
3095 /*Request status callback offered by UMAC - it is called if the current
3096 req has returned PENDING as status; it delivers the status of sending
3097 the message over the BUS */
3098 WDI_ReqStatusCb wdiReqStatusCB;
3099
3100 /*The user data passed in by UMAC, it will be sent back when the above
3101 function pointer will be called */
3102 void* pUserData;
3103}WDI_GetStatsReqParamsType;
3104
3105/*---------------------------------------------------------------------------
3106 WDI_GetStatsRspParamsType
3107---------------------------------------------------------------------------*/
3108typedef struct
3109{
3110 /*message type is same as the request type*/
3111 wpt_uint16 usMsgType;
3112
3113 /* length of the entire request, includes the pStatsBuf length too*/
3114 wpt_uint16 usMsgLen;
3115
3116 /*Result of the operation*/
3117 WDI_Status wdiStatus;
3118
3119 /*Indicates the station for which Get Stats are requested..*/
3120 wpt_uint8 ucSTAIdx;
3121
3122 /* categories of stats requested */
3123 wpt_uint32 uStatsMask;
3124
3125 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3126 * structure depending on statsMask.*/
3127}WDI_GetStatsRspParamsType;
3128
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003129#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003130/*---------------------------------------------------------------------------
3131 WDI_GetRoamRssiParamsInfoType
3132---------------------------------------------------------------------------*/
3133typedef struct
3134{
3135 /*Indicates the station for which Get Stats are requested..*/
3136 wpt_uint8 ucSTAIdx;
3137
3138 /* categories of stats requested */
3139 wpt_uint32 uStatsMask;
3140}WDI_GetRoamRssiParamsInfoType;
3141
3142/*---------------------------------------------------------------------------
3143 WDI_GetRoamRssiReqParamsType
3144---------------------------------------------------------------------------*/
3145typedef struct
3146{
3147 /*Get Roam Rssi Params Info*/
3148 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3149
3150 /*Request status callback offered by UMAC - it is called if the current
3151 req has returned PENDING as status; it delivers the status of sending
3152 the message over the BUS */
3153 WDI_ReqStatusCb wdiReqStatusCB;
3154
3155 /*The user data passed in by UMAC, it will be sent back when the above
3156 function pointer will be called */
3157 void* pUserData;
3158}WDI_GetRoamRssiReqParamsType;
3159
3160/*---------------------------------------------------------------------------
3161 WDI_GetRoamRssiRspParamsType
3162---------------------------------------------------------------------------*/
3163typedef struct
3164{
3165 /*Result of the operation*/
3166 WDI_Status wdiStatus;
3167
3168 /*Indicates the station for which Get Stats are requested..*/
3169 wpt_uint8 ucSTAIdx;
3170
3171 /* roam rssi requested */
3172 wpt_int8 rssi;
3173
3174 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3175 * structure depending on statsMask.*/
3176}WDI_GetRoamRssiRspParamsType;
3177#endif
3178
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003179#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003180/*---------------------------------------------------------------------------
3181 WDI_TSMStatsParamsInfoType
3182---------------------------------------------------------------------------*/
3183typedef struct
3184{
3185 /*Indicates the station for which Get Stats are requested..*/
3186 wpt_uint8 ucTid;
3187
3188 wpt_macAddr bssid;
3189}WDI_TSMStatsParamsInfoType;
3190
3191/*---------------------------------------------------------------------------
3192 WDI_TSMStatsReqParamsType
3193---------------------------------------------------------------------------*/
3194typedef struct
3195{
3196 /*Get TSM Stats Params Info*/
3197 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3198
3199 WDI_ReqStatusCb wdiReqStatusCB;
3200
3201 /*The user data passed in by UMAC, it will be sent back when the above
3202 function pointer will be called */
3203 void* pUserData;
3204
3205}WDI_TSMStatsReqParamsType;
3206
3207
3208/*---------------------------------------------------------------------------
3209 WDI_TSMStatsRspParamsType
3210---------------------------------------------------------------------------*/
3211typedef struct
3212{
3213 /*Indicates the status of the operation */
3214 WDI_Status wdiStatus;
3215
3216 wpt_uint16 UplinkPktQueueDly;
3217 wpt_uint16 UplinkPktQueueDlyHist[4];
3218 wpt_uint32 UplinkPktTxDly;
3219 wpt_uint16 UplinkPktLoss;
3220 wpt_uint16 UplinkPktCount;
3221 wpt_uint8 RoamingCount;
3222 wpt_uint16 RoamingDly;
3223}WDI_TSMStatsRspParamsType;
3224
3225
3226#endif
3227/*---------------------------------------------------------------------------
3228 WDI_UpdateCfgReqParamsType
3229---------------------------------------------------------------------------*/
3230typedef struct
3231{
3232 /*This is a TLV formatted buffer containing all config values that can
3233 be set through the DAL Interface
3234
3235 The TLV is expected to be formatted like this:
3236
3237 0 7 15 31 ....
3238 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3239
3240 Or from a C construct point of VU it would look like this:
3241
3242 typedef struct WPT_PACK_POST
3243 {
3244 #ifdef WPT_BIG_ENDIAN
3245 wpt_uint32 ucCfgId:8;
3246 wpt_uint32 ucCfgLen:8;
3247 wpt_uint32 usReserved:16;
3248 #else
3249 wpt_uint32 usReserved:16;
3250 wpt_uint32 ucCfgLen:8;
3251 wpt_uint32 ucCfgId:8;
3252 #endif
3253
3254 wpt_uint8 ucCfgBody[ucCfgLen];
3255 }WDI_ConfigType;
3256
3257 Multiple such tuplets are to be placed in the config buffer. One for
3258 each required configuration item:
3259
3260 | TLV 1 | TLV2 | ....
3261
3262 The buffer is expected to be a flat area of memory that can be manipulated
3263 with standard memory routines.
3264
3265 For more info please check paragraph 2.3.1 Config Structure from the
3266 HAL LLD.
3267
3268 For a list of accepted configuration list and IDs please look up
3269 wlan_qct_dal_cfg.h
3270 */
3271 void* pConfigBuffer;
3272
3273 /*Length of the config buffer above*/
3274 wpt_uint32 uConfigBufferLen;
3275
3276 /*Request status callback offered by UMAC - it is called if the current
3277 req has returned PENDING as status; it delivers the status of sending
3278 the message over the BUS */
3279 WDI_ReqStatusCb wdiReqStatusCB;
3280
3281 /*The user data passed in by UMAC, it will be sent back when the above
3282 function pointer will be called */
3283 void* pUserData;
3284}WDI_UpdateCfgReqParamsType;
3285
3286/*---------------------------------------------------------------------------
3287 WDI_UpdateProbeRspTemplateInfoType
3288---------------------------------------------------------------------------*/
3289//Default Beacon template size
3290#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3291
3292#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3293
3294typedef struct
3295{
3296 /*BSSID for which the Probe Template is to be used*/
3297 wpt_macAddr macBSSID;
3298
3299 /*Probe response template*/
3300 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3301
3302 /*Template Len*/
3303 wpt_uint32 uProbeRespTemplateLen;
3304
3305 /*Bitmap for the IEs that are to be handled at SLM level*/
3306 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3307
3308}WDI_UpdateProbeRspTemplateInfoType;
3309
3310/*---------------------------------------------------------------------------
3311 WDI_UpdateProbeRspParamsType
3312---------------------------------------------------------------------------*/
3313typedef struct
3314{
3315 /*Link Info*/
3316 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3317
3318 /*Request status callback offered by UMAC - it is called if the current
3319 req has returned PENDING as status; it delivers the status of sending
3320 the message over the BUS */
3321 WDI_ReqStatusCb wdiReqStatusCB;
3322
3323 /*The user data passed in by UMAC, it will be sent back when the above
3324 function pointer will be called */
3325 void* pUserData;
3326}WDI_UpdateProbeRspTemplateParamsType;
3327
3328/*---------------------------------------------------------------------------
3329 WDI_NvDownloadReqBlobInfo
3330---------------------------------------------------------------------------*/
3331
3332typedef struct
3333{
3334 /* Blob starting address*/
3335 void *pBlobAddress;
3336
3337 /* Blob size */
3338 wpt_uint32 uBlobSize;
3339
3340}WDI_NvDownloadReqBlobInfo;
3341
3342/*---------------------------------------------------------------------------
3343 WDI_NvDownloadReqParamsType
3344---------------------------------------------------------------------------*/
3345typedef struct
3346{
3347 /*NV Blob Info*/
3348 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3349
3350 /*Request status callback offered by UMAC - it is called if the current
3351 req has returned PENDING as status; it delivers the status of sending
3352 the message over the BUS */
3353 WDI_ReqStatusCb wdiReqStatusCB;
3354
3355 /*The user data passed in by UMAC, it will be sent back when the above
3356 function pointer will be called */
3357 void* pUserData;
3358
3359}WDI_NvDownloadReqParamsType;
3360
3361/*---------------------------------------------------------------------------
3362 WDI_NvDownloadRspInfoType
3363---------------------------------------------------------------------------*/
3364typedef struct
3365{
3366 /*Status of the response*/
3367 WDI_Status wdiStatus;
3368
3369}WDI_NvDownloadRspInfoType;
3370
3371/*---------------------------------------------------------------------------
3372 WDI_SetMaxTxPowerInfoType
3373---------------------------------------------------------------------------*/
3374
3375typedef struct
3376{
3377 /*BSSID is needed to identify which session issued this request. As the request has
3378 power constraints, this should be applied only to that session*/
3379 wpt_macAddr macBSSId;
3380
3381
3382 wpt_macAddr macSelfStaMacAddr;
3383
3384 /* In request power == MaxTxpower to be used.*/
3385 wpt_int8 ucPower;
3386
3387}WDI_SetMaxTxPowerInfoType;
3388
3389/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003390 WDI_SetTxPowerInfoType
3391---------------------------------------------------------------------------*/
3392
3393typedef struct
3394{
3395 wpt_uint8 bssIdx;
3396 /* In request power == MaxTxpower to be used.*/
3397 wpt_uint8 ucPower;
3398
3399}WDI_SetTxPowerInfoType;
3400
3401/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003402 WDI_SetMaxTxPowerParamsType
3403---------------------------------------------------------------------------*/
3404typedef struct
3405{
3406 /*Link Info*/
3407 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3408
3409 /*Request status callback offered by UMAC - it is called if the current
3410 req has returned PENDING as status; it delivers the status of sending
3411 the message over the BUS */
3412 WDI_ReqStatusCb wdiReqStatusCB;
3413
3414 /*The user data passed in by UMAC, it will be sent back when the above
3415 function pointer will be called */
3416 void* pUserData;
3417}WDI_SetMaxTxPowerParamsType;
3418
schang86c22c42013-03-13 18:41:24 -07003419/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003420 WDI_Band
3421---------------------------------------------------------------------------*/
3422typedef enum
3423{
3424 WDI_BAND_ALL,
3425 WDI_BAND_24,
3426 WDI_BAND_5G,
3427 WDI_BAND_MAX,
3428}eWDIBand;
3429
3430/*---------------------------------------------------------------------------
3431 WDI_MaxTxPowerPerBandInfoType
3432---------------------------------------------------------------------------*/
3433typedef struct
3434{
3435 eWDIBand bandInfo;
3436 /* In request power == MaxTxpower to be used.*/
3437 wpt_uint8 ucPower;
3438}WDI_MaxTxPowerPerBandInfoType;
3439
3440/*---------------------------------------------------------------------------
3441 WDI_SetMaxTxPowerPerBandParamsType
3442---------------------------------------------------------------------------*/
3443typedef struct
3444{
3445 /*Link Info*/
3446 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3447
3448 /*Request status callback offered by UMAC - it is called if the current
3449 req has returned PENDING as status; it delivers the status of sending
3450 the message over the BUS */
3451 WDI_ReqStatusCb wdiReqStatusCB;
3452
3453 /*The user data passed in by UMAC, it will be sent back when the above
3454 function pointer will be called */
3455 void* pUserData;
3456}WDI_SetMaxTxPowerPerBandParamsType;
3457
3458/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003459 WDI_SetTxPowerParamsType
3460---------------------------------------------------------------------------*/
3461typedef struct
3462{
3463 /*Link Info*/
3464 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3465
3466 /*Request status callback offered by UMAC - it is called if the current
3467 req has returned PENDING as status; it delivers the status of sending
3468 the message over the BUS */
3469 WDI_ReqStatusCb wdiReqStatusCB;
3470
3471 /*The user data passed in by UMAC, it will be sent back when the above
3472 function pointer will be called */
3473 void* pUserData;
3474}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003475
3476/*---------------------------------------------------------------------------
3477 WDI_SetMaxTxPowerRspMsg
3478---------------------------------------------------------------------------*/
3479
3480typedef struct
3481{
3482 /* In response, power==tx power used for management frames*/
3483 wpt_int8 ucPower;
3484
3485 /*Result of the operation*/
3486 WDI_Status wdiStatus;
3487
3488}WDI_SetMaxTxPowerRspMsg;
3489
schang86c22c42013-03-13 18:41:24 -07003490/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003491 WDI_SetMaxTxPowerPerBandRspMsg
3492---------------------------------------------------------------------------*/
3493typedef struct
3494{
3495 /* In response, power==tx power used for management frames*/
3496 wpt_int8 ucPower;
3497
3498 /*Result of the operation*/
3499 WDI_Status wdiStatus;
3500
3501}WDI_SetMaxTxPowerPerBandRspMsg;
3502
3503/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003504 WDI_SetTxPowerRspMsg
3505---------------------------------------------------------------------------*/
3506
3507typedef struct
3508{
3509 /* In response, power==tx power used for management frames*/
3510 wpt_int8 ucPower;
3511
3512 /*Result of the operation*/
3513 WDI_Status wdiStatus;
3514
3515}WDI_SetTxPowerRspMsg;
3516
Jeff Johnson295189b2012-06-20 16:38:30 -07003517typedef struct
3518{
3519 wpt_uint8 ucOpp_ps;
3520 wpt_uint32 uCtWindow;
3521 wpt_uint8 ucCount;
3522 wpt_uint32 uDuration;
3523 wpt_uint32 uInterval;
3524 wpt_uint32 uSingle_noa_duration;
3525 wpt_uint8 ucPsSelection;
3526}WDI_SetP2PGONOAReqInfoType;
3527
3528/*---------------------------------------------------------------------------
3529 WDI_SetP2PGONOAReqParamsType
3530---------------------------------------------------------------------------*/
3531typedef struct
3532{
3533 /*P2P GO NOA Req*/
3534 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3535
3536 /*Request status callback offered by UMAC - it is called if the current
3537 req has returned PENDING as status; it delivers the status of sending
3538 the message over the BUS */
3539 WDI_ReqStatusCb wdiReqStatusCB;
3540
3541 /*The user data passed in by UMAC, it will be sent back when the above
3542 function pointer will be called */
3543 void* pUserData;
3544}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003545
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303546#define WDI_MAX_SUPP_CHANNELS 128
3547#define WDI_MAX_SUPP_OPER_CLASSES 32
3548
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303549typedef struct
3550{
3551 wpt_uint16 uStaIdx;
3552 wpt_uint8 uIsResponder;
3553 wpt_uint8 uUapsdQueues;
3554 wpt_uint8 uMaxSp;
3555 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303556 wpt_uint8 uIsOffChannelSupported;
3557 wpt_uint8 peerCurrOperClass;
3558 wpt_uint8 selfCurrOperClass;
3559 wpt_uint8 validChannelsLen;
3560 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3561 wpt_uint8 validOperClassesLen;
3562 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303563}WDI_SetTDLSLinkEstablishReqInfoType;
3564/*---------------------------------------------------------------------------
3565 WDI_SetTDLSLinkEstablishReqParamsType
3566---------------------------------------------------------------------------*/
3567typedef struct
3568{
3569 /*TDLS Link Establish Req*/
3570 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3571
3572 /*Request status callback offered by UMAC - it is called if the current
3573 req has returned PENDING as status; it delivers the status of sending
3574 the message over the BUS */
3575 WDI_ReqStatusCb wdiReqStatusCB;
3576
3577 /*The user data passed in by UMAC, it will be sent back when the above
3578 function pointer will be called */
3579 void* pUserData;
3580}WDI_SetTDLSLinkEstablishReqParamsType;
3581
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303582typedef struct
3583{
3584 /*Result of the operation*/
3585 WDI_Status wdiStatus;
3586
3587 /*STA Idx*/
3588 wpt_uint16 uStaIdx;
3589}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003590
Atul Mittalc0f739f2014-07-31 13:47:47 +05303591
3592
3593typedef struct
3594{
3595 /*STA Index*/
3596 wpt_uint8 staIdx;
3597 /* if this is 1, self is initiator otherwise responder only*/
3598 wpt_uint8 isOffchannelInitiator;
3599 /*TDLS off channel related params */
3600 wpt_uint8 targetOperClass;
3601 wpt_uint8 targetChannel;
3602 wpt_uint8 secondaryChannelOffset;
3603 wpt_uint8 reserved[64];
3604}WDI_SetTDLSChanSwitchReqInfoType;
3605
3606typedef struct
3607{
3608 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3609 WDI_ReqStatusCb wdiReqStatusCB;
3610 void* pUserData;
3611}WDI_SetTDLSChanSwitchReqParamsType;
3612
3613
3614typedef struct
3615{
3616 /*Result of the operation*/
3617 WDI_Status wdiStatus;
3618
3619 /*STA Idx*/
3620 wpt_uint16 uStaIdx;
3621}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003622/*---------------------------------------------------------------------------
3623 WDI_SetAddSTASelfParamsType
3624---------------------------------------------------------------------------*/
3625typedef struct
3626{
3627 /*Self Station MAC address*/
3628 wpt_macAddr selfMacAddr;
3629
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003630 /*Self STA device mode*/
3631 wpt_uint32 currDeviceMode;
3632
Jeff Johnson295189b2012-06-20 16:38:30 -07003633 /*Status of the operation*/
3634 wpt_uint32 uStatus;
3635}WDI_AddSTASelfInfoType;
3636
3637/*---------------------------------------------------------------------------
3638 WDI_SetAddSTASelfParamsType
3639---------------------------------------------------------------------------*/
3640typedef struct
3641{
3642 /* Add Sta Self Req */
3643 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3644
3645 /*Request status callback offered by UMAC - it is called if the current
3646 req has returned PENDING as status; it delivers the status of sending
3647 the message over the BUS */
3648 WDI_ReqStatusCb wdiReqStatusCB;
3649
3650 /*The user data passed in by UMAC, it will be sent back when the above
3651 function pointer will be called */
3652 void* pUserData;
3653}WDI_AddSTASelfReqParamsType;
3654
3655
3656/*---------------------------------------------------------------------------
3657 WDI_AddSTASelfRspParamsType
3658---------------------------------------------------------------------------*/
3659typedef struct
3660{
3661 /*Status of the response*/
3662 WDI_Status wdiStatus;
3663
3664 /*STA Idx allocated by HAL*/
3665 wpt_uint8 ucSTASelfIdx;
3666
3667 /* DPU Index (IGTK, PTK, GTK all same) */
3668 wpt_uint8 dpuIdx;
3669
3670 /* DPU Signature */
3671 wpt_uint8 dpuSignature;
3672
3673 /*Self STA Mac*/
3674 wpt_macAddr macSelfSta;
3675
3676}WDI_AddSTASelfRspParamsType;
3677
3678/*---------------------------------------------------------------------------
3679 WDI_DelSTASelfReqParamsType
3680 Del Sta Self info passed to WDI form WDA
3681---------------------------------------------------------------------------*/
3682typedef struct
3683{
3684 wpt_macAddr selfMacAddr;
3685
3686}WDI_DelSTASelfInfoType;
3687
3688/*---------------------------------------------------------------------------
3689 WDI_DelSTASelfReqParamsType
3690 Del Sta Self info passed to WDI form WDA
3691---------------------------------------------------------------------------*/
3692typedef struct
3693{
3694 /*Del Sta Self Info Type */
3695 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3696 /*Request status callback offered by UMAC - it is called if the current req
3697 has returned PENDING as status; it delivers the status of sending the message
3698 over the BUS */
3699 WDI_ReqStatusCb wdiReqStatusCB;
3700 /*The user data passed in by UMAC, it will be sent back when the above
3701 function pointer will be called */
3702 void* pUserData;
3703}WDI_DelSTASelfReqParamsType;
3704
3705/*---------------------------------------------------------------------------
3706 WDI_DelSTASelfRspParamsType
3707---------------------------------------------------------------------------*/
3708typedef struct
3709{
3710 /*Status of the response*/
3711 WDI_Status wdiStatus;
3712
3713 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3714// wpt_uint8 ucSTAIdx;
3715}WDI_DelSTASelfRspParamsType;
3716
3717/*---------------------------------------------------------------------------
3718 WDI_UapsdInfoType
3719 UAPSD parameters passed per AC to WDA from UMAC
3720---------------------------------------------------------------------------*/
3721typedef struct
3722{
3723 wpt_uint8 ucSTAIdx; // STA index
3724 wpt_uint8 ucAc; // Access Category
3725 wpt_uint8 ucUp; // User Priority
3726 wpt_uint32 uSrvInterval; // Service Interval
3727 wpt_uint32 uSusInterval; // Suspend Interval
3728 wpt_uint32 uDelayInterval; // Delay Interval
3729} WDI_UapsdInfoType;
3730
3731/*---------------------------------------------------------------------------
3732 WDI_SetUapsdAcParamsReqParamsType
3733 UAPSD parameters passed per AC to WDI from WDA
3734---------------------------------------------------------------------------*/
3735typedef struct
3736{
3737 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3738 WDI_UapsdInfoType wdiUapsdInfo;
3739 /*Request status callback offered by UMAC - it is called if the current req
3740 has returned PENDING as status; it delivers the status of sending the message
3741 over the BUS */
3742 WDI_ReqStatusCb wdiReqStatusCB;
3743 /*The user data passed in by UMAC, it will be sent back when the above
3744 function pointer will be called */
3745 void* pUserData;
3746}WDI_SetUapsdAcParamsReqParamsType;
3747
3748/*---------------------------------------------------------------------------
3749 WDI_EnterBmpsReqinfoType
3750 Enter BMPS parameters passed to WDA from UMAC
3751---------------------------------------------------------------------------*/
3752typedef struct
3753{
3754 //TBTT value derived from the last beacon
3755 wpt_uint8 ucBssIdx;
3756 wpt_uint64 uTbtt;
3757 wpt_uint8 ucDtimCount;
3758 //DTIM period given to HAL during association may not be valid,
3759 //if association is based on ProbeRsp instead of beacon.
3760 wpt_uint8 ucDtimPeriod;
3761 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3762 DXE when DXE wakes up from power save*/
3763 unsigned int dxePhyAddr;
3764
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003765 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003766 wpt_uint32 rssiFilterPeriod;
3767 wpt_uint32 numBeaconPerRssiAverage;
3768 wpt_uint8 bRssiFilterEnable;
3769}WDI_EnterBmpsReqinfoType;
3770
3771/*---------------------------------------------------------------------------
3772 WDI_EnterBmpsReqParamsType
3773 Enter BMPS parameters passed to WDI from WDA
3774---------------------------------------------------------------------------*/
3775typedef struct
3776{
3777 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3778 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3779 /*Request status callback offered by UMAC - it is called if the current req
3780 has returned PENDING as status; it delivers the status of sending the message
3781 over the BUS */
3782 WDI_ReqStatusCb wdiReqStatusCB;
3783 /*The user data passed in by UMAC, it will be sent back when the above
3784 function pointer will be called */
3785 void* pUserData;
3786}WDI_EnterBmpsReqParamsType;
3787
3788/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303789 WDI_EnterImpsReqParamsType
3790 Enter IMPS parameters passed to WDI from WDA
3791---------------------------------------------------------------------------*/
3792typedef struct
3793{
3794 /*Request status callback offered by UMAC - it is called if the current req
3795 has returned PENDING as status; it delivers the status of sending the message
3796 over the BUS */
3797 WDI_ReqStatusCb wdiReqStatusCB;
3798 /*The user data passed in by UMAC, it will be sent back when the above
3799 function pointer will be called */
3800 void* pUserData;
3801}WDI_EnterImpsReqParamsType;
3802
3803/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003804 WDI_EnterBmpsReqParamsType
3805 Enter BMPS parameters passed from WDI to WDA
3806---------------------------------------------------------------------------*/
3807typedef struct
3808{
3809 /*Status of the response*/
3810 WDI_Status wdiStatus;
3811
3812 /*BssIDX of the session*/
3813 wpt_uint8 bssIdx;
3814}WDI_EnterBmpsRspParamsType;
3815
3816/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003817 WDI_ExitBmpsReqinfoType
3818 Exit BMPS parameters passed to WDA from UMAC
3819---------------------------------------------------------------------------*/
3820typedef struct
3821{
3822 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003823 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003824}WDI_ExitBmpsReqinfoType;
3825
3826/*---------------------------------------------------------------------------
3827 WDI_ExitBmpsReqParamsType
3828 Exit BMPS parameters passed to WDI from WDA
3829---------------------------------------------------------------------------*/
3830typedef struct
3831{
3832 /*Exit BMPS Info Type, same as tExitBmpsParams */
3833 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3834 /*Request status callback offered by UMAC - it is called if the current req
3835 has returned PENDING as status; it delivers the status of sending the message
3836 over the BUS */
3837 WDI_ReqStatusCb wdiReqStatusCB;
3838 /*The user data passed in by UMAC, it will be sent back when the above
3839 function pointer will be called */
3840 void* pUserData;
3841}WDI_ExitBmpsReqParamsType;
3842
3843/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003844 WDI_ExitBmpsReqParamsType
3845 Exit BMPS parameters passed from WDI to WDA
3846---------------------------------------------------------------------------*/
3847typedef struct
3848{
3849 /*Status of the response*/
3850 WDI_Status wdiStatus;
3851
3852 /*BssIDX of the session*/
3853 wpt_uint8 bssIdx;
3854}WDI_ExitBmpsRspParamsType;
3855
3856/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003857 WDI_EnterUapsdReqinfoType
3858 Enter UAPSD parameters passed to WDA from UMAC
3859---------------------------------------------------------------------------*/
3860typedef struct
3861{
3862 wpt_uint8 ucBkDeliveryEnabled:1;
3863 wpt_uint8 ucBeDeliveryEnabled:1;
3864 wpt_uint8 ucViDeliveryEnabled:1;
3865 wpt_uint8 ucVoDeliveryEnabled:1;
3866 wpt_uint8 ucBkTriggerEnabled:1;
3867 wpt_uint8 ucBeTriggerEnabled:1;
3868 wpt_uint8 ucViTriggerEnabled:1;
3869 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003870 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003871}WDI_EnterUapsdReqinfoType;
3872
3873/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003874 WDI_EnterUapsdRspParamsType
3875 Enter UAPSD parameters passed from WDI to WDA
3876---------------------------------------------------------------------------*/
3877typedef struct
3878{
3879 /*Status of the response*/
3880 WDI_Status wdiStatus;
3881
3882 /*BssIDX of the session*/
3883 wpt_uint8 bssIdx;
3884}WDI_EnterUapsdRspParamsType;
3885
3886/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003887 WDI_EnterUapsdReqinfoType
3888 Enter UAPSD parameters passed to WDI from WDA
3889---------------------------------------------------------------------------*/
3890typedef struct
3891{
3892 /*Enter UAPSD Info Type, same as tUapsdParams */
3893 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3894 /*Request status callback offered by UMAC - it is called if the current req
3895 has returned PENDING as status; it delivers the status of sending the message
3896 over the BUS */
3897 WDI_ReqStatusCb wdiReqStatusCB;
3898 /*The user data passed in by UMAC, it will be sent back when the above
3899 function pointer will be called */
3900 void* pUserData;
3901}WDI_EnterUapsdReqParamsType;
3902
3903/*---------------------------------------------------------------------------
3904 WDI_UpdateUapsdReqinfoType
3905 Update UAPSD parameters passed to WDA from UMAC
3906---------------------------------------------------------------------------*/
3907typedef struct
3908{
3909 wpt_uint8 ucSTAIdx;
3910 wpt_uint8 ucUapsdACMask;
3911 wpt_uint32 uMaxSpLen;
3912}WDI_UpdateUapsdReqinfoType;
3913
3914/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003915 WDI_ExitUapsdReqinfoType
3916 Exit UAPSD parameters passed to WDA from UMAC
3917---------------------------------------------------------------------------*/
3918typedef struct
3919{
3920 wpt_uint8 bssIdx;
3921}WDI_ExitUapsdReqinfoType;
3922
3923/*---------------------------------------------------------------------------
3924 WDI_ExitUapsdReqParamsType
3925 Exit UAPSD parameters passed to WDI from WDA
3926---------------------------------------------------------------------------*/
3927typedef struct
3928{
3929 /*Exit UAPSD Info Type, same as tUapsdParams */
3930 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3931 /*Request status callback offered by UMAC - it is called if the current req
3932 has returned PENDING as status; it delivers the status of sending the message
3933 over the BUS */
3934 WDI_ReqStatusCb wdiReqStatusCB;
3935 /*The user data passed in by UMAC, it will be sent back when the above
3936 function pointer will be called */
3937 void* pUserData;
3938}WDI_ExitUapsdReqParamsType;
3939
3940/*---------------------------------------------------------------------------
3941 WDI_ExitUapsdRspParamsType
3942 Exit UAPSD parameters passed from WDI to WDA
3943---------------------------------------------------------------------------*/
3944typedef struct
3945{
3946 /*Status of the response*/
3947 WDI_Status wdiStatus;
3948
3949 /*BssIDX of the session*/
3950 wpt_uint8 bssIdx;
3951}WDI_ExitUapsdRspParamsType;
3952
3953/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003954 WDI_UpdateUapsdReqParamsType
3955 Update UAPSD parameters passed to WDI form WDA
3956---------------------------------------------------------------------------*/
3957typedef struct
3958{
3959 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3960 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3961 /*Request status callback offered by UMAC - it is called if the current req
3962 has returned PENDING as status; it delivers the status of sending the message
3963 over the BUS */
3964 WDI_ReqStatusCb wdiReqStatusCB;
3965 /*The user data passed in by UMAC, it will be sent back when the above
3966 function pointer will be called */
3967 void* pUserData;
3968}WDI_UpdateUapsdReqParamsType;
3969
3970/*---------------------------------------------------------------------------
3971 WDI_ConfigureRxpFilterReqParamsType
3972 RXP filter parameters passed to WDI form WDA
3973---------------------------------------------------------------------------*/
3974typedef struct
3975{
3976 /* Mode of Mcast and Bcast filters configured */
3977 wpt_uint8 ucSetMcstBcstFilterSetting;
3978
3979 /* Mcast Bcast Filters enable/disable*/
3980 wpt_uint8 ucSetMcstBcstFilter;
3981}WDI_RxpFilterReqParamsType;
3982
3983typedef struct
3984{
3985 /* Rxp Filter */
3986 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3987
3988 /*Request status callback offered by UMAC - it is called if the current req
3989 has returned PENDING as status; it delivers the status of sending the message
3990 over the BUS */
3991 WDI_ReqStatusCb wdiReqStatusCB;
3992 /*The user data passed in by UMAC, it will be sent back when the above
3993 function pointer will be called */
3994 void* pUserData;
3995}WDI_ConfigureRxpFilterReqParamsType;
3996
3997/*---------------------------------------------------------------------------
3998 WDI_BeaconFilterInfoType
3999 Beacon Filtering data structures passed to WDA form UMAC
4000---------------------------------------------------------------------------*/
4001typedef struct
4002{
4003 wpt_uint16 usCapabilityInfo;
4004 wpt_uint16 usCapabilityMask;
4005 wpt_uint16 usBeaconInterval;
4006 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004007 wpt_uint8 bssIdx;
4008 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004009}WDI_BeaconFilterInfoType;
4010
4011/*---------------------------------------------------------------------------
4012 WDI_BeaconFilterReqParamsType
4013 Beacon Filtering parameters passed to WDI form WDA
4014---------------------------------------------------------------------------*/
4015typedef struct
4016{
4017 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4018 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4019 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4020 copy of params from WDA to WDI */
4021 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4022 /*Request status callback offered by UMAC - it is called if the current req
4023 has returned PENDING as status; it delivers the status of sending the message
4024 over the BUS */
4025 WDI_ReqStatusCb wdiReqStatusCB;
4026 /*The user data passed in by UMAC, it will be sent back when the above
4027 function pointer will be called */
4028 void* pUserData;
4029}WDI_BeaconFilterReqParamsType;
4030
4031/*---------------------------------------------------------------------------
4032 WDI_RemBeaconFilterInfoType
4033 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4034---------------------------------------------------------------------------*/
4035typedef struct
4036{
4037 wpt_uint8 ucIeCount;
4038 wpt_uint8 ucRemIeId[1];
4039}WDI_RemBeaconFilterInfoType;
4040
4041/*---------------------------------------------------------------------------
4042 WDI_RemBeaconFilterReqParamsType
4043 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4044---------------------------------------------------------------------------*/
4045typedef struct
4046{
4047 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4048 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4049 /*Request status callback offered by UMAC - it is called if the current req
4050 has returned PENDING as status; it delivers the status of sending the message
4051 over the BUS */
4052 WDI_ReqStatusCb wdiReqStatusCB;
4053 /*The user data passed in by UMAC, it will be sent back when the above
4054 function pointer will be called */
4055 void* pUserData;
4056}WDI_RemBeaconFilterReqParamsType;
4057
4058/*---------------------------------------------------------------------------
4059 WDI_RSSIThresholdsType
4060 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4061---------------------------------------------------------------------------*/
4062typedef struct
4063{
4064 wpt_int8 ucRssiThreshold1 : 8;
4065 wpt_int8 ucRssiThreshold2 : 8;
4066 wpt_int8 ucRssiThreshold3 : 8;
4067 wpt_uint8 bRssiThres1PosNotify : 1;
4068 wpt_uint8 bRssiThres1NegNotify : 1;
4069 wpt_uint8 bRssiThres2PosNotify : 1;
4070 wpt_uint8 bRssiThres2NegNotify : 1;
4071 wpt_uint8 bRssiThres3PosNotify : 1;
4072 wpt_uint8 bRssiThres3NegNotify : 1;
4073 wpt_uint8 bReserved10 : 2;
4074} WDI_RSSIThresholdsType;
4075
4076/*---------------------------------------------------------------------------
4077 WDI_SetRSSIThresholdsReqParamsType
4078 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4079---------------------------------------------------------------------------*/
4080typedef struct
4081{
4082 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4083 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4084 /*Request status callback offered by UMAC - it is called if the current req
4085 has returned PENDING as status; it delivers the status of sending the message
4086 over the BUS */
4087 WDI_ReqStatusCb wdiReqStatusCB;
4088 /*The user data passed in by UMAC, it will be sent back when the above
4089 function pointer will be called */
4090 void* pUserData;
4091}WDI_SetRSSIThresholdsReqParamsType;
4092
4093/*---------------------------------------------------------------------------
4094 WDI_HostOffloadReqType
4095 host offload info passed to WDA form UMAC
4096---------------------------------------------------------------------------*/
4097#ifdef WLAN_NS_OFFLOAD
4098typedef struct
4099{
4100 wpt_uint8 srcIPv6Addr[16];
4101 wpt_uint8 selfIPv6Addr[16];
4102 //Only support 2 possible Network Advertisement IPv6 address
4103 wpt_uint8 targetIPv6Addr1[16];
4104 wpt_uint8 targetIPv6Addr2[16];
4105 wpt_uint8 selfMacAddr[6];
4106 wpt_uint8 srcIPv6AddrValid : 1;
4107 wpt_uint8 targetIPv6Addr1Valid : 1;
4108 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304109 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004110} WDI_NSOffloadParams;
4111#endif //WLAN_NS_OFFLOAD
4112
4113typedef struct
4114{
4115 wpt_uint8 ucOffloadType;
4116 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004117 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004118 union
4119 {
4120 wpt_uint8 aHostIpv4Addr [4];
4121 wpt_uint8 aHostIpv6Addr [16];
4122 } params;
4123} WDI_HostOffloadReqType;
4124
4125/*---------------------------------------------------------------------------
4126 WDI_HostOffloadReqParamsType
4127 host offload info passed to WDI form WDA
4128---------------------------------------------------------------------------*/
4129typedef struct
4130{
4131 /*Host offload Info Type, same as tHalHostOffloadReq */
4132 WDI_HostOffloadReqType wdiHostOffloadInfo;
4133#ifdef WLAN_NS_OFFLOAD
4134 WDI_NSOffloadParams wdiNsOffloadParams;
4135#endif //WLAN_NS_OFFLOAD
4136 /*Request status callback offered by UMAC - it is called if the current req
4137 has returned PENDING as status; it delivers the status of sending the message
4138 over the BUS */
4139 WDI_ReqStatusCb wdiReqStatusCB;
4140 /*The user data passed in by UMAC, it will be sent back when the above
4141 function pointer will be called */
4142 void* pUserData;
4143}WDI_HostOffloadReqParamsType;
4144
4145/*---------------------------------------------------------------------------
4146 WDI_KeepAliveReqType
4147 Keep Alive info passed to WDA form UMAC
4148---------------------------------------------------------------------------*/
4149typedef struct
4150{
4151 wpt_uint8 ucPacketType;
4152 wpt_uint32 ucTimePeriod;
4153 wpt_uint8 aHostIpv4Addr[4];
4154 wpt_uint8 aDestIpv4Addr[4];
4155 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004156 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004157} WDI_KeepAliveReqType;
4158
4159/*---------------------------------------------------------------------------
4160 WDI_KeepAliveReqParamsType
4161 Keep Alive passed to WDI form WDA
4162---------------------------------------------------------------------------*/
4163typedef struct
4164{
4165 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4166 WDI_KeepAliveReqType wdiKeepAliveInfo;
4167 /*Request status callback offered by UMAC - it is called if the current req
4168 has returned PENDING as status; it delivers the status of sending the message
4169 over the BUS */
4170 WDI_ReqStatusCb wdiReqStatusCB;
4171 /*The user data passed in by UMAC, it will be sent back when the above
4172 function pointer will be called */
4173 void* pUserData;
4174}WDI_KeepAliveReqParamsType;
4175
4176/*---------------------------------------------------------------------------
4177 WDI_WowlAddBcPtrnInfoType
4178 Wowl add ptrn info passed to WDA form UMAC
4179---------------------------------------------------------------------------*/
4180typedef struct
4181{
4182 wpt_uint8 ucPatternId; // Pattern ID
4183 // Pattern byte offset from beginning of the 802.11 packet to start of the
4184 // wake-up pattern
4185 wpt_uint8 ucPatternByteOffset;
4186 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4187 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4188 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4189 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4190 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4191 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004192 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004193} WDI_WowlAddBcPtrnInfoType;
4194
4195/*---------------------------------------------------------------------------
4196 WDI_WowlAddBcPtrnReqParamsType
4197 Wowl add ptrn info passed to WDI form WDA
4198---------------------------------------------------------------------------*/
4199typedef struct
4200{
4201 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4202 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4203 /*Request status callback offered by UMAC - it is called if the current req
4204 has returned PENDING as status; it delivers the status of sending the message
4205 over the BUS */
4206 WDI_ReqStatusCb wdiReqStatusCB;
4207 /*The user data passed in by UMAC, it will be sent back when the above
4208 function pointer will be called */
4209 void* pUserData;
4210}WDI_WowlAddBcPtrnReqParamsType;
4211
4212/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004213 WDI_WowlAddBcPtrnRspParamsType
4214 Wowl add ptrn info passed from WDI to WDA
4215---------------------------------------------------------------------------*/
4216typedef struct
4217{
4218 /*Status of the response*/
4219 WDI_Status wdiStatus;
4220 /*BssIDX of the session*/
4221 wpt_uint8 bssIdx;
4222}WDI_WowlAddBcPtrnRspParamsType;
4223
4224/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004225 WDI_WowlDelBcPtrnInfoType
4226 Wowl add ptrn info passed to WDA form UMAC
4227---------------------------------------------------------------------------*/
4228typedef struct
4229{
4230 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004231 wpt_uint8 ucPatternId;
4232 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004233} WDI_WowlDelBcPtrnInfoType;
4234
4235/*---------------------------------------------------------------------------
4236 WDI_WowlDelBcPtrnReqParamsType
4237 Wowl add ptrn info passed to WDI form WDA
4238---------------------------------------------------------------------------*/
4239typedef struct
4240{
4241 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4242 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4243 /*Request status callback offered by UMAC - it is called if the current req
4244 has returned PENDING as status; it delivers the status of sending the message
4245 over the BUS */
4246 WDI_ReqStatusCb wdiReqStatusCB;
4247 /*The user data passed in by UMAC, it will be sent back when the above
4248 function pointer will be called */
4249 void* pUserData;
4250}WDI_WowlDelBcPtrnReqParamsType;
4251
4252/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004253 WDI_WowlDelBcPtrnRspParamsType
4254 Wowl Del ptrn info passed from WDI to WDA
4255---------------------------------------------------------------------------*/
4256typedef struct
4257{
4258 /*Status of the response*/
4259 WDI_Status wdiStatus;
4260 /*BssIDX of the session*/
4261 wpt_uint8 bssIdx;
4262}WDI_WowlDelBcPtrnRspParamsType;
4263
4264/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004265 WDI_WowlEnterInfoType
4266 Wowl enter info passed to WDA form UMAC
4267---------------------------------------------------------------------------*/
4268typedef struct
4269{
4270 /* Enables/disables magic packet filtering */
4271 wpt_uint8 ucMagicPktEnable;
4272
4273 /* Magic pattern */
4274 wpt_macAddr magicPtrn;
4275
4276 /* Enables/disables packet pattern filtering in firmware.
4277 Enabling this flag enables broadcast pattern matching
4278 in Firmware. If unicast pattern matching is also desired,
4279 ucUcastPatternFilteringEnable flag must be set tot true
4280 as well
4281 */
4282 wpt_uint8 ucPatternFilteringEnable;
4283
4284 /* Enables/disables unicast packet pattern filtering.
4285 This flag specifies whether we want to do pattern match
4286 on unicast packets as well and not just broadcast packets.
4287 This flag has no effect if the ucPatternFilteringEnable
4288 (main controlling flag) is set to false
4289 */
4290 wpt_uint8 ucUcastPatternFilteringEnable;
4291
4292 /* This configuration is valid only when magicPktEnable=1.
4293 * It requests hardware to wake up when it receives the
4294 * Channel Switch Action Frame.
4295 */
4296 wpt_uint8 ucWowChnlSwitchRcv;
4297
4298 /* This configuration is valid only when magicPktEnable=1.
4299 * It requests hardware to wake up when it receives the
4300 * Deauthentication Frame.
4301 */
4302 wpt_uint8 ucWowDeauthRcv;
4303
4304 /* This configuration is valid only when magicPktEnable=1.
4305 * It requests hardware to wake up when it receives the
4306 * Disassociation Frame.
4307 */
4308 wpt_uint8 ucWowDisassocRcv;
4309
4310 /* This configuration is valid only when magicPktEnable=1.
4311 * It requests hardware to wake up when it has missed
4312 * consecutive beacons. This is a hardware register
4313 * configuration (NOT a firmware configuration).
4314 */
4315 wpt_uint8 ucWowMaxMissedBeacons;
4316
4317 /* This configuration is valid only when magicPktEnable=1.
4318 * This is a timeout value in units of microsec. It requests
4319 * hardware to unconditionally wake up after it has stayed
4320 * in WoWLAN mode for some time. Set 0 to disable this feature.
4321 */
4322 wpt_uint8 ucWowMaxSleepUsec;
4323
4324#ifdef WLAN_WAKEUP_EVENTS
4325 /* This configuration directs the WoW packet filtering to look for EAP-ID
4326 * requests embedded in EAPOL frames and use this as a wake source.
4327 */
4328 wpt_uint8 ucWoWEAPIDRequestEnable;
4329
4330 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4331 * requests and use this as a wake source.
4332 */
4333 wpt_uint8 ucWoWEAPOL4WayEnable;
4334
4335 /* This configuration allows a host wakeup on an network scan offload match.
4336 */
4337 wpt_uint8 ucWowNetScanOffloadMatch;
4338
4339 /* This configuration allows a host wakeup on any GTK rekeying error.
4340 */
4341 wpt_uint8 ucWowGTKRekeyError;
4342
4343 /* This configuration allows a host wakeup on BSS connection loss.
4344 */
4345 wpt_uint8 ucWoWBSSConnLoss;
4346#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004347
4348 /* BSSIDX used to find the current session
4349 */
4350 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004351} WDI_WowlEnterInfoType;
4352
4353/*---------------------------------------------------------------------------
4354 WDI_WowlEnterReqParamsType
4355 Wowl enter info passed to WDI form WDA
4356---------------------------------------------------------------------------*/
4357typedef struct
4358{
4359 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4360 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4361 /*Request status callback offered by UMAC - it is called if the current req
4362 has returned PENDING as status; it delivers the status of sending the message
4363 over the BUS */
4364 WDI_ReqStatusCb wdiReqStatusCB;
4365 /*The user data passed in by UMAC, it will be sent back when the above
4366 function pointer will be called */
4367 void* pUserData;
4368}WDI_WowlEnterReqParamsType;
4369
4370/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004371 WDI_WowlEnterRsqParamsType
4372 Wowl enter info passed from WDI to WDA
4373---------------------------------------------------------------------------*/
4374typedef struct
4375{
4376 /*Status of the response message*/
4377 WDI_Status status;
4378
4379 /* BSSIDX used to find the current session
4380 */
4381 wpt_uint8 bssIdx;
4382}WDI_WowlEnterRspParamsType;
4383
4384/*---------------------------------------------------------------------------
4385 WDI_WowlExitInfoType
4386 Wowl exit info passed to WDA form UMAC
4387 ---------------------------------------------------------------------------*/
4388typedef struct
4389{
4390 /* BSSIDX used to find the current session
4391 */
4392 wpt_uint8 bssIdx;
4393} WDI_WowlExitInfoType;
4394
4395/*---------------------------------------------------------------------------
4396 WDI_WowlExitReqParamsType
4397 Wowl exit info passed to WDI form WDA
4398---------------------------------------------------------------------------*/
4399typedef struct
4400{
4401 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4402 WDI_WowlExitInfoType wdiWowlExitInfo;
4403 /*Request status callback offered by UMAC - it is called if the current req
4404 has returned PENDING as status; it delivers the status of sending the message
4405 over the BUS */
4406 WDI_ReqStatusCb wdiReqStatusCB;
4407 /*The user data passed in by UMAC, it will be sent back when the above
4408 function pointer will be called */
4409 void* pUserData;
4410}WDI_WowlExitReqParamsType;
4411
4412/*---------------------------------------------------------------------------
4413 WDI_WowlExitRspParamsType
4414 Wowl exit info passed from WDI to WDA
4415---------------------------------------------------------------------------*/
4416typedef struct
4417{
4418 /*Status of the response message*/
4419 WDI_Status status;
4420
4421 /* BSSIDX used to find the current session
4422 */
4423 wpt_uint8 bssIdx;
4424}WDI_WowlExitRspParamsType;
4425
4426/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004427 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4428 Apps Cpu Wakeup State parameters passed to WDI form WDA
4429---------------------------------------------------------------------------*/
4430typedef struct
4431{
4432 /*Depicts the state of the Apps CPU */
4433 wpt_boolean bIsAppsAwake;
4434 /*Request status callback offered by UMAC - it is called if the current req
4435 has returned PENDING as status; it delivers the status of sending the message
4436 over the BUS */
4437 WDI_ReqStatusCb wdiReqStatusCB;
4438 /*The user data passed in by UMAC, it will be sent back when the above
4439 function pointer will be called */
4440 void* pUserData;
4441}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4442/*---------------------------------------------------------------------------
4443 WDI_FlushAcReqinfoType
4444---------------------------------------------------------------------------*/
4445typedef struct
4446{
4447 // Message Type
4448 wpt_uint16 usMesgType;
4449
4450 // Message Length
4451 wpt_uint16 usMesgLen;
4452
4453 // Station Index. originates from HAL
4454 wpt_uint8 ucSTAId;
4455
4456 // TID for which the transmit queue is being flushed
4457 wpt_uint8 ucTid;
4458
4459}WDI_FlushAcReqinfoType;
4460
4461/*---------------------------------------------------------------------------
4462 WDI_FlushAcReqParamsType
4463---------------------------------------------------------------------------*/
4464typedef struct
4465{
4466 /*AC Info */
4467 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4468
4469 /*Request status callback offered by UMAC - it is called if the current
4470 req has returned PENDING as status; it delivers the status of sending
4471 the message over the BUS */
4472 WDI_ReqStatusCb wdiReqStatusCB;
4473
4474 /*The user data passed in by UMAC, it will be sent back when the above
4475 function pointer will be called */
4476 void* pUserData;
4477}WDI_FlushAcReqParamsType;
4478
4479/*---------------------------------------------------------------------------
4480 WDI_BtAmpEventinfoType
4481 BT-AMP Event Structure
4482---------------------------------------------------------------------------*/
4483typedef struct
4484{
4485 wpt_uint8 ucBtAmpEventType;
4486
4487} WDI_BtAmpEventinfoType;
4488
4489/*---------------------------------------------------------------------------
4490 WDI_BtAmpEventParamsType
4491---------------------------------------------------------------------------*/
4492typedef struct
4493{
4494 /*BT AMP event Info */
4495 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4496
4497 /*Request status callback offered by UMAC - it is called if the current
4498 req has returned PENDING as status; it delivers the status of sending
4499 the message over the BUS */
4500 WDI_ReqStatusCb wdiReqStatusCB;
4501
4502 /*The user data passed in by UMAC, it will be sent back when the above
4503 function pointer will be called */
4504 void* pUserData;
4505}WDI_BtAmpEventParamsType;
4506
Jeff Johnsone7245742012-09-05 17:12:55 -07004507#ifdef FEATURE_OEM_DATA_SUPPORT
4508
4509#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004510#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004511#endif
4512#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004513#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004514#endif
4515
4516/*----------------------------------------------------------------------------
4517 WDI_oemDataReqInfoType
4518----------------------------------------------------------------------------*/
4519typedef struct
4520{
4521 wpt_macAddr selfMacAddr;
4522 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4523}WDI_oemDataReqInfoType;
4524
4525/*----------------------------------------------------------------------------
4526 WDI_oemDataReqParamsType
4527----------------------------------------------------------------------------*/
4528typedef struct
4529{
4530 /*Request status callback offered by UMAC - it is called if the current
4531 req has returned PENDING as status; it delivers the status of sending
4532 the message over the BUS */
4533 WDI_ReqStatusCb wdiReqStatusCB;
4534
4535 /*The user data passed in by UMAC, it will be sent back when the above
4536 function pointer will be called */
4537 void* pUserData;
4538
4539 /*OEM DATA REQ Info */
4540 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4541
4542}WDI_oemDataReqParamsType;
4543
4544/*----------------------------------------------------------------------------
4545 WDI_oemDataRspParamsType
4546----------------------------------------------------------------------------*/
4547typedef struct
4548{
4549 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4550}WDI_oemDataRspParamsType;
4551
4552#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004553
4554#ifdef WLAN_FEATURE_VOWIFI_11R
4555/*---------------------------------------------------------------------------
4556 WDI_AggrAddTSReqInfoType
4557---------------------------------------------------------------------------*/
4558typedef struct
4559{
4560 /*STA Index*/
4561 wpt_uint8 ucSTAIdx;
4562
4563 /*Identifier for TSpec*/
4564 wpt_uint8 ucTspecIdx;
4565
4566 /*Tspec IE negotiated OTA*/
4567 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4568
4569 /*UAPSD delivery and trigger enabled flags */
4570 wpt_uint8 ucUapsdFlags;
4571
4572 /*SI for each AC*/
4573 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4574
4575 /*Suspend Interval for each AC*/
4576 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4577
4578 /*DI for each AC*/
4579 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4580
4581}WDI_AggrAddTSReqInfoType;
4582
4583
4584/*---------------------------------------------------------------------------
4585 WDI_AggrAddTSReqParamsType
4586---------------------------------------------------------------------------*/
4587typedef struct
4588{
4589 /*TSpec Info */
4590 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4591
4592 /*Request status callback offered by UMAC - it is called if the current
4593 req has returned PENDING as status; it delivers the status of sending
4594 the message over the BUS */
4595 WDI_ReqStatusCb wdiReqStatusCB;
4596
4597 /*The user data passed in by UMAC, it will be sent back when the above
4598 function pointer will be called */
4599 void* pUserData;
4600}WDI_AggrAddTSReqParamsType;
4601
4602#endif /* WLAN_FEATURE_VOWIFI_11R */
4603
Jeff Johnson295189b2012-06-20 16:38:30 -07004604/*---------------------------------------------------------------------------
4605 WDI_FTMCommandReqType
4606---------------------------------------------------------------------------*/
4607typedef struct
4608{
4609 /* FTM Command Body length */
4610 wpt_uint32 bodyLength;
4611 /* Actual FTM Command body */
4612 void *FTMCommandBody;
4613}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004614
4615/*---------------------------------------------------------------------------
4616 WDI_WlanSuspendInfoType
4617---------------------------------------------------------------------------*/
4618typedef struct
4619{
4620 /* Mode of Mcast and Bcast filters configured */
4621 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4622}WDI_WlanSuspendInfoType;
4623
4624/*---------------------------------------------------------------------------
4625 WDI_SuspendParamsType
4626---------------------------------------------------------------------------*/
4627typedef struct
4628{
4629 WDI_WlanSuspendInfoType wdiSuspendParams;
4630
4631 /*Request status callback offered by UMAC - it is called if the current
4632 req has returned PENDING as status; it delivers the status of sending
4633 the message over the BUS */
4634 WDI_ReqStatusCb wdiReqStatusCB;
4635
4636 /*The user data passed in by UMAC, it will be sent back when the above
4637 function pointer will be called */
4638 void* pUserData;
4639
4640}WDI_SuspendParamsType;
4641
4642/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004643 WDI_TrafficStatsType - This is collected for each STA
4644---------------------------------------------------------------------------*/
4645
4646typedef struct
4647{
4648 /* TX stats */
4649 wpt_uint32 txBytesPushed;
4650 wpt_uint32 txPacketsPushed;
4651
4652 /* RX stats */
4653 wpt_uint32 rxBytesRcvd;
4654 wpt_uint32 rxPacketsRcvd;
4655 wpt_uint32 rxTimeTotal;
4656}WDI_TrafficStatsType;
4657
4658typedef struct
4659{
4660 WDI_TrafficStatsType *pTrafficStats;
4661 wpt_uint32 length;
4662 wpt_uint32 duration;
4663
4664 /*Request status callback offered by UMAC - it is called if the current
4665 req has returned PENDING as status; it delivers the status of sending
4666 the message over the BUS */
4667 WDI_ReqStatusCb wdiReqStatusCB;
4668
4669 /*The user data passed in by UMAC, it will be sent back when the above
4670 function pointer will be called */
4671 void* pUserData;
4672}WDI_TrafficStatsIndType;
4673
Chet Lanctot186b5732013-03-18 10:26:30 -07004674#ifdef WLAN_FEATURE_11W
4675typedef struct
4676{
4677
4678 wpt_boolean bExcludeUnencrypt;
4679 wpt_macAddr bssid;
4680 /*Request status callback offered by UMAC - it is called if the current
4681 req has returned PENDING as status; it delivers the status of sending
4682 the message over the BUS */
4683 WDI_ReqStatusCb wdiReqStatusCB;
4684
4685 /*The user data passed in by UMAC, it will be sent back when the above
4686 function pointer will be called */
4687 void* pUserData;
4688}WDI_ExcludeUnencryptIndType;
4689#endif
4690
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004691/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004692 WDI_WlanResumeInfoType
4693---------------------------------------------------------------------------*/
4694typedef struct
4695{
4696 /* Mode of Mcast and Bcast filters configured */
4697 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4698}WDI_WlanResumeInfoType;
4699
4700/*---------------------------------------------------------------------------
4701 WDI_ResumeParamsType
4702---------------------------------------------------------------------------*/
4703typedef struct
4704{
4705 WDI_WlanResumeInfoType wdiResumeParams;
4706
4707 /*Request status callback offered by UMAC - it is called if the current
4708 req has returned PENDING as status; it delivers the status of sending
4709 the message over the BUS */
4710 WDI_ReqStatusCb wdiReqStatusCB;
4711
4712 /*The user data passed in by UMAC, it will be sent back when the above
4713 function pointer will be called */
4714 void* pUserData;
4715
4716}WDI_ResumeParamsType;
4717
4718#ifdef WLAN_FEATURE_GTK_OFFLOAD
4719/*---------------------------------------------------------------------------
4720 * WDI_GTK_OFFLOAD_REQ
4721 *--------------------------------------------------------------------------*/
4722
4723typedef struct
4724{
4725 wpt_uint32 ulFlags; /* optional flags */
4726 wpt_uint8 aKCK[16]; /* Key confirmation key */
4727 wpt_uint8 aKEK[16]; /* key encryption key */
4728 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004729 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004730} WDI_GtkOffloadReqParams;
4731
4732typedef struct
4733{
4734 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4735
4736 /*Request status callback offered by UMAC - it is called if the current
4737 req has returned PENDING as status; it delivers the status of sending
4738 the message over the BUS */
4739 WDI_ReqStatusCb wdiReqStatusCB;
4740
4741 /*The user data passed in by UMAC, it will be sent back when the above
4742 function pointer will be called */
4743 void* pUserData;
4744} WDI_GtkOffloadReqMsg;
4745
4746/*---------------------------------------------------------------------------
4747 * WDI_GTK_OFFLOAD_RSP
4748 *--------------------------------------------------------------------------*/
4749typedef struct
4750{
4751 /* success or failure */
4752 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004753 /*BssIdx of the response */
4754 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004755} WDI_GtkOffloadRspParams;
4756
4757typedef struct
4758{
4759 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4760
4761 /*Request status callback offered by UMAC - it is called if the current
4762 req has returned PENDING as status; it delivers the status of sending
4763 the message over the BUS */
4764 WDI_ReqStatusCb wdiReqStatusCB;
4765
4766 /*The user data passed in by UMAC, it will be sent back when the above
4767 function pointer will be called */
4768 void* pUserData;
4769} WDI_GtkOffloadRspMsg;
4770
4771
4772/*---------------------------------------------------------------------------
4773* WDI_GTK_OFFLOAD_GETINFO_REQ
4774*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004775typedef struct
4776{
4777 /*BssIdx of the response */
4778 wpt_macAddr bssId;
4779} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004780
4781typedef struct
4782{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004783
4784 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004785 /*Request status callback offered by UMAC - it is called if the current
4786 req has returned PENDING as status; it delivers the status of sending
4787 the message over the BUS */
4788 WDI_ReqStatusCb wdiReqStatusCB;
4789
4790 /*The user data passed in by UMAC, it will be sent back when the above
4791 function pointer will be called */
4792 void* pUserData;
4793} WDI_GtkOffloadGetInfoReqMsg;
4794
4795/*---------------------------------------------------------------------------
4796* WDI_GTK_OFFLOAD_GETINFO_RSP
4797*--------------------------------------------------------------------------*/
4798typedef struct
4799{
4800 wpt_uint32 ulStatus; /* success or failure */
4801 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4802 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4803 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4804 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304805 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004806} WDI_GtkOffloadGetInfoRspParams;
4807
4808typedef struct
4809{
4810 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4811
4812 /*Request status callback offered by UMAC - it is called if the current
4813 req has returned PENDING as status; it delivers the status of sending
4814 the message over the BUS */
4815 WDI_ReqStatusCb wdiReqStatusCB;
4816
4817 /*The user data passed in by UMAC, it will be sent back when the above
4818 function pointer will be called */
4819 void* pUserData;
4820} WDI_GtkOffloadGetInfoRspMsg;
4821#endif // WLAN_FEATURE_GTK_OFFLOAD
4822
4823/*---------------------------------------------------------------------------
4824 WDI_SuspendResumeRspParamsType
4825---------------------------------------------------------------------------*/
4826typedef struct
4827{
4828 /*Status of the response*/
4829 WDI_Status wdiStatus;
4830}WDI_SuspendResumeRspParamsType;
4831
Leo Chang9056f462013-08-01 19:21:11 -07004832#ifdef FEATURE_WLAN_LPHB
4833/*---------------------------------------------------------------------------
4834 WDI Low Power Heart Beat Config request
4835 Copy from sirApi.h to avoid compile error
4836---------------------------------------------------------------------------*/
4837#define WDI_LPHB_FILTER_LEN 64
4838
4839typedef enum
4840{
4841 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4842 WDI_LPHB_SET_TCP_PARAMS_INDID,
4843 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4844 WDI_LPHB_SET_UDP_PARAMS_INDID,
4845 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4846 WDI_LPHB_SET_NETWORK_INFO_INDID,
4847} WDI_LPHBIndType;
4848
4849typedef struct
4850{
4851 wpt_uint8 enable;
4852 wpt_uint8 item;
4853 wpt_uint8 session;
4854} WDI_LPHBEnableStruct;
4855
4856typedef struct
4857{
4858 wpt_uint32 srv_ip;
4859 wpt_uint32 dev_ip;
4860 wpt_uint16 src_port;
4861 wpt_uint16 dst_port;
4862 wpt_uint16 timeout;
4863 wpt_uint8 session;
4864 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004865 wpt_uint16 timePeriodSec; // in seconds
4866 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004867} WDI_LPHBTcpParamStruct;
4868
4869typedef struct
4870{
4871 wpt_uint16 length;
4872 wpt_uint8 offset;
4873 wpt_uint8 session;
4874 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4875} WDI_LPHBTcpFilterStruct;
4876
4877typedef struct
4878{
4879 wpt_uint32 srv_ip;
4880 wpt_uint32 dev_ip;
4881 wpt_uint16 src_port;
4882 wpt_uint16 dst_port;
4883 wpt_uint16 interval;
4884 wpt_uint16 timeout;
4885 wpt_uint8 session;
4886 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4887} WDI_LPHBUdpParamStruct;
4888
4889typedef struct
4890{
4891 wpt_uint16 length;
4892 wpt_uint8 offset;
4893 wpt_uint8 session;
4894 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4895} WDI_LPHBUdpFilterStruct;
4896
4897typedef struct
4898{
4899 wpt_uint16 cmd;
4900 wpt_uint16 dummy;
4901 union
4902 {
4903 WDI_LPHBEnableStruct lphbEnableReq;
4904 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4905 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4906 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4907 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4908 } params;
4909} WDI_LPHBReq;
4910#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004911
Jeff Johnson295189b2012-06-20 16:38:30 -07004912/*---------------------------------------------------------------------------
4913 WDI_AuthType
4914---------------------------------------------------------------------------*/
4915typedef enum
4916{
4917 WDI_AUTH_TYPE_ANY = 0,
4918
4919 WDI_AUTH_TYPE_NONE,
4920 WDI_AUTH_TYPE_OPEN_SYSTEM,
4921 WDI_AUTH_TYPE_SHARED_KEY,
4922
4923 WDI_AUTH_TYPE_WPA,
4924 WDI_AUTH_TYPE_WPA_PSK,
4925 WDI_AUTH_TYPE_WPA_NONE,
4926
4927 WDI_AUTH_TYPE_RSN,
4928 WDI_AUTH_TYPE_RSN_PSK,
4929 WDI_AUTH_TYPE_FT_RSN,
4930 WDI_AUTH_TYPE_FT_RSN_PSK,
4931 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4932 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4933 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4934
4935}WDI_AuthType;
4936
4937/*---------------------------------------------------------------------------
4938 WDI_EdType
4939---------------------------------------------------------------------------*/
4940typedef enum
4941{
4942 WDI_ED_ANY = 0,
4943 WDI_ED_NONE,
4944 WDI_ED_WEP40,
4945 WDI_ED_WEP104,
4946 WDI_ED_TKIP,
4947 WDI_ED_CCMP,
4948 WDI_ED_WPI,
4949 WDI_ED_AES_128_CMAC,
4950 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4951} WDI_EdType;
4952
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004953#ifdef FEATURE_WLAN_SCAN_PNO
4954
4955/*Max number of channels for a given network supported by PNO*/
4956#define WDI_PNO_MAX_NETW_CHANNELS 26
4957
4958/*Max number of channels for a given network supported by PNO*/
4959#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4960
4961/*The max number of programable networks for PNO*/
4962#define WDI_PNO_MAX_SUPP_NETWORKS 16
4963
4964/*The max number of scan timers programable in Riva*/
4965#define WDI_PNO_MAX_SCAN_TIMERS 10
4966
4967#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07004968
4969/*---------------------------------------------------------------------------
4970 WDI_PNOMode
4971---------------------------------------------------------------------------*/
4972typedef enum
4973{
4974 /*Network offload is to start immediately*/
4975 WDI_PNO_MODE_IMMEDIATE,
4976
4977 /*Network offload is to start on host suspend*/
4978 WDI_PNO_MODE_ON_SUSPEND,
4979
4980 /*Network offload is to start on host resume*/
4981 WDI_PNO_MODE_ON_RESUME,
4982 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4983} WDI_PNOMode;
4984
4985/* SSID broadcast type */
4986typedef enum
4987{
4988 WDI_BCAST_UNKNOWN = 0,
4989 WDI_BCAST_NORMAL = 1,
4990 WDI_BCAST_HIDDEN = 2,
4991
4992 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4993} WDI_SSIDBcastType;
4994
4995/*---------------------------------------------------------------------------
4996 WDI_NetworkType
4997---------------------------------------------------------------------------*/
4998typedef struct
4999{
5000 /*The SSID of the preferred network*/
5001 WDI_MacSSid ssId;
5002
5003 /*The authentication method of the preferred network*/
5004 WDI_AuthType wdiAuth;
5005
5006 /*The encryption method of the preferred network*/
5007 WDI_EdType wdiEncryption;
5008
5009 /*SSID broadcast type, normal, hidden or unknown*/
5010 WDI_SSIDBcastType wdiBcastNetworkType;
5011
5012 /*channel count - 0 for all channels*/
5013 wpt_uint8 ucChannelCount;
5014
5015 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305016 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005017
5018 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5019 wpt_uint8 rssiThreshold;
5020} WDI_NetworkType;
5021
5022
5023/*---------------------------------------------------------------------------
5024 WDI_ScanTimer
5025---------------------------------------------------------------------------*/
5026typedef struct
5027{
5028 /*The timer value*/
5029 wpt_uint32 uTimerValue;
5030
5031 /*The amount of time we should be repeating the interval*/
5032 wpt_uint32 uTimerRepeat;
5033} WDI_ScanTimer;
5034
5035/*---------------------------------------------------------------------------
5036 WDI_ScanTimersType
5037---------------------------------------------------------------------------*/
5038typedef struct
5039{
5040 /*The number of value pair intervals present in the array*/
5041 wpt_uint8 ucScanTimersCount;
5042
5043 /*The time-repeat value pairs*/
5044 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5045} WDI_ScanTimersType;
5046
5047/*---------------------------------------------------------------------------
5048 WDI_PNOScanReqType
5049---------------------------------------------------------------------------*/
5050typedef struct
5051{
5052 /*Enable or disable PNO feature*/
5053 wpt_uint8 bEnable;
5054
5055 /*PNO mode requested*/
5056 WDI_PNOMode wdiModePNO;
5057
5058 /*Network count*/
5059 wpt_uint8 ucNetworksCount;
5060
5061 /*The networks to look for*/
5062 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5063
5064 /*Scan timer intervals*/
5065 WDI_ScanTimersType scanTimers;
5066
5067 /*Probe template for 2.4GHz band*/
5068 wpt_uint16 us24GProbeSize;
5069 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5070
5071 /*Probe template for 5GHz band*/
5072 wpt_uint16 us5GProbeSize;
5073 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5074} WDI_PNOScanReqType;
5075
5076/*---------------------------------------------------------------------------
5077 WDI_PNOScanReqParamsType
5078 PNO info passed to WDI form WDA
5079---------------------------------------------------------------------------*/
5080typedef struct
5081{
5082 /* PNO Info Type, same as tPrefNetwListParams */
5083 WDI_PNOScanReqType wdiPNOScanInfo;
5084 /* Request status callback offered by UMAC - it is called if the current req
5085 has returned PENDING as status; it delivers the status of sending the message
5086 over the BUS */
5087 WDI_ReqStatusCb wdiReqStatusCB;
5088 /* The user data passed in by UMAC, it will be sent back when the above
5089 function pointer will be called */
5090 void* pUserData;
5091} WDI_PNOScanReqParamsType;
5092
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005093/*---------------------------------------------------------------------------
5094 WDI_SetRssiFilterReqParamsType
5095 PNO info passed to WDI form WDA
5096---------------------------------------------------------------------------*/
5097typedef struct
5098{
5099 /* RSSI Threshold */
5100 wpt_uint8 rssiThreshold;
5101 /* Request status callback offered by UMAC - it is called if the current req
5102 has returned PENDING as status; it delivers the status of sending the message
5103 over the BUS */
5104 WDI_ReqStatusCb wdiReqStatusCB;
5105 /* The user data passed in by UMAC, it will be sent back when the above
5106 function pointer will be called */
5107 void* pUserData;
5108} WDI_SetRssiFilterReqParamsType;
5109
5110/*---------------------------------------------------------------------------
5111 WDI_UpdateScanParamsInfo
5112---------------------------------------------------------------------------*/
5113typedef struct
5114{
5115 /*Is 11d enabled*/
5116 wpt_uint8 b11dEnabled;
5117
5118 /*Was UMAc able to find the regulatory domain*/
5119 wpt_uint8 b11dResolved;
5120
5121 /*Number of channel allowed in the regulatory domain*/
5122 wpt_uint8 ucChannelCount;
5123
5124 /*The actual channels allowed in the regulatory domain*/
5125 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5126
5127 /*Passive min channel time*/
5128 wpt_uint16 usPassiveMinChTime;
5129
5130 /*Passive max channel time*/
5131 wpt_uint16 usPassiveMaxChTime;
5132
5133 /*Active min channel time*/
5134 wpt_uint16 usActiveMinChTime;
5135
5136 /*Active max channel time*/
5137 wpt_uint16 usActiveMaxChTime;
5138
5139 /*channel bonding info*/
5140 wpt_uint8 cbState;
5141} WDI_UpdateScanParamsInfo;
5142
5143/*---------------------------------------------------------------------------
5144 WDI_UpdateScanParamsInfoType
5145 UpdateScanParams info passed to WDI form WDA
5146---------------------------------------------------------------------------*/
5147typedef struct
5148{
5149 /* PNO Info Type, same as tUpdateScanParams */
5150 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5151 /* Request status callback offered by UMAC - it is called if the current req
5152 has returned PENDING as status; it delivers the status of sending the message
5153 over the BUS */
5154 WDI_ReqStatusCb wdiReqStatusCB;
5155 /* The user data passed in by UMAC, it will be sent back when the above
5156 function pointer will be called */
5157 void* pUserData;
5158} WDI_UpdateScanParamsInfoType;
5159#endif //FEATURE_WLAN_SCAN_PNO
5160
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005161#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5162
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005163#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005164#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005165
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005166typedef struct
5167{
5168 /*The SSID of the preferred network*/
5169 WDI_MacSSid ssId;
5170 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5171
5172 /*The authentication method of the preferred network*/
5173 WDI_AuthType authentication;
5174
5175 /*The encryption method of the preferred network*/
5176 WDI_EdType encryption;
5177 WDI_EdType mcencryption;
5178
5179 /*SSID broadcast type, normal, hidden or unknown*/
5180 //WDI_SSIDBcastType wdiBcastNetworkType;
5181
5182 /*channel count - 0 for all channels*/
5183 wpt_uint8 ChannelCount;
5184
5185 /*the actual channels*/
5186 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5187
5188} WDI_RoamNetworkType;
5189
5190typedef struct WDIMobilityDomainInfo
5191{
5192 wpt_uint8 mdiePresent;
5193 wpt_uint16 mobilityDomain;
5194} WDI_MobilityDomainInfo;
5195
5196/*---------------------------------------------------------------------------
5197 WDI_RoamOffloadScanInfo
5198---------------------------------------------------------------------------*/
5199typedef struct
5200{
5201 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005202 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005203 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005204 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005205 wpt_uint8 RoamRssiDiff;
5206 wpt_uint8 ChannelCacheType;
5207 wpt_uint8 Command;
5208 wpt_uint8 StartScanReason;
5209 wpt_uint16 NeighborScanTimerPeriod;
5210 wpt_uint16 NeighborRoamScanRefreshPeriod;
5211 wpt_uint16 NeighborScanChannelMinTime;
5212 wpt_uint16 NeighborScanChannelMaxTime;
5213 wpt_uint16 EmptyRefreshScanPeriod;
5214 wpt_uint8 ValidChannelCount;
5215 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005216 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005217 /*Probe template for 2.4GHz band*/
5218 wpt_uint16 us24GProbeSize;
5219 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5220
5221 /*Probe template for 5GHz band*/
5222 wpt_uint16 us5GProbeSize;
5223 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005224 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005225 * As per requirement, later, the following structure can be used as an array of networks.*/
5226 WDI_RoamNetworkType ConnectedNetwork;
5227 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005228 wpt_uint8 nProbes;
5229 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005230} WDI_RoamOffloadScanInfo;
5231
5232typedef struct
5233{
5234 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5235 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5236 /* Request status callback offered by UMAC - it is called if the current req
5237 has returned PENDING as status; it delivers the status of sending the message
5238 over the BUS */
5239 WDI_ReqStatusCb wdiReqStatusCB;
5240 /* The user data passed in by UMAC, it will be sent back when the above
5241 function pointer will be called */
5242 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005243} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005244#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005245
5246/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305247 WDI_HT40ObssScanIndType
5248---------------------------------------------------------------------------*/
5249typedef struct
5250{
5251 wpt_uint8 cmdType;
5252 wpt_uint8 scanType;
5253 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5254 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5255 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5256 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5257 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5258 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5259 wpt_uint16 OBSSScanActivityThreshold;
5260 wpt_uint8 selfStaIdx;
5261 wpt_uint8 bssIdx;
5262 wpt_uint8 fortyMHZIntolerent;
5263 wpt_uint8 channelCount;
5264 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5265 wpt_uint8 currentOperatingClass;
5266 wpt_uint16 ieFieldLen;
5267 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5268} WDI_HT40ObssScanIndType;
5269
5270
5271/*---------------------------------------------------------------------------
5272 WDI_OBSSScanIndParamsType
5273---------------------------------------------------------------------------*/
5274typedef struct
5275{
5276 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5277
5278 /*Request status callback offered by UMAC - it is called if the current
5279 req has returned PENDING as status; it delivers the status of sending
5280 the message over the BUS */
5281 WDI_ReqStatusCb wdiReqStatusCB;
5282
5283 /*The user data passed in by UMAC, it will be sent back when the above
5284 function pointer will be called */
5285 void* pUserData;
5286
5287}WDI_HT40ObssScanParamsType;
5288
5289/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005290 WDI_UpdateScanParamsInfo
5291---------------------------------------------------------------------------*/
5292typedef struct
5293{
5294 /* Ignore DTIM */
5295 wpt_uint32 uIgnoreDTIM;
5296
5297 /*DTIM Period*/
5298 wpt_uint32 uDTIMPeriod;
5299
5300 /* Listen Interval */
5301 wpt_uint32 uListenInterval;
5302
5303 /* Broadcast Multicas Filter */
5304 wpt_uint32 uBcastMcastFilter;
5305
5306 /* Beacon Early Termination */
5307 wpt_uint32 uEnableBET;
5308
5309 /* Beacon Early Termination Interval */
5310 wpt_uint32 uBETInterval;
5311
Yue Mac24062f2013-05-13 17:01:29 -07005312 /* MAX LI for modulated DTIM */
5313 wpt_uint32 uMaxLIModulatedDTIM;
5314
Jeff Johnson295189b2012-06-20 16:38:30 -07005315} WDI_SetPowerParamsInfo;
5316
5317/*---------------------------------------------------------------------------
5318 WDI_UpdateScanParamsInfoType
5319 UpdateScanParams info passed to WDI form WDA
5320---------------------------------------------------------------------------*/
5321typedef struct
5322{
5323 /* Power params Info Type, same as tSetPowerParamsReq */
5324 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5325 /* Request status callback offered by UMAC - it is called if the current req
5326 has returned PENDING as status; it delivers the status of sending the message
5327 over the BUS */
5328 WDI_ReqStatusCb wdiReqStatusCB;
5329 /* The user data passed in by UMAC, it will be sent back when the above
5330 function pointer will be called */
5331 void* pUserData;
5332}WDI_SetPowerParamsReqParamsType;
5333
5334/*---------------------------------------------------------------------------
5335 WDI_SetTxPerTrackingConfType
5336 Wowl add ptrn info passed to WDA form UMAC
5337---------------------------------------------------------------------------*/
5338typedef struct
5339{
5340 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5341 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5342 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5343 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5344} WDI_TxPerTrackingParamType;
5345
5346/*---------------------------------------------------------------------------
5347 WDI_SetTxPerTrackingReqParamsType
5348 Tx PER Tracking parameters passed to WDI from WDA
5349---------------------------------------------------------------------------*/
5350typedef struct
5351{
5352 /* Configurations for Tx PER Tracking */
5353 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5354 /*Request status callback offered by UMAC - it is called if the current req
5355 has returned PENDING as status; it delivers the status of sending the message
5356 over the BUS */
5357 WDI_ReqStatusCb wdiReqStatusCB;
5358 /*The user data passed in by UMAC, it will be sent back when the above
5359 function pointer will be called */
5360 void* pUserData;
5361}WDI_SetTxPerTrackingReqParamsType;
5362
5363#ifdef WLAN_FEATURE_PACKET_FILTERING
5364/*---------------------------------------------------------------------------
5365 Packet Filtering Parameters
5366---------------------------------------------------------------------------*/
5367
5368#define WDI_IPV4_ADDR_LEN 4
5369#define WDI_MAC_ADDR_LEN 6
5370#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5371#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5372#define WDI_MAX_NUM_FILTERS 20
5373#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5374
5375//
5376// Receive Filter Parameters
5377//
5378typedef enum
5379{
5380 WDI_RCV_FILTER_TYPE_INVALID,
5381 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5382 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5383 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5384}WDI_ReceivePacketFilterType;
5385
5386typedef enum
5387{
5388 WDI_FILTER_HDR_TYPE_INVALID,
5389 WDI_FILTER_HDR_TYPE_MAC,
5390 WDI_FILTER_HDR_TYPE_ARP,
5391 WDI_FILTER_HDR_TYPE_IPV4,
5392 WDI_FILTER_HDR_TYPE_IPV6,
5393 WDI_FILTER_HDR_TYPE_UDP,
5394 WDI_FILTER_HDR_TYPE_MAX
5395}WDI_RcvPktFltProtocolType;
5396
5397typedef enum
5398{
5399 WDI_FILTER_CMP_TYPE_INVALID,
5400 WDI_FILTER_CMP_TYPE_EQUAL,
5401 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5402 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5403 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5404 WDI_FILTER_CMP_TYPE_MAX
5405}WDI_RcvPktFltCmpFlagType;
5406
5407typedef struct
5408{
5409 WDI_RcvPktFltProtocolType protocolLayer;
5410 WDI_RcvPktFltCmpFlagType cmpFlag;
5411/* Length of the data to compare */
5412 wpt_uint16 dataLength;
5413/* from start of the respective frame header */
5414 wpt_uint8 dataOffset;
5415 wpt_uint8 reserved; /* Reserved field */
5416/* Data to compare */
5417 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5418/* Mask to be applied on the received packet data before compare */
5419 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5420}WDI_RcvPktFilterFieldParams;
5421
5422typedef struct
5423{
5424 wpt_uint8 filterId;
5425 wpt_uint8 filterType;
5426 wpt_uint32 numFieldParams;
5427 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005428 wpt_macAddr selfMacAddr;
5429 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005430 WDI_RcvPktFilterFieldParams paramsData[1];
5431
Jeff Johnson295189b2012-06-20 16:38:30 -07005432}WDI_RcvPktFilterCfgType;
5433
5434typedef struct
5435{
5436 /*Request status callback offered by UMAC - it is called if the current
5437 req has returned PENDING as status; it delivers the status of sending
5438 the message over the BUS */
5439 WDI_ReqStatusCb wdiReqStatusCB;
5440
5441 /*The user data passed in by UMAC, it will be sent back when the above
5442 function pointer will be called */
5443 void* pUserData;
5444
5445 // Variable length packet filter field params
5446 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5447} WDI_SetRcvPktFilterReqParamsType;
5448
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005449typedef struct
5450{
5451 /*Result of the operation*/
5452 WDI_Status wdiStatus;
5453 /* BSSIDX of the Set Receive Filter
5454 */
5455 wpt_uint8 bssIdx;
5456} WDI_SetRcvPktFilterRspParamsType;
5457
Jeff Johnson295189b2012-06-20 16:38:30 -07005458//
5459// Filter Packet Match Count Parameters
5460//
5461typedef struct
5462{
5463 /*Request status callback offered by UMAC - it is called if the current
5464 req has returned PENDING as status; it delivers the status of sending
5465 the message over the BUS */
5466 WDI_ReqStatusCb wdiReqStatusCB;
5467
5468 /*The user data passed in by UMAC, it will be sent back when the above
5469 function pointer will be called */
5470 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005471
5472 /* BSSID of the Match count
5473 */
5474 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005475} WDI_RcvFltPktMatchCntReqParamsType;
5476
5477typedef struct
5478{
5479 wpt_uint8 filterId;
5480 wpt_uint32 matchCnt;
5481} WDI_RcvFltPktMatchCnt;
5482
5483typedef struct
5484{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005485 /*Result of the operation*/
5486 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005487
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005488 /* BSSIDX of the Match count response
5489 */
5490 wpt_uint8 bssIdx;
5491
Jeff Johnson295189b2012-06-20 16:38:30 -07005492} WDI_RcvFltPktMatchCntRspParamsType;
5493
Jeff Johnson295189b2012-06-20 16:38:30 -07005494//
5495// Receive Filter Clear Parameters
5496//
5497typedef struct
5498{
5499 wpt_uint32 status; /* only valid for response message */
5500 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005501 wpt_macAddr selfMacAddr;
5502 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005503}WDI_RcvFltPktClearParam;
5504
5505typedef struct
5506{
5507 WDI_RcvFltPktClearParam filterClearParam;
5508 /*Request status callback offered by UMAC - it is called if the current
5509 req has returned PENDING as status; it delivers the status of sending
5510 the message over the BUS */
5511 WDI_ReqStatusCb wdiReqStatusCB;
5512
5513 /*The user data passed in by UMAC, it will be sent back when the above
5514 function pointer will be called */
5515 void* pUserData;
5516} WDI_RcvFltPktClearReqParamsType;
5517
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005518typedef struct
5519{
5520 /*Result of the operation*/
5521 WDI_Status wdiStatus;
5522 /* BSSIDX of the Match count response
5523 */
5524 wpt_uint8 bssIdx;
5525
5526} WDI_RcvFltPktClearRspParamsType;
5527
Jeff Johnson295189b2012-06-20 16:38:30 -07005528//
5529// Multicast Address List Parameters
5530//
5531typedef struct
5532{
5533 wpt_uint32 ulMulticastAddrCnt;
5534 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005535 wpt_macAddr selfMacAddr;
5536 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005537} WDI_RcvFltMcAddrListType;
5538
5539typedef struct
5540{
5541 WDI_RcvFltMcAddrListType mcAddrList;
5542 /*Request status callback offered by UMAC - it is called if the current
5543 req has returned PENDING as status; it delivers the status of sending
5544 the message over the BUS */
5545 WDI_ReqStatusCb wdiReqStatusCB;
5546
5547 /*The user data passed in by UMAC, it will be sent back when the above
5548 function pointer will be called */
5549 void* pUserData;
5550} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005551
5552typedef struct
5553{
5554 /*Result of the operation*/
5555 WDI_Status wdiStatus;
5556 /* BSSIDX of the Match count response
5557 */
5558 wpt_uint8 bssIdx;
5559} WDI_RcvFltPktSetMcListRspParamsType;
5560
Jeff Johnson295189b2012-06-20 16:38:30 -07005561#endif // WLAN_FEATURE_PACKET_FILTERING
5562
5563/*---------------------------------------------------------------------------
5564 WDI_HALDumpCmdReqInfoType
5565---------------------------------------------------------------------------*/
5566typedef struct
5567{
5568 /*command*/
5569 wpt_uint32 command;
5570
5571 /*Arguments*/
5572 wpt_uint32 argument1;
5573 wpt_uint32 argument2;
5574 wpt_uint32 argument3;
5575 wpt_uint32 argument4;
5576
5577}WDI_HALDumpCmdReqInfoType;
5578
5579/*---------------------------------------------------------------------------
5580 WDI_HALDumpCmdReqParamsType
5581---------------------------------------------------------------------------*/
5582typedef struct
5583{
5584 /*NV Blob Info*/
5585 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5586
5587 /*Request status callback offered by UMAC - it is called if the current
5588 req has returned PENDING as status; it delivers the status of sending
5589 the message over the BUS */
5590 WDI_ReqStatusCb wdiReqStatusCB;
5591
5592 /*The user data passed in by UMAC, it will be sent back when the above
5593 function pointer will be called */
5594 void* pUserData;
5595
5596}WDI_HALDumpCmdReqParamsType;
5597
5598
5599/*---------------------------------------------------------------------------
5600 WDI_HALDumpCmdRspParamsType
5601---------------------------------------------------------------------------*/
5602typedef struct
5603{
5604 /*Result of the operation*/
5605 WDI_Status wdiStatus;
5606
5607 /* length of the buffer */
5608 wpt_uint16 usBufferLen;
5609
5610 /* Buffer */
5611 wpt_uint8 *pBuffer;
5612}WDI_HALDumpCmdRspParamsType;
5613
5614
5615/*---------------------------------------------------------------------------
5616 WDI_SetTmLevelReqType
5617---------------------------------------------------------------------------*/
5618typedef struct
5619{
5620 wpt_uint16 tmMode;
5621 wpt_uint16 tmLevel;
5622 void* pUserData;
5623}WDI_SetTmLevelReqType;
5624
5625/*---------------------------------------------------------------------------
5626 WDI_SetTmLevelRspType
5627---------------------------------------------------------------------------*/
5628typedef struct
5629{
5630 WDI_Status wdiStatus;
5631 void* pUserData;
5632}WDI_SetTmLevelRspType;
5633
Leo Chang9056f462013-08-01 19:21:11 -07005634#ifdef FEATURE_WLAN_LPHB
5635/*---------------------------------------------------------------------------
5636 WDI_LPHBConfigParamsType
5637---------------------------------------------------------------------------*/
5638typedef struct
5639{
5640 void* pLphsConfIndData;
5641}WDI_LPHBConfigParamsType;
5642#endif /* FEATURE_WLAN_LPHB */
5643
Yue Mab9c86f42013-08-14 15:59:08 -07005644/*---------------------------------------------------------------------------
5645 WDI_AddPeriodicTxPtrnInfoType
5646---------------------------------------------------------------------------*/
5647typedef struct
5648{
5649 /* MAC Address for the adapter */
5650 wpt_macAddr macAddr;
5651
5652 wpt_uint8 ucPtrnId; // Pattern ID
5653 wpt_uint16 ucPtrnSize; // Pattern size
5654 wpt_uint32 usPtrnIntervalMs; // In msec
5655 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5656} WDI_AddPeriodicTxPtrnInfoType;
5657
5658/*---------------------------------------------------------------------------
5659 WDI_DelPeriodicTxPtrnInfoType
5660---------------------------------------------------------------------------*/
5661typedef struct
5662{
5663 /* MAC Address for the adapter */
5664 wpt_macAddr macAddr;
5665
5666 /* Bitmap of pattern IDs that needs to be deleted */
5667 wpt_uint32 ucPatternIdBitmap;
5668} WDI_DelPeriodicTxPtrnInfoType;
5669
5670/*---------------------------------------------------------------------------
5671 WDI_AddPeriodicTxPtrnParamsType
5672---------------------------------------------------------------------------*/
5673typedef struct
5674{
5675 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5676
5677 /*Request status callback offered by UMAC - it is called if the current
5678 req has returned PENDING as status; it delivers the status of sending
5679 the message over the BUS */
5680 WDI_ReqStatusCb wdiReqStatusCB;
5681
5682 /*The user data passed in by UMAC, it will be sent back when the above
5683 function pointer will be called */
5684 void* pUserData;
5685} WDI_AddPeriodicTxPtrnParamsType;
5686
5687/*---------------------------------------------------------------------------
5688 WDI_DelPeriodicTxPtrnParamsType
5689---------------------------------------------------------------------------*/
5690typedef struct
5691{
5692 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5693
5694 /*Request status callback offered by UMAC - it is called if the current
5695 req has returned PENDING as status; it delivers the status of sending
5696 the message over the BUS */
5697 WDI_ReqStatusCb wdiReqStatusCB;
5698
5699 /*The user data passed in by UMAC, it will be sent back when the above
5700 function pointer will be called */
5701 void* pUserData;
5702} WDI_DelPeriodicTxPtrnParamsType;
5703
Dino Mycle41bdc942014-06-10 11:30:24 +05305704#ifdef WLAN_FEATURE_EXTSCAN
5705
5706#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5707#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5708#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
5709#define WDI_WLAN_EXTSCAN_MAX_SIGNIFICANT_CHANGE_APS 64
5710
5711typedef enum
5712{
5713 WDI_WIFI_BAND_UNSPECIFIED,
5714 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5715 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5716 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5717 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5718 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5719 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5720
5721 /* Keep it last */
5722 WDI_WIFI_BAND_MAX
5723} WDI_WifiBand;
5724
5725typedef struct
5726{
5727 wpt_uint32 channel; // frequency
5728 wpt_uint32 dwellTimeMs; // dwell time hint
5729 wpt_uint8 passive; // 0 => active,
5730 // 1 => passive scan; ignored for DFS
5731 wpt_uint8 chnlClass;
5732} WDI_WifiScanChannelSpec;
5733
5734typedef struct
5735{
5736 wpt_uint8 bucket; // bucket index, 0 based
5737 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5738
5739 /*
5740 * desired period, in millisecond; if this is too
5741 * low, the firmware should choose to generate results as fast as
5742 * it can instead of failing the command byte
5743 */
5744 wpt_uint32 period;
5745
5746 /*
5747 * 0 => normal reporting (reporting rssi history
5748 * only, when rssi history buffer is % full)
5749 * 1 => same as 0 + report a scan completion event after scanning
5750 * this bucket
5751 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5752 * in real time to HAL
5753 */
5754 wpt_uint8 reportEvents;
5755
5756 wpt_uint8 numChannels;
5757
5758 /*
5759 * channels to scan; these may include DFS channels
5760 */
5761 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5762} WDI_WifiScanBucketSpec;
5763
5764typedef struct
5765{
5766 wpt_uint32 requestId;
5767 wpt_uint8 sessionId;
5768 wpt_uint32 basePeriod; // base timer period
5769 wpt_uint32 maxAPperScan;
5770
5771 /* in %, when buffer is this much full, wake up host */
5772 wpt_uint32 reportThreshold;
5773
5774 wpt_uint8 numBuckets;
5775 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5776} WDI_EXTScanStartReqParams;
5777
5778typedef struct
5779{
5780 wpt_uint32 requestId;
5781 wpt_uint8 sessionId;
5782} WDI_EXTScanStopReqParams;
5783
5784typedef struct
5785{
5786 wpt_uint32 requestId;
5787 wpt_uint8 sessionId;
5788
5789 /*
5790 * 1 return cached results and flush it
5791 * 0 return cached results and do not flush
5792 */
5793 wpt_boolean flush;
5794} WDI_EXTScanGetCachedResultsReqParams;
5795
5796typedef struct
5797{
5798 wpt_uint32 requestId;
5799 wpt_uint8 sessionId;
5800} WDI_EXTScanGetCapabilitiesReqParams;
5801
5802typedef struct
5803{
5804 wpt_uint8 bssid[6]; /* BSSID */
5805 wpt_int32 low; // low threshold
5806 wpt_int32 high; // high threshold
5807 wpt_uint32 channel; // channel hint
5808} WDI_APThresholdParam;
5809
5810typedef struct
5811{
5812 wpt_int32 requestId;
5813 wpt_int8 sessionId; // session Id mapped to vdev_id
5814
5815 wpt_int32 numAp; // number of hotlist APs
5816 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5817} WDI_EXTScanSetBSSIDHotlistReqParams;
5818
5819typedef struct
5820{
5821 wpt_uint32 requestId;
5822 wpt_uint8 sessionId;
5823} WDI_EXTScanResetBSSIDHotlistReqParams;
5824
5825
5826typedef struct
5827{
5828 wpt_int32 requestId;
5829 wpt_int8 sessionId; // session Id mapped to vdev_id
5830
5831 /* number of samples for averaging RSSI */
5832 wpt_int32 rssiSampleSize;
5833
5834 /* number of missed samples to confirm AP loss */
5835 wpt_int32 lostApSampleSize;
5836
5837 /* number of APs breaching threshold required for firmware
5838 * to generate event
5839 */
5840 wpt_int32 minBreaching;
5841
5842 wpt_int32 numAp; // number of hotlist APs
5843 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5844} WDI_EXTScanSetSignfRSSIChangeReqParams;
5845
5846typedef struct
5847{
5848 wpt_uint32 requestId;
5849 wpt_uint8 sessionId;
5850} WDI_EXTScanResetSignfRSSIChangeReqParams;
5851#endif /* WLAN_FEATURE_EXTSCAN */
5852
Sunil Duttbd736ed2014-05-26 21:19:41 +05305853#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5854typedef struct
5855{
5856 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305857 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305858 wpt_uint32 mpduSizeThreshold;
5859 wpt_uint32 aggressiveStatisticsGathering;
5860}WDI_LLStatsSetReqType;
5861
5862typedef struct
5863{
5864 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305865 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305866 wpt_uint32 paramIdMask;
5867}WDI_LLStatsGetReqType;
5868
5869typedef struct
5870{
5871 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305872 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305873 wpt_uint32 statsClearReqMask;
5874 wpt_uint8 stopReq;
5875}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05305876
Sunil Duttbd736ed2014-05-26 21:19:41 +05305877#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
5878
Siddharth Bhal171788a2014-09-29 21:02:40 +05305879/*---------------------------------------------------------------------------
5880 WDI_SPOOF_MAC_ADDR_REQ
5881---------------------------------------------------------------------------*/
5882typedef struct
5883{
5884 /* Spoof MAC Address for FW */
5885 wpt_macAddr macAddr;
5886
5887 /* Reserved Params/fields */
5888 wpt_uint32 params;
5889 wpt_uint32 reserved;
5890} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305891
Jeff Johnson295189b2012-06-20 16:38:30 -07005892/*----------------------------------------------------------------------------
5893 * WDI callback types
5894 *--------------------------------------------------------------------------*/
5895
5896/*---------------------------------------------------------------------------
5897 WDI_StartRspCb
5898
5899 DESCRIPTION
5900
5901 This callback is invoked by DAL when it has received a Start response from
5902 the underlying device.
5903
5904 PARAMETERS
5905
5906 IN
5907 wdiRspParams: response parameters received from HAL
5908 pUserData: user data
5909
5910
5911 RETURN VALUE
5912 The result code associated with performing the operation
5913---------------------------------------------------------------------------*/
5914typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5915 void* pUserData);
5916
5917/*---------------------------------------------------------------------------
5918 WDI_StartRspCb
5919
5920 DESCRIPTION
5921
5922 This callback is invoked by DAL when it has received a Stop response from
5923 the underlying device.
5924
5925 PARAMETERS
5926
5927 IN
5928 wdiStatus: response status received from HAL
5929 pUserData: user data
5930
5931
5932
5933 RETURN VALUE
5934 The result code associated with performing the operation
5935---------------------------------------------------------------------------*/
5936typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5937 void* pUserData);
5938
5939/*---------------------------------------------------------------------------
5940 WDI_StartRspCb
5941
5942 DESCRIPTION
5943
5944 This callback is invoked by DAL when it has received an Init Scan response
5945 from the underlying device.
5946
5947 PARAMETERS
5948
5949 IN
5950 wdiStatus: response status received from HAL
5951 pUserData: user data
5952
5953
5954
5955 RETURN VALUE
5956 The result code associated with performing the operation
5957---------------------------------------------------------------------------*/
5958typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5959 void* pUserData);
5960
5961
5962/*---------------------------------------------------------------------------
5963 WDI_StartRspCb
5964
5965 DESCRIPTION
5966
5967 This callback is invoked by DAL when it has received a StartScan response
5968 from the underlying device.
5969
5970 PARAMETERS
5971
5972 IN
5973 wdiParams: response params received from HAL
5974 pUserData: user data
5975
5976
5977
5978 RETURN VALUE
5979 The result code associated with performing the operation
5980---------------------------------------------------------------------------*/
5981typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5982 void* pUserData);
5983
5984
5985/*---------------------------------------------------------------------------
5986 WDI_StartRspCb
5987
5988 DESCRIPTION
5989
5990 This callback is invoked by DAL when it has received a End Scan response
5991 from the underlying device.
5992
5993 PARAMETERS
5994
5995 IN
5996 wdiStatus: response status received from HAL
5997 pUserData: user data
5998
5999
6000
6001 RETURN VALUE
6002 The result code associated with performing the operation
6003---------------------------------------------------------------------------*/
6004typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6005 void* pUserData);
6006
6007
6008/*---------------------------------------------------------------------------
6009 WDI_StartRspCb
6010
6011 DESCRIPTION
6012
6013 This callback is invoked by DAL when it has received a Finish Scan response
6014 from the underlying device.
6015
6016 PARAMETERS
6017
6018 IN
6019 wdiStatus: response status received from HAL
6020 pUserData: user data
6021
6022
6023
6024 RETURN VALUE
6025 The result code associated with performing the operation
6026---------------------------------------------------------------------------*/
6027typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6028 void* pUserData);
6029
6030
6031/*---------------------------------------------------------------------------
6032 WDI_StartRspCb
6033
6034 DESCRIPTION
6035
6036 This callback is invoked by DAL when it has received a Join response from
6037 the underlying device.
6038
6039 PARAMETERS
6040
6041 IN
6042 wdiStatus: response status received from HAL
6043 pUserData: user data
6044
6045
6046
6047 RETURN VALUE
6048 The result code associated with performing the operation
6049---------------------------------------------------------------------------*/
6050typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6051 void* pUserData);
6052
6053
6054/*---------------------------------------------------------------------------
6055 WDI_StartRspCb
6056
6057 DESCRIPTION
6058
6059 This callback is invoked by DAL when it has received a Config BSS response
6060 from the underlying device.
6061
6062 PARAMETERS
6063
6064 IN
6065 wdiConfigBSSRsp: response parameters received from HAL
6066 pUserData: user data
6067
6068
6069 RETURN VALUE
6070 The result code associated with performing the operation
6071---------------------------------------------------------------------------*/
6072typedef void (*WDI_ConfigBSSRspCb)(
6073 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6074 void* pUserData);
6075
6076
6077/*---------------------------------------------------------------------------
6078 WDI_StartRspCb
6079
6080 DESCRIPTION
6081
6082 This callback is invoked by DAL when it has received a Del BSS response from
6083 the underlying device.
6084
6085 PARAMETERS
6086
6087 IN
6088 wdiDelBSSRsp: response parameters received from HAL
6089 pUserData: user data
6090
6091
6092 RETURN VALUE
6093 The result code associated with performing the operation
6094---------------------------------------------------------------------------*/
6095typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6096 void* pUserData);
6097
6098
6099/*---------------------------------------------------------------------------
6100 WDI_StartRspCb
6101
6102 DESCRIPTION
6103
6104 This callback is invoked by DAL when it has received a Post Assoc response
6105 from the underlying device.
6106
6107 PARAMETERS
6108
6109 IN
6110 wdiRspParams: response parameters received from HAL
6111 pUserData: user data
6112
6113
6114 RETURN VALUE
6115 The result code associated with performing the operation
6116---------------------------------------------------------------------------*/
6117typedef void (*WDI_PostAssocRspCb)(
6118 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6119 void* pUserData);
6120
6121
6122/*---------------------------------------------------------------------------
6123 WDI_StartRspCb
6124
6125 DESCRIPTION
6126
6127 This callback is invoked by DAL when it has received a Del STA response from
6128 the underlying device.
6129
6130 PARAMETERS
6131
6132 IN
6133 wdiDelSTARsp: response parameters received from HAL
6134 pUserData: user data
6135
6136
6137 RETURN VALUE
6138 The result code associated with performing the operation
6139---------------------------------------------------------------------------*/
6140typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6141 void* pUserData);
6142
6143
6144
6145/*---------------------------------------------------------------------------
6146 WDI_StartRspCb
6147
6148 DESCRIPTION
6149
6150 This callback is invoked by DAL when it has received a Set BSS Key response
6151 from the underlying device.
6152
6153 PARAMETERS
6154
6155 IN
6156 wdiStatus: response status received from HAL
6157 pUserData: user data
6158
6159
6160
6161 RETURN VALUE
6162 The result code associated with performing the operation
6163---------------------------------------------------------------------------*/
6164typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6165 void* pUserData);
6166
6167/*---------------------------------------------------------------------------
6168 WDI_StartRspCb
6169
6170 DESCRIPTION
6171
6172 This callback is invoked by DAL when it has received a Remove BSS Key
6173 response from the underlying device.
6174
6175 PARAMETERS
6176
6177 IN
6178 wdiStatus: response status received from HAL
6179 pUserData: user data
6180
6181
6182
6183 RETURN VALUE
6184 The result code associated with performing the operation
6185---------------------------------------------------------------------------*/
6186typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6187 void* pUserData);
6188
6189/*---------------------------------------------------------------------------
6190 WDI_StartRspCb
6191
6192 DESCRIPTION
6193
6194 This callback is invoked by DAL when it has received a Set STA Key response
6195 from the underlying device.
6196
6197 PARAMETERS
6198
6199 IN
6200 wdiStatus: response status received from HAL
6201 pUserData: user data
6202
6203
Jeff Johnson295189b2012-06-20 16:38:30 -07006204 RETURN VALUE
6205 The result code associated with performing the operation
6206---------------------------------------------------------------------------*/
6207typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6208 void* pUserData);
6209
Jeff Johnson295189b2012-06-20 16:38:30 -07006210/*---------------------------------------------------------------------------
6211 WDI_StartRspCb
6212
6213 DESCRIPTION
6214
6215 This callback is invoked by DAL when it has received a Remove STA Key
6216 response from the underlying device.
6217
6218 PARAMETERS
6219
6220 IN
6221 wdiStatus: response status received from HAL
6222 pUserData: user data
6223
Siddharth Bhal171788a2014-09-29 21:02:40 +05306224
Jeff Johnson295189b2012-06-20 16:38:30 -07006225 RETURN VALUE
6226 The result code associated with performing the operation
6227---------------------------------------------------------------------------*/
6228typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6229 void* pUserData);
6230
6231
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006232#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006233/*---------------------------------------------------------------------------
6234 WDI_TsmRspCb
6235
6236 DESCRIPTION
6237
6238 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6239
6240 PARAMETERS
6241
6242 IN
6243 pTSMStats: response status received from HAL
6244 pUserData: user data
6245
6246
6247
6248 RETURN VALUE
6249 The result code associated with performing the operation
6250---------------------------------------------------------------------------*/
6251typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6252 void* pUserData);
6253#endif
6254
6255/*---------------------------------------------------------------------------
6256 WDI_StartRspCb
6257
6258 DESCRIPTION
6259
6260 This callback is invoked by DAL when it has received a Add TS response from
6261 the underlying device.
6262
6263 PARAMETERS
6264
6265 IN
6266 wdiStatus: response status received from HAL
6267 pUserData: user data
6268
6269
6270
6271 RETURN VALUE
6272 The result code associated with performing the operation
6273---------------------------------------------------------------------------*/
6274typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6275 void* pUserData);
6276
6277/*---------------------------------------------------------------------------
6278 WDI_StartRspCb
6279
6280 DESCRIPTION
6281
6282 This callback is invoked by DAL when it has received a Del TS response from
6283 the underlying device.
6284
6285 PARAMETERS
6286
6287 IN
6288 wdiStatus: response status received from HAL
6289 pUserData: user data
6290
6291
6292
6293 RETURN VALUE
6294 The result code associated with performing the operation
6295---------------------------------------------------------------------------*/
6296typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6297 void* pUserData);
6298
6299/*---------------------------------------------------------------------------
6300 WDI_StartRspCb
6301
6302 DESCRIPTION
6303
6304 This callback is invoked by DAL when it has received an Update EDCA Params
6305 response from the underlying device.
6306
6307 PARAMETERS
6308
6309 IN
6310 wdiStatus: response status received from HAL
6311 pUserData: user data
6312
6313
6314
6315 RETURN VALUE
6316 The result code associated with performing the operation
6317---------------------------------------------------------------------------*/
6318typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6319 void* pUserData);
6320
6321/*---------------------------------------------------------------------------
6322 WDI_StartRspCb
6323
6324 DESCRIPTION
6325
6326 This callback is invoked by DAL when it has received a Add BA response from
6327 the underlying device.
6328
6329 PARAMETERS
6330
6331 IN
6332 wdiStatus: response status received from HAL
6333 pUserData: user data
6334
6335
6336
6337 RETURN VALUE
6338 The result code associated with performing the operation
6339---------------------------------------------------------------------------*/
6340typedef void (*WDI_AddBASessionRspCb)(
6341 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6342 void* pUserData);
6343
6344
6345/*---------------------------------------------------------------------------
6346 WDI_StartRspCb
6347
6348 DESCRIPTION
6349
6350 This callback is invoked by DAL when it has received a Del BA response from
6351 the underlying device.
6352
6353 PARAMETERS
6354
6355 IN
6356 wdiStatus: response status received from HAL
6357 pUserData: user data
6358
6359
6360
6361 RETURN VALUE
6362 The result code associated with performing the operation
6363---------------------------------------------------------------------------*/
6364typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6365 void* pUserData);
6366
6367
6368/*---------------------------------------------------------------------------
6369 WDI_StartRspCb
6370
6371 DESCRIPTION
6372
6373 This callback is invoked by DAL when it has received a Switch Ch response
6374 from the underlying device.
6375
6376 PARAMETERS
6377
6378 IN
6379 wdiRspParams: response parameters received from HAL
6380 pUserData: user data
6381
6382
6383 RETURN VALUE
6384 The result code associated with performing the operation
6385---------------------------------------------------------------------------*/
6386typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6387 void* pUserData);
6388
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006389typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6390 void* pUserData);
6391
Jeff Johnson295189b2012-06-20 16:38:30 -07006392
6393/*---------------------------------------------------------------------------
6394 WDI_StartRspCb
6395
6396 DESCRIPTION
6397
6398 This callback is invoked by DAL when it has received a Config STA response
6399 from the underlying device.
6400
6401 PARAMETERS
6402
6403 IN
6404 wdiRspParams: response parameters received from HAL
6405 pUserData: user data
6406
6407
6408 RETURN VALUE
6409 The result code associated with performing the operation
6410---------------------------------------------------------------------------*/
6411typedef void (*WDI_ConfigSTARspCb)(
6412 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6413 void* pUserData);
6414
6415
6416/*---------------------------------------------------------------------------
6417 WDI_StartRspCb
6418
6419 DESCRIPTION
6420
6421 This callback is invoked by DAL when it has received a Set Link State
6422 response from the underlying device.
6423
6424 PARAMETERS
6425
6426 IN
6427 wdiRspParams: response parameters received from HAL
6428 pUserData: user data
6429
6430
6431 RETURN VALUE
6432 The result code associated with performing the operation
6433---------------------------------------------------------------------------*/
6434typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6435 void* pUserData);
6436
6437
6438/*---------------------------------------------------------------------------
6439 WDI_StartRspCb
6440
6441 DESCRIPTION
6442
6443 This callback is invoked by DAL when it has received a Get Stats response
6444 from the underlying device.
6445
6446 PARAMETERS
6447
6448 IN
6449 wdiRspParams: response parameters received from HAL
6450 pUserData: user data
6451
6452
6453 RETURN VALUE
6454 The result code associated with performing the operation
6455---------------------------------------------------------------------------*/
6456typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6457 void* pUserData);
6458
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006459#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006460/*---------------------------------------------------------------------------
6461 WDI_GetRoamRssiRspCb
6462
6463 DESCRIPTION
6464
6465 This callback is invoked by DAL when it has received a Get Roam Rssi response
6466 from the underlying device.
6467
6468 PARAMETERS
6469
6470 IN
6471 wdiRspParams: response parameters received from HAL
6472 pUserData: user data
6473
6474
6475 RETURN VALUE
6476 The result code associated with performing the operation
6477---------------------------------------------------------------------------*/
6478typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6479 void* pUserData);
6480#endif
6481
Jeff Johnson295189b2012-06-20 16:38:30 -07006482
6483/*---------------------------------------------------------------------------
6484 WDI_StartRspCb
6485
6486 DESCRIPTION
6487
6488 This callback is invoked by DAL when it has received a Update Cfg 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_UpdateCfgRspCb)(WDI_Status wdiStatus,
6502 void* pUserData);
6503
6504/*---------------------------------------------------------------------------
6505 WDI_AddBARspCb
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_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6523 void* pUserData);
6524
6525/*---------------------------------------------------------------------------
6526 WDI_TriggerBARspCb
6527
6528 DESCRIPTION
6529
6530 This callback is invoked by DAL when it has received a ADD BA response
6531 from the underlying device.
6532
6533 PARAMETERS
6534
6535 IN
6536 wdiStatus: response status received from HAL
6537 pUserData: user data
6538
6539
6540 RETURN VALUE
6541 The result code associated with performing the operation
6542---------------------------------------------------------------------------*/
6543typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6544 void* pUserData);
6545
6546
6547/*---------------------------------------------------------------------------
6548 WDI_UpdateBeaconParamsRspCb
6549
6550 DESCRIPTION
6551
6552 This callback is invoked by DAL when it has received a Update Beacon Params response from
6553 the underlying device.
6554
6555 PARAMETERS
6556
6557 IN
6558 wdiStatus: response status received from HAL
6559 pUserData: user data
6560
6561
6562
6563 RETURN VALUE
6564 The result code associated with performing the operation
6565---------------------------------------------------------------------------*/
6566typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6567 void* pUserData);
6568
6569/*---------------------------------------------------------------------------
6570 WDI_SendBeaconParamsRspCb
6571
6572 DESCRIPTION
6573
6574 This callback is invoked by DAL when it has received a Send Beacon Params response from
6575 the underlying device.
6576
6577 PARAMETERS
6578
6579 IN
6580 wdiStatus: response status received from HAL
6581 pUserData: user data
6582
6583
6584
6585 RETURN VALUE
6586 The result code associated with performing the operation
6587---------------------------------------------------------------------------*/
6588typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6589 void* pUserData);
6590
6591/*---------------------------------------------------------------------------
6592 WDA_SetMaxTxPowerRspCb
6593
6594 DESCRIPTION
6595
6596 This callback is invoked by DAL when it has received a set max Tx Power response from
6597 the underlying device.
6598
6599 PARAMETERS
6600
6601 IN
6602 wdiStatus: response status received from HAL
6603 pUserData: user data
6604
6605
6606
6607 RETURN VALUE
6608 The result code associated with performing the operation
6609---------------------------------------------------------------------------*/
6610typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6611 void* pUserData);
6612
6613/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006614 WDA_SetMaxTxPowerPerBandRspCb
6615
6616 DESCRIPTION
6617
6618 This callback is invoked by DAL when it has received a
6619 set max Tx Power Per Band response from the underlying device.
6620
6621 PARAMETERS
6622
6623 IN
6624 wdiSetMaxTxPowerPerBandRsp: 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_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6631 *wdiSetMaxTxPowerPerBandRsp,
6632 void* pUserData);
6633
6634/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006635 WDA_SetTxPowerRspCb
6636
6637 DESCRIPTION
6638
6639 This callback is invoked by DAL when it has received a set max Tx Power response from
6640 the underlying device.
6641
6642 PARAMETERS
6643
6644 IN
6645 wdiStatus: response status received from HAL
6646 pUserData: user data
6647
6648 RETURN VALUE
6649 The result code associated with performing the operation
6650---------------------------------------------------------------------------*/
6651typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6652 void* pUserData);
6653
6654/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006655 WDI_UpdateProbeRspTemplateRspCb
6656
6657 DESCRIPTION
6658
6659 This callback is invoked by DAL when it has received a Probe RSP Template
6660 Update response from the underlying device.
6661
6662 PARAMETERS
6663
6664 IN
6665 wdiStatus: response status received from HAL
6666 pUserData: user data
6667
6668
6669
6670 RETURN VALUE
6671 The result code associated with performing the operation
6672---------------------------------------------------------------------------*/
6673typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6674 void* pUserData);
6675
Jeff Johnson295189b2012-06-20 16:38:30 -07006676/*---------------------------------------------------------------------------
6677 WDI_SetP2PGONOAReqParamsRspCb
6678
6679 DESCRIPTION
6680
6681 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6682 the underlying device.
6683
6684 PARAMETERS
6685
6686 IN
6687 wdiStatus: response status received from HAL
6688 pUserData: user data
6689
6690
6691
6692 RETURN VALUE
6693 The result code associated with performing the operation
6694---------------------------------------------------------------------------*/
6695typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6696 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006697
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306698/*---------------------------------------------------------------------------
6699 WDI_SetTDLSLinkEstablishReqParamsRspCb
6700
6701 DESCRIPTION
6702
6703 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6704 the underlying device.
6705
6706 PARAMETERS
6707
6708 IN
6709 wdiStatus: response status received from HAL
6710 pUserData: user data
6711
6712
6713
6714 RETURN VALUE
6715 The result code associated with performing the operation
6716---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306717typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6718 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306719 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006720
6721/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05306722 WDI_SetTDLSChanSwitchReqParamsRspCb
6723
6724 DESCRIPTION
6725
6726 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6727 the underlying device.
6728
6729 PARAMETERS
6730
6731 IN
6732 wdiStatus: response status received from HAL
6733 pUserData: user data
6734
6735
6736
6737 RETURN VALUE
6738 The result code associated with performing the operation
6739---------------------------------------------------------------------------*/
6740typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
6741 wdiSetTdlsChanSwitchReqRsp,
6742 void* pUserData);
6743/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006744 WDI_SetPwrSaveCfgCb
6745
6746 DESCRIPTION
6747
6748 This callback is invoked by DAL when it has received a set Power Save CFG
6749 response from the underlying device.
6750
6751 PARAMETERS
6752
6753 IN
6754 wdiStatus: response status received from HAL
6755 pUserData: user data
6756
6757
6758
6759 RETURN VALUE
6760 The result code associated with performing the operation
6761---------------------------------------------------------------------------*/
6762typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6763 void* pUserData);
6764
6765/*---------------------------------------------------------------------------
6766 WDI_SetUapsdAcParamsCb
6767
6768 DESCRIPTION
6769
6770 This callback is invoked by DAL when it has received a set UAPSD params
6771 response from the underlying device.
6772
6773 PARAMETERS
6774
6775 IN
6776 wdiStatus: response status received from HAL
6777 pUserData: user data
6778
6779
6780
6781 RETURN VALUE
6782 The result code associated with performing the operation
6783---------------------------------------------------------------------------*/
6784typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6785 void* pUserData);
6786
6787/*---------------------------------------------------------------------------
6788 WDI_EnterImpsRspCb
6789
6790 DESCRIPTION
6791
6792 This callback is invoked by DAL when it has received a Enter IMPS response
6793 from the underlying device.
6794
6795 PARAMETERS
6796
6797 IN
6798 wdiStatus: response status received from HAL
6799 pUserData: user data
6800
6801
6802
6803 RETURN VALUE
6804 The result code associated with performing the operation
6805---------------------------------------------------------------------------*/
6806typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6807 void* pUserData);
6808
6809/*---------------------------------------------------------------------------
6810 WDI_ExitImpsRspCb
6811
6812 DESCRIPTION
6813
6814 This callback is invoked by DAL when it has received a Exit IMPS response
6815 from the underlying device.
6816
6817 PARAMETERS
6818
6819 IN
6820 wdiStatus: response status received from HAL
6821 pUserData: user data
6822
6823
6824
6825 RETURN VALUE
6826 The result code associated with performing the operation
6827---------------------------------------------------------------------------*/
6828typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6829 void* pUserData);
6830
6831/*---------------------------------------------------------------------------
6832 WDI_EnterBmpsRspCb
6833
6834 DESCRIPTION
6835
6836 This callback is invoked by DAL when it has received a enter BMPS response
6837 from the underlying device.
6838
6839 PARAMETERS
6840
6841 IN
6842 wdiStatus: response status received from HAL
6843 pUserData: user data
6844
6845
6846
6847 RETURN VALUE
6848 The result code associated with performing the operation
6849---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006850typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006851 void* pUserData);
6852
6853/*---------------------------------------------------------------------------
6854 WDI_ExitBmpsRspCb
6855
6856 DESCRIPTION
6857
6858 This callback is invoked by DAL when it has received a exit BMPS response
6859 from the underlying device.
6860
6861 PARAMETERS
6862
6863 IN
6864 wdiStatus: response status received from HAL
6865 pUserData: user data
6866
6867
6868
6869 RETURN VALUE
6870 The result code associated with performing the operation
6871---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006872typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006873 void* pUserData);
6874
6875/*---------------------------------------------------------------------------
6876 WDI_EnterUapsdRspCb
6877
6878 DESCRIPTION
6879
6880 This callback is invoked by DAL when it has received a enter UAPSD response
6881 from the underlying device.
6882
6883 PARAMETERS
6884
6885 IN
6886 wdiStatus: response status received from HAL
6887 pUserData: user data
6888
6889
6890
6891 RETURN VALUE
6892 The result code associated with performing the operation
6893---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006894typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006895 void* pUserData);
6896
6897/*---------------------------------------------------------------------------
6898 WDI_ExitUapsdRspCb
6899
6900 DESCRIPTION
6901
6902 This callback is invoked by DAL when it has received a exit UAPSD response
6903 from the underlying device.
6904
6905 PARAMETERS
6906
6907 IN
6908 wdiStatus: response status received from HAL
6909 pUserData: user data
6910
6911
6912
6913 RETURN VALUE
6914 The result code associated with performing the operation
6915---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006916typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006917 void* pUserData);
6918
6919/*---------------------------------------------------------------------------
6920 WDI_UpdateUapsdParamsCb
6921
6922 DESCRIPTION
6923
6924 This callback is invoked by DAL when it has received a update UAPSD params
6925 response from the underlying device.
6926
6927 PARAMETERS
6928
6929 IN
6930 wdiStatus: response status received from HAL
6931 pUserData: user data
6932
6933
6934
6935 RETURN VALUE
6936 The result code associated with performing the operation
6937---------------------------------------------------------------------------*/
6938typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6939 void* pUserData);
6940
6941/*---------------------------------------------------------------------------
6942 WDI_ConfigureRxpFilterCb
6943
6944 DESCRIPTION
6945
6946 This callback is invoked by DAL when it has received a config RXP filter
6947 response from the underlying device.
6948
6949 PARAMETERS
6950
6951 IN
6952 wdiStatus: response status received from HAL
6953 pUserData: user data
6954
6955
6956
6957 RETURN VALUE
6958 The result code associated with performing the operation
6959---------------------------------------------------------------------------*/
6960typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6961 void* pUserData);
6962
6963/*---------------------------------------------------------------------------
6964 WDI_SetBeaconFilterCb
6965
6966 DESCRIPTION
6967
6968 This callback is invoked by DAL when it has received a set beacon filter
6969 response from the underlying device.
6970
6971 PARAMETERS
6972
6973 IN
6974 wdiStatus: response status received from HAL
6975 pUserData: user data
6976
6977
6978
6979 RETURN VALUE
6980 The result code associated with performing the operation
6981---------------------------------------------------------------------------*/
6982typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6983 void* pUserData);
6984
6985/*---------------------------------------------------------------------------
6986 WDI_RemBeaconFilterCb
6987
6988 DESCRIPTION
6989
6990 This callback is invoked by DAL when it has received a remove beacon filter
6991 response from the underlying device.
6992
6993 PARAMETERS
6994
6995 IN
6996 wdiStatus: response status received from HAL
6997 pUserData: user data
6998
6999
7000
7001 RETURN VALUE
7002 The result code associated with performing the operation
7003---------------------------------------------------------------------------*/
7004typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7005 void* pUserData);
7006
7007/*---------------------------------------------------------------------------
7008 WDI_SetRSSIThresholdsCb
7009
7010 DESCRIPTION
7011
7012 This callback is invoked by DAL when it has received a set RSSI thresholds
7013 response from the underlying device.
7014
7015 PARAMETERS
7016
7017 IN
7018 wdiStatus: response status received from HAL
7019 pUserData: user data
7020
7021
7022
7023 RETURN VALUE
7024 The result code associated with performing the operation
7025---------------------------------------------------------------------------*/
7026typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7027 void* pUserData);
7028
7029/*---------------------------------------------------------------------------
7030 WDI_HostOffloadCb
7031
7032 DESCRIPTION
7033
7034 This callback is invoked by DAL when it has received a host offload
7035 response from the underlying device.
7036
7037 PARAMETERS
7038
7039 IN
7040 wdiStatus: response status received from HAL
7041 pUserData: user data
7042
7043
7044
7045 RETURN VALUE
7046 The result code associated with performing the operation
7047---------------------------------------------------------------------------*/
7048typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7049 void* pUserData);
7050
7051/*---------------------------------------------------------------------------
7052 WDI_KeepAliveCb
7053
7054 DESCRIPTION
7055
7056 This callback is invoked by DAL when it has received a Keep Alive
7057 response from the underlying device.
7058
7059 PARAMETERS
7060
7061 IN
7062 wdiStatus: response status received from HAL
7063 pUserData: user data
7064
7065
7066
7067 RETURN VALUE
7068 The result code associated with performing the operation
7069---------------------------------------------------------------------------*/
7070typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7071 void* pUserData);
7072
7073/*---------------------------------------------------------------------------
7074 WDI_WowlAddBcPtrnCb
7075
7076 DESCRIPTION
7077
7078 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7079 response from the underlying device.
7080
7081 PARAMETERS
7082
7083 IN
7084 wdiStatus: response status received from HAL
7085 pUserData: user data
7086
7087
7088
7089 RETURN VALUE
7090 The result code associated with performing the operation
7091---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007092typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007093 void* pUserData);
7094
7095/*---------------------------------------------------------------------------
7096 WDI_WowlDelBcPtrnCb
7097
7098 DESCRIPTION
7099
7100 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7101 response from the underlying device.
7102
7103 PARAMETERS
7104
7105 IN
7106 wdiStatus: response status received from HAL
7107 pUserData: user data
7108
7109
7110
7111 RETURN VALUE
7112 The result code associated with performing the operation
7113---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007114typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007115 void* pUserData);
7116
7117/*---------------------------------------------------------------------------
7118 WDI_WowlEnterReqCb
7119
7120 DESCRIPTION
7121
7122 This callback is invoked by DAL when it has received a Wowl enter
7123 response from the underlying device.
7124
7125 PARAMETERS
7126
7127 IN
7128 wdiStatus: response status received from HAL
7129 pUserData: user data
7130
7131
7132
7133 RETURN VALUE
7134 The result code associated with performing the operation
7135---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007136typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7137 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007138
7139/*---------------------------------------------------------------------------
7140 WDI_WowlExitReqCb
7141
7142 DESCRIPTION
7143
7144 This callback is invoked by DAL when it has received a Wowl exit
7145 response from the underlying device.
7146
7147 PARAMETERS
7148
7149 IN
7150 wdiStatus: response status received from HAL
7151 pUserData: user data
7152
7153
7154
7155 RETURN VALUE
7156 The result code associated with performing the operation
7157---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007158typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007159 void* pUserData);
7160
7161/*---------------------------------------------------------------------------
7162 WDI_ConfigureAppsCpuWakeupStateCb
7163
7164 DESCRIPTION
7165
7166 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7167 State response from the underlying device.
7168
7169 PARAMETERS
7170
7171 IN
7172 wdiStatus: response status received from HAL
7173 pUserData: user data
7174
7175
7176
7177 RETURN VALUE
7178 The result code associated with performing the operation
7179---------------------------------------------------------------------------*/
7180typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7181 void* pUserData);
7182/*---------------------------------------------------------------------------
7183 WDI_NvDownloadRspCb
7184
7185 DESCRIPTION
7186
7187 This callback is invoked by DAL when it has received a NV Download response
7188 from the underlying device.
7189
7190 PARAMETERS
7191
7192 IN
7193 wdiStatus:response status received from HAL
7194 pUserData:user data
7195
7196 RETURN VALUE
7197 The result code associated with performing the operation
7198---------------------------------------------------------------------------*/
7199typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7200 void* pUserData);
7201/*---------------------------------------------------------------------------
7202 WDI_FlushAcRspCb
7203
7204 DESCRIPTION
7205
7206 This callback is invoked by DAL when it has received a Flush AC response from
7207 the underlying device.
7208
7209 PARAMETERS
7210
7211 IN
7212 wdiStatus: response status received from HAL
7213 pUserData: user data
7214
7215
7216
7217 RETURN VALUE
7218 The result code associated with performing the operation
7219---------------------------------------------------------------------------*/
7220typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7221 void* pUserData);
7222
7223/*---------------------------------------------------------------------------
7224 WDI_BtAmpEventRspCb
7225
7226 DESCRIPTION
7227
7228 This callback is invoked by DAL when it has received a Bt AMP event response
7229 from the underlying device.
7230
7231 PARAMETERS
7232
7233 IN
7234 wdiStatus: response status received from HAL
7235 pUserData: user data
7236
7237
7238
7239 RETURN VALUE
7240 The result code associated with performing the operation
7241---------------------------------------------------------------------------*/
7242typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7243 void* pUserData);
7244
Jeff Johnsone7245742012-09-05 17:12:55 -07007245#ifdef FEATURE_OEM_DATA_SUPPORT
7246/*---------------------------------------------------------------------------
7247 WDI_oemDataRspCb
7248
7249 DESCRIPTION
7250
7251 This callback is invoked by DAL when it has received a Start oem data response from
7252 the underlying device.
7253
7254 PARAMETERS
7255
7256 IN
7257 wdiStatus: response status received from HAL
7258 pUserData: user data
7259
7260
7261
7262 RETURN VALUE
7263 The result code associated with performing the operation
7264---------------------------------------------------------------------------*/
7265typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7266 void* pUserData);
7267
7268#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007269
7270/*---------------------------------------------------------------------------
7271 WDI_HostResumeEventRspCb
7272
7273 DESCRIPTION
7274
7275 This callback is invoked by DAL when it has received a Bt AMP event response
7276 from the underlying device.
7277
7278 PARAMETERS
7279
7280 IN
7281 wdiStatus: response status received from HAL
7282 pUserData: user data
7283
7284
7285
7286 RETURN VALUE
7287 The result code associated with performing the operation
7288---------------------------------------------------------------------------*/
7289typedef void (*WDI_HostResumeEventRspCb)(
7290 WDI_SuspendResumeRspParamsType *resumeRspParams,
7291 void* pUserData);
7292
7293
7294#ifdef WLAN_FEATURE_VOWIFI_11R
7295/*---------------------------------------------------------------------------
7296 WDI_AggrAddTsRspCb
7297
7298 DESCRIPTION
7299
7300 This callback is invoked by DAL when it has received a Aggregated Add TS
7301 response from the underlying device.
7302
7303 PARAMETERS
7304
7305 IN
7306 wdiStatus: response status received from HAL
7307 pUserData: user data
7308
7309
7310
7311 RETURN VALUE
7312 The result code associated with performing the operation
7313---------------------------------------------------------------------------*/
7314typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7315 void* pUserData);
7316#endif /* WLAN_FEATURE_VOWIFI_11R */
7317
Jeff Johnson295189b2012-06-20 16:38:30 -07007318/*---------------------------------------------------------------------------
7319 WDI_FTMCommandRspCb
7320
7321 DESCRIPTION
7322
7323 FTM Command response CB
7324
7325 PARAMETERS
7326
7327 IN
7328 ftmCMDRspdata: FTM response data from HAL
7329 pUserData: user data
7330
7331
7332 RETURN VALUE
7333 NONE
7334---------------------------------------------------------------------------*/
7335typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7336 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007337
7338/*---------------------------------------------------------------------------
7339 WDI_AddSTASelfParamsRspCb
7340
7341 DESCRIPTION
7342
7343 This callback is invoked by DAL when it has received a Add Sta Self Params
7344 response from the underlying device.
7345
7346 PARAMETERS
7347
7348 IN
7349 wdiAddSelfSTARsp: response status received from HAL
7350 pUserData: user data
7351
7352
7353
7354 RETURN VALUE
7355 The result code associated with performing the operation
7356---------------------------------------------------------------------------*/
7357typedef void (*WDI_AddSTASelfParamsRspCb)(
7358 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7359 void* pUserData);
7360
7361
7362/*---------------------------------------------------------------------------
7363 WDI_DelSTASelfRspCb
7364
7365 DESCRIPTION
7366
7367 This callback is invoked by DAL when it has received a host offload
7368 response from the underlying device.
7369
7370 PARAMETERS
7371
7372 IN
7373 wdiStatus: response status received from HAL
7374 pUserData: user data
7375
7376
7377
7378 RETURN VALUE
7379 The result code associated with performing the operation
7380---------------------------------------------------------------------------*/
7381typedef void (*WDI_DelSTASelfRspCb)
7382(
7383WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7384void* pUserData
7385);
7386
7387#ifdef FEATURE_WLAN_SCAN_PNO
7388/*---------------------------------------------------------------------------
7389 WDI_PNOScanCb
7390
7391 DESCRIPTION
7392
7393 This callback is invoked by DAL when it has received a Set PNO
7394 response from the underlying device.
7395
7396 PARAMETERS
7397
7398 IN
7399 wdiStatus: response status received from HAL
7400 pUserData: user data
7401
7402
7403
7404 RETURN VALUE
7405 The result code associated with performing the operation
7406---------------------------------------------------------------------------*/
7407typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7408 void* pUserData);
7409
7410/*---------------------------------------------------------------------------
7411 WDI_PNOScanCb
7412
7413 DESCRIPTION
7414
7415 This callback is invoked by DAL when it has received a Set PNO
7416 response from the underlying device.
7417
7418 PARAMETERS
7419
7420 IN
7421 wdiStatus: response status received from HAL
7422 pUserData: user data
7423
7424
7425
7426 RETURN VALUE
7427 The result code associated with performing the operation
7428---------------------------------------------------------------------------*/
7429typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7430 void* pUserData);
7431
7432/*---------------------------------------------------------------------------
7433 WDI_UpdateScanParamsCb
7434
7435 DESCRIPTION
7436
7437 This callback is invoked by DAL when it has received a Update Scan Params
7438 response from the underlying device.
7439
7440 PARAMETERS
7441
7442 IN
7443 wdiStatus: response status received from HAL
7444 pUserData: user data
7445
7446
7447
7448 RETURN VALUE
7449 The result code associated with performing the operation
7450---------------------------------------------------------------------------*/
7451typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7452 void* pUserData);
7453#endif // FEATURE_WLAN_SCAN_PNO
7454
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007455typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7456 void* pUserData);
7457
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007458#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7459/*---------------------------------------------------------------------------
7460 WDI_RoamOffloadScanCb
7461
7462 DESCRIPTION
7463
7464 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7465 response from the underlying device.
7466
7467 PARAMETERS
7468
7469 IN
7470 wdiStatus: response status received from HAL
7471 pUserData: user data
7472
7473
7474
7475 RETURN VALUE
7476 The result code associated with performing the operation
7477---------------------------------------------------------------------------*/
7478typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7479 void* pUserData);
7480
7481#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007482/*---------------------------------------------------------------------------
7483 WDI_SetTxPerTrackingRspCb
7484
7485 DESCRIPTION
7486
7487 This callback is invoked by DAL when it has received a Tx PER Tracking
7488 response from the underlying device.
7489
7490 PARAMETERS
7491
7492 IN
7493 wdiStatus: response status received from HAL
7494 pUserData: user data
7495
7496
7497
7498 RETURN VALUE
7499 The result code associated with performing the operation
7500---------------------------------------------------------------------------*/
7501typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7502 void* pUserData);
7503
7504#ifdef WLAN_FEATURE_PACKET_FILTERING
7505/*---------------------------------------------------------------------------
7506 WDI_8023MulticastListCb
7507
7508 DESCRIPTION
7509
7510 This callback is invoked by DAL when it has received a 8023 Multicast List
7511 response from the underlying device.
7512
7513 PARAMETERS
7514
7515 IN
7516 wdiStatus: response status received from HAL
7517 pUserData: user data
7518
7519
7520
7521 RETURN VALUE
7522 The result code associated with performing the operation
7523---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007524typedef void (*WDI_8023MulticastListCb)(
7525 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7526 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007527
7528/*---------------------------------------------------------------------------
7529 WDI_ReceiveFilterSetFilterCb
7530
7531 DESCRIPTION
7532
7533 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7534 response from the underlying device.
7535
7536 PARAMETERS
7537
7538 IN
7539 wdiStatus: response status received from HAL
7540 pUserData: user data
7541
7542
7543
7544 RETURN VALUE
7545 The result code associated with performing the operation
7546---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007547typedef void (*WDI_ReceiveFilterSetFilterCb)(
7548 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7549 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007550
7551/*---------------------------------------------------------------------------
7552 WDI_FilterMatchCountCb
7553
7554 DESCRIPTION
7555
7556 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7557 response from the underlying device.
7558
7559 PARAMETERS
7560
7561 IN
7562 wdiStatus: response status received from HAL
7563 pUserData: user data
7564
7565
7566
7567 RETURN VALUE
7568 The result code associated with performing the operation
7569---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007570typedef void (*WDI_FilterMatchCountCb)(
7571 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7572 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007573
7574/*---------------------------------------------------------------------------
7575 WDI_ReceiveFilterClearFilterCb
7576
7577 DESCRIPTION
7578
7579 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7580 response from the underlying device.
7581
7582 PARAMETERS
7583
7584 IN
7585 wdiStatus: response status received from HAL
7586 pUserData: user data
7587
7588
7589
7590 RETURN VALUE
7591 The result code associated with performing the operation
7592---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007593typedef void (*WDI_ReceiveFilterClearFilterCb)(
7594 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7595 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007596#endif // WLAN_FEATURE_PACKET_FILTERING
7597
7598/*---------------------------------------------------------------------------
7599 WDI_HALDumpCmdRspCb
7600
7601 DESCRIPTION
7602
7603 This callback is invoked by DAL when it has received a HAL DUMP Command
7604response from
7605 the HAL layer.
7606
7607 PARAMETERS
7608
7609 IN
7610 wdiHalDumpCmdRsp: response status received from HAL
7611 pUserData: user data
7612
7613
7614
7615 RETURN VALUE
7616 The result code associated with performing the operation
7617---------------------------------------------------------------------------*/
7618typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7619 void* pUserData);
7620
7621/*---------------------------------------------------------------------------
7622 WDI_SetPowerParamsCb
7623
7624 DESCRIPTION
7625
7626 This callback is invoked by DAL when it has received a Set Power Param
7627 response from the underlying device.
7628
7629 PARAMETERS
7630
7631 IN
7632 wdiStatus: response status received from HAL
7633 pUserData: user data
7634
7635
7636
7637 RETURN VALUE
7638 The result code associated with performing the operation
7639---------------------------------------------------------------------------*/
7640typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7641 void* pUserData);
7642
7643#ifdef WLAN_FEATURE_GTK_OFFLOAD
7644/*---------------------------------------------------------------------------
7645 WDI_GtkOffloadCb
7646
7647 DESCRIPTION
7648
7649 This callback is invoked by DAL when it has received a GTK offload
7650 response from the underlying device.
7651
7652 PARAMETERS
7653
7654 IN
7655 wdiStatus: response status received from HAL
7656 pUserData: user data
7657
7658
7659
7660 RETURN VALUE
7661 The result code associated with performing the operation
7662---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007663typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007664 void* pUserData);
7665
7666/*---------------------------------------------------------------------------
7667 WDI_GtkOffloadGetInfoCb
7668
7669 DESCRIPTION
7670
7671 This callback is invoked by DAL when it has received a GTK offload
7672 information response from the underlying device.
7673
7674 PARAMETERS
7675
7676 IN
7677 wdiStatus: response status received from HAL
7678 pUserData: user data
7679
7680
7681
7682 RETURN VALUE
7683 The result code associated with performing the operation
7684---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007685typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007686 void* pUserData);
7687#endif // WLAN_FEATURE_GTK_OFFLOAD
7688
7689/*---------------------------------------------------------------------------
7690 WDI_SetTmLevelCb
7691
7692 DESCRIPTION
7693
7694 This callback is invoked by DAL when it has received a Set New TM Level
7695 done response from the underlying device.
7696
7697 PARAMETERS
7698
7699 IN
7700 wdiStatus: response status received from HAL
7701 pUserData: user data
7702
7703
7704
7705 RETURN VALUE
7706 The result code associated with performing the operation
7707---------------------------------------------------------------------------*/
7708typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7709 void* pUserData);
7710
7711/*---------------------------------------------------------------------------
7712 WDI_featureCapsExchangeCb
7713
7714 DESCRIPTION
7715
7716 This callback is invoked by DAL when it has received a HAL Feature Capbility
7717 Exchange Response the HAL layer. This callback is put to mantain code
7718 similarity and is not being used right now.
7719
7720 PARAMETERS
7721
7722 IN
7723 wdiFeatCapRspParams: response parameters received from HAL
7724 pUserData: user data
7725
7726 RETURN VALUE
7727 The result code associated with performing the operation
7728---------------------------------------------------------------------------*/
7729typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7730 void* pUserData);
7731
Mohit Khanna4a70d262012-09-11 16:30:12 -07007732#ifdef WLAN_FEATURE_11AC
7733typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7734 void* pUserData);
7735#endif
7736
Leo Chang9056f462013-08-01 19:21:11 -07007737#ifdef FEATURE_WLAN_LPHB
7738typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7739 void* pUserData);
7740#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007741
Rajeev79dbe4c2013-10-05 11:03:42 +05307742#ifdef FEATURE_WLAN_BATCH_SCAN
7743/*---------------------------------------------------------------------------
7744 WDI_SetBatchScanCb
7745
7746 DESCRIPTION
7747
7748 This callback is invoked by DAL when it has received a get batch scan
7749 response from the underlying device.
7750
7751 PARAMETERS
7752
7753 IN
7754 wdiStatus: response status received from HAL
7755 pUserData: user data
7756
7757
7758
7759 RETURN VALUE
7760 The result code associated with performing the operation
7761---------------------------------------------------------------------------*/
7762typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7763
7764#endif
7765
c_hpothu92367912014-05-01 15:18:17 +05307766typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
7767 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05307768
Dino Mycle41bdc942014-06-10 11:30:24 +05307769#ifdef WLAN_FEATURE_EXTSCAN
7770typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
7771 void *pUserData);
7772typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
7773 void *pUserData);
7774typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
7775 void *pUserData);
7776typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
7777 void *pUserData);
7778typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
7779 void *pUserData);
7780typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
7781 void *pUserData);
7782typedef void (*WDI_EXTScanSetSignfRSSIChangeRspCb)(void *pEventData,
7783 void *pUserData);
7784typedef void (*WDI_EXTScanResetSignfRSSIChangeRspCb)(void *pEventData,
7785 void *pUserData);
7786#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05307787
7788#ifdef WLAN_FEATURE_LINK_LAYER_STATS
7789typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
7790 void *pUserData);
7791typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
7792 void *pUserData);
7793typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
7794 void *pUserData);
7795#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05307796
7797typedef void (*WDI_SetSpoofMacAddrRspCb)(
7798 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007799/*========================================================================
7800 * Function Declarations and Documentation
7801 ==========================================================================*/
7802
7803/*========================================================================
7804
7805 INITIALIZATION APIs
7806
7807==========================================================================*/
7808
7809/**
7810 @brief WDI_Init is used to initialize the DAL.
7811
7812 DAL will allocate all the resources it needs. It will open PAL, it will also
7813 open both the data and the control transport which in their turn will open
7814 DXE/SMD or any other drivers that they need.
7815
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307816 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07007817 ppWDIGlobalCtx: output pointer of Global Context
7818 pWdiDevCapability: output pointer of device capability
7819
7820 @return Result of the function call
7821*/
7822WDI_Status
7823WDI_Init
7824(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307825 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07007826 void** ppWDIGlobalCtx,
7827 WDI_DeviceCapabilityType* pWdiDevCapability,
7828 unsigned int driverType
7829);
7830
7831/**
7832 @brief WDI_Start will be called when the upper MAC is ready to
7833 commence operation with the WLAN Device. Upon the call
7834 of this API the WLAN DAL will pack and send a HAL Start
7835 message to the lower RIVA sub-system if the SMD channel
7836 has been fully opened and the RIVA subsystem is up.
7837
7838 If the RIVA sub-system is not yet up and running DAL
7839 will queue the request for Open and will wait for the
7840 SMD notification before attempting to send down the
7841 message to HAL.
7842
7843 WDI_Init must have been called.
7844
7845 @param wdiStartParams: the start parameters as specified by
7846 the Device Interface
7847
7848 wdiStartRspCb: callback for passing back the response of
7849 the start operation received from the device
7850
7851 pUserData: user data will be passed back with the
7852 callback
7853
7854 @see WDI_Start
7855 @return Result of the function call
7856*/
7857WDI_Status
7858WDI_Start
7859(
7860 WDI_StartReqParamsType* pwdiStartParams,
7861 WDI_StartRspCb wdiStartRspCb,
7862 void* pUserData
7863);
7864
7865
7866/**
7867 @brief WDI_Stop will be called when the upper MAC is ready to
7868 stop any operation with the WLAN Device. Upon the call
7869 of this API the WLAN DAL will pack and send a HAL Stop
7870 message to the lower RIVA sub-system if the DAL Core is
7871 in started state.
7872
7873 In state BUSY this request will be queued.
7874
7875 Request will not be accepted in any other state.
7876
7877 WDI_Start must have been called.
7878
7879 @param wdiStopParams: the stop parameters as specified by
7880 the Device Interface
7881
7882 wdiStopRspCb: callback for passing back the response of
7883 the stop operation received from the device
7884
7885 pUserData: user data will be passed back with the
7886 callback
7887
7888 @see WDI_Start
7889 @return Result of the function call
7890*/
7891WDI_Status
7892WDI_Stop
7893(
7894 WDI_StopReqParamsType* pwdiStopParams,
7895 WDI_StopRspCb wdiStopRspCb,
7896 void* pUserData
7897);
7898
7899/**
7900 @brief WDI_Close will be called when the upper MAC no longer
7901 needs to interract with DAL. DAL will free its control
7902 block.
7903
7904 It is only accepted in state STOPPED.
7905
7906 WDI_Stop must have been called.
7907
7908 @param none
7909
7910 @see WDI_Stop
7911 @return Result of the function call
7912*/
7913WDI_Status
7914WDI_Close
7915(
7916 void
7917);
7918
7919
7920/**
7921 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7922 This will do most of the WDI stop & close
7923 operations without doing any handshake with Riva
7924
7925 This will also make sure that the control transport
7926 will NOT be closed.
7927
7928 This request will not be queued.
7929
7930
7931 WDI_Start must have been called.
7932
7933 @param closeTransport: Close control channel if this is set
7934
7935 @return Result of the function call
7936*/
7937WDI_Status
7938WDI_Shutdown
7939(
7940 wpt_boolean closeTransport
7941);
7942
7943/*========================================================================
7944
7945 SCAN APIs
7946
7947==========================================================================*/
7948
7949/**
7950 @brief WDI_InitScanReq will be called when the upper MAC wants
7951 the WLAN Device to get ready for a scan procedure. Upon
7952 the call of this API the WLAN DAL will pack and send a
7953 HAL Init Scan request message to the lower RIVA
7954 sub-system if DAL is in state STARTED.
7955
7956 In state BUSY this request will be queued. Request won't
7957 be allowed in any other state.
7958
7959 WDI_Start must have been called.
7960
7961 @param wdiInitScanParams: the init scan parameters as specified
7962 by the Device Interface
7963
7964 wdiInitScanRspCb: callback for passing back the response
7965 of the init scan operation received from the device
7966
7967 pUserData: user data will be passed back with the
7968 callback
7969
7970 @see WDI_Start
7971 @return Result of the function call
7972*/
7973WDI_Status
7974WDI_InitScanReq
7975(
7976 WDI_InitScanReqParamsType* pwdiInitScanParams,
7977 WDI_InitScanRspCb wdiInitScanRspCb,
7978 void* pUserData
7979);
7980
7981/**
7982 @brief WDI_StartScanReq will be called when the upper MAC
7983 wishes to change the Scan channel on the WLAN Device.
7984 Upon the call of this API the WLAN DAL will pack and
7985 send a HAL Start Scan request message to the lower RIVA
7986 sub-system if DAL is in state STARTED.
7987
7988 In state BUSY this request will be queued. Request won't
7989 be allowed in any other state.
7990
7991 WDI_InitScanReq must have been called.
7992
7993 @param wdiStartScanParams: the start scan parameters as
7994 specified by the Device Interface
7995
7996 wdiStartScanRspCb: callback for passing back the
7997 response of the start scan operation received from the
7998 device
7999
8000 pUserData: user data will be passed back with the
8001 callback
8002
8003 @see WDI_InitScanReq
8004 @return Result of the function call
8005*/
8006WDI_Status
8007WDI_StartScanReq
8008(
8009 WDI_StartScanReqParamsType* pwdiStartScanParams,
8010 WDI_StartScanRspCb wdiStartScanRspCb,
8011 void* pUserData
8012);
8013
8014
8015/**
8016 @brief WDI_EndScanReq will be called when the upper MAC is
8017 wants to end scanning for a particular channel that it
8018 had set before by calling Scan Start on the WLAN Device.
8019 Upon the call of this API the WLAN DAL will pack and
8020 send a HAL End Scan request message to the lower RIVA
8021 sub-system if DAL is in state STARTED.
8022
8023 In state BUSY this request will be queued. Request won't
8024 be allowed in any other state.
8025
8026 WDI_StartScanReq must have been called.
8027
8028 @param wdiEndScanParams: the end scan parameters as specified
8029 by the Device Interface
8030
8031 wdiEndScanRspCb: callback for passing back the response
8032 of the end scan operation received from the device
8033
8034 pUserData: user data will be passed back with the
8035 callback
8036
8037 @see WDI_StartScanReq
8038 @return Result of the function call
8039*/
8040WDI_Status
8041WDI_EndScanReq
8042(
8043 WDI_EndScanReqParamsType* pwdiEndScanParams,
8044 WDI_EndScanRspCb wdiEndScanRspCb,
8045 void* pUserData
8046);
8047
8048
8049/**
8050 @brief WDI_FinishScanReq will be called when the upper MAC has
8051 completed the scan process on the WLAN Device. Upon the
8052 call of this API the WLAN DAL will pack and send a HAL
8053 Finish Scan Request request message to the lower RIVA
8054 sub-system if DAL is in state STARTED.
8055
8056 In state BUSY this request will be queued. Request won't
8057 be allowed in any other state.
8058
8059 WDI_InitScanReq must have been called.
8060
8061 @param wdiFinishScanParams: the finish scan parameters as
8062 specified by the Device Interface
8063
8064 wdiFinishScanRspCb: callback for passing back the
8065 response of the finish scan operation received from the
8066 device
8067
8068 pUserData: user data will be passed back with the
8069 callback
8070
8071 @see WDI_InitScanReq
8072 @return Result of the function call
8073*/
8074WDI_Status
8075WDI_FinishScanReq
8076(
8077 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8078 WDI_FinishScanRspCb wdiFinishScanRspCb,
8079 void* pUserData
8080);
8081
8082/*========================================================================
8083
8084 ASSOCIATION APIs
8085
8086==========================================================================*/
8087
8088/**
8089 @brief WDI_JoinReq will be called when the upper MAC is ready
8090 to start an association procedure to a BSS. Upon the
8091 call of this API the WLAN DAL will pack and send a HAL
8092 Join request message to the lower RIVA sub-system if
8093 DAL is in state STARTED.
8094
8095 In state BUSY this request will be queued. Request won't
8096 be allowed in any other state.
8097
8098 WDI_Start must have been called.
8099
8100 @param wdiJoinParams: the join parameters as specified by
8101 the Device Interface
8102
8103 wdiJoinRspCb: callback for passing back the response of
8104 the join operation received from the device
8105
8106 pUserData: user data will be passed back with the
8107 callback
8108
8109 @see WDI_Start
8110 @return Result of the function call
8111*/
8112WDI_Status
8113WDI_JoinReq
8114(
8115 WDI_JoinReqParamsType* pwdiJoinParams,
8116 WDI_JoinRspCb wdiJoinRspCb,
8117 void* pUserData
8118);
8119
8120/**
8121 @brief WDI_ConfigBSSReq will be called when the upper MAC
8122 wishes to configure the newly acquired or in process of
8123 being acquired BSS to the HW . Upon the call of this API
8124 the WLAN DAL will pack and send a HAL Config BSS request
8125 message to the lower RIVA sub-system if DAL is in state
8126 STARTED.
8127
8128 In state BUSY this request will be queued. Request won't
8129 be allowed in any other state.
8130
8131 WDI_JoinReq must have been called.
8132
8133 @param wdiConfigBSSParams: the config BSS parameters as
8134 specified by the Device Interface
8135
8136 wdiConfigBSSRspCb: callback for passing back the
8137 response of the config BSS operation received from the
8138 device
8139
8140 pUserData: user data will be passed back with the
8141 callback
8142
8143 @see WDI_JoinReq
8144 @return Result of the function call
8145*/
8146WDI_Status
8147WDI_ConfigBSSReq
8148(
8149 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8150 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8151 void* pUserData
8152);
8153
8154/**
8155 @brief WDI_DelBSSReq will be called when the upper MAC is
8156 dissasociating from the BSS and wishes to notify HW.
8157 Upon the call of this API the WLAN DAL will pack and
8158 send a HAL Del BSS request message to the lower RIVA
8159 sub-system if DAL is in state STARTED.
8160
8161 In state BUSY this request will be queued. Request won't
8162 be allowed in any other state.
8163
8164 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8165
8166 @param wdiDelBSSParams: the del BSS parameters as specified by
8167 the Device Interface
8168
8169 wdiDelBSSRspCb: callback for passing back the response
8170 of the del bss operation received from the device
8171
8172 pUserData: user data will be passed back with the
8173 callback
8174
8175 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8176 @return Result of the function call
8177*/
8178WDI_Status
8179WDI_DelBSSReq
8180(
8181 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8182 WDI_DelBSSRspCb wdiDelBSSRspCb,
8183 void* pUserData
8184);
8185
8186/**
8187 @brief WDI_PostAssocReq will be called when the upper MAC has
8188 associated to a BSS and wishes to configure HW for
8189 associated state. Upon the call of this API the WLAN DAL
8190 will pack and send a HAL Post Assoc request message to
8191 the lower RIVA sub-system if DAL is in state STARTED.
8192
8193 In state BUSY this request will be queued. Request won't
8194 be allowed in any other state.
8195
8196 WDI_JoinReq must have been called.
8197
8198 @param wdiPostAssocReqParams: the assoc parameters as specified
8199 by the Device Interface
8200
8201 wdiPostAssocRspCb: callback for passing back the
8202 response of the post assoc operation received from the
8203 device
8204
8205 pUserData: user data will be passed back with the
8206 callback
8207
8208 @see WDI_JoinReq
8209 @return Result of the function call
8210*/
8211WDI_Status
8212WDI_PostAssocReq
8213(
8214 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8215 WDI_PostAssocRspCb wdiPostAssocRspCb,
8216 void* pUserData
8217);
8218
8219/**
8220 @brief WDI_DelSTAReq will be called when the upper MAC when an
8221 association with another STA has ended and the station
8222 must be deleted from HW. Upon the call of this API the
8223 WLAN DAL will pack and send a HAL Del STA request
8224 message to the lower RIVA sub-system if DAL is in state
8225 STARTED.
8226
8227 In state BUSY this request will be queued. Request won't
8228 be allowed in any other state.
8229
8230 WDI_PostAssocReq must have been called.
8231
8232 @param wdiDelSTAParams: the Del STA parameters as specified by
8233 the Device Interface
8234
8235 wdiDelSTARspCb: callback for passing back the response
8236 of the del STA operation received from the device
8237
8238 pUserData: user data will be passed back with the
8239 callback
8240
8241 @see WDI_PostAssocReq
8242 @return Result of the function call
8243*/
8244WDI_Status
8245WDI_DelSTAReq
8246(
8247 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8248 WDI_DelSTARspCb wdiDelSTARspCb,
8249 void* pUserData
8250);
8251
8252/*========================================================================
8253
8254 SECURITY APIs
8255
8256==========================================================================*/
8257
8258/**
8259 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8260 install a BSS encryption key on the HW. Upon the call of
8261 this API the WLAN DAL will pack and send a HAL Start
8262 request message to the lower RIVA sub-system if DAL is
8263 in state STARTED.
8264
8265 In state BUSY this request will be queued. Request won't
8266 be allowed in any other state.
8267
8268 WDI_PostAssocReq must have been called.
8269
8270 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8271 specified by the Device Interface
8272
8273 wdiSetBSSKeyRspCb: callback for passing back the
8274 response of the set BSS Key operation received from the
8275 device
8276
8277 pUserData: user data will be passed back with the
8278 callback
8279
8280 @see WDI_PostAssocReq
8281 @return Result of the function call
8282*/
8283WDI_Status
8284WDI_SetBSSKeyReq
8285(
8286 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8287 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8288 void* pUserData
8289);
8290
8291
8292/**
8293 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8294 uninstall a BSS key from HW. Upon the call of this API
8295 the WLAN DAL will pack and send a HAL Remove BSS Key
8296 request message to the lower RIVA sub-system if DAL is
8297 in state STARTED.
8298
8299 In state BUSY this request will be queued. Request won't
8300 be allowed in any other state.
8301
8302 WDI_SetBSSKeyReq must have been called.
8303
8304 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8305 specified by the Device Interface
8306
8307 wdiRemoveBSSKeyRspCb: callback for passing back the
8308 response of the remove BSS key operation received from
8309 the device
8310
8311 pUserData: user data will be passed back with the
8312 callback
8313
8314 @see WDI_SetBSSKeyReq
8315 @return Result of the function call
8316*/
8317WDI_Status
8318WDI_RemoveBSSKeyReq
8319(
8320 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8321 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8322 void* pUserData
8323);
8324
8325
8326/**
8327 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8328 ready to install a STA(ast) encryption key in HW. Upon
8329 the call of this API the WLAN DAL will pack and send a
8330 HAL Set STA Key request message to the lower RIVA
8331 sub-system if DAL is in state STARTED.
8332
8333 In state BUSY this request will be queued. Request won't
8334 be allowed in any other state.
8335
8336 WDI_PostAssocReq must have been called.
8337
8338 @param wdiSetSTAKeyParams: the set STA key parameters as
8339 specified by the Device Interface
8340
8341 wdiSetSTAKeyRspCb: callback for passing back the
8342 response of the set STA key operation received from the
8343 device
8344
8345 pUserData: user data will be passed back with the
8346 callback
8347
8348 @see WDI_PostAssocReq
8349 @return Result of the function call
8350*/
8351WDI_Status
8352WDI_SetSTAKeyReq
8353(
8354 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8355 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8356 void* pUserData
8357);
8358
8359
8360/**
8361 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8362 wants to unistall a previously set STA key in HW. Upon
8363 the call of this API the WLAN DAL will pack and send a
8364 HAL Remove STA Key request message to the lower RIVA
8365 sub-system if DAL is in state STARTED.
8366
8367 In state BUSY this request will be queued. Request won't
8368 be allowed in any other state.
8369
8370 WDI_SetSTAKeyReq must have been called.
8371
8372 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8373 specified by the Device Interface
8374
8375 wdiRemoveSTAKeyRspCb: callback for passing back the
8376 response of the remove STA key operation received from
8377 the device
8378
8379 pUserData: user data will be passed back with the
8380 callback
8381
8382 @see WDI_SetSTAKeyReq
8383 @return Result of the function call
8384*/
8385WDI_Status
8386WDI_RemoveSTAKeyReq
8387(
8388 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8389 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8390 void* pUserData
8391);
8392
8393/**
8394 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8395 wants to install a STA Bcast encryption key on the HW.
8396 Upon the call of this API the WLAN DAL will pack and
8397 send a HAL Start request message to the lower RIVA
8398 sub-system if DAL is in state STARTED.
8399
8400 In state BUSY this request will be queued. Request won't
8401 be allowed in any other state.
8402
8403 WDI_PostAssocReq must have been called.
8404
8405 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8406 specified by the Device Interface
8407
8408 wdiSetSTABcastKeyRspCb: callback for passing back the
8409 response of the set BSS Key operation received from the
8410 device
8411
8412 pUserData: user data will be passed back with the
8413 callback
8414
8415 @see WDI_PostAssocReq
8416 @return Result of the function call
8417*/
8418WDI_Status
8419WDI_SetSTABcastKeyReq
8420(
8421 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8422 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8423 void* pUserData
8424);
8425
8426
8427/**
8428 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8429 MAC to uninstall a STA Bcast key from HW. Upon the call
8430 of this API the WLAN DAL will pack and send a HAL Remove
8431 STA Bcast Key request message to the lower RIVA
8432 sub-system if DAL is in state STARTED.
8433
8434 In state BUSY this request will be queued. Request won't
8435 be allowed in any other state.
8436
8437 WDI_SetSTABcastKeyReq must have been called.
8438
8439 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8440 parameters as specified by the Device
8441 Interface
8442
8443 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8444 response of the remove STA Bcast key operation received
8445 from the device
8446
8447 pUserData: user data will be passed back with the
8448 callback
8449
8450 @see WDI_SetSTABcastKeyReq
8451 @return Result of the function call
8452*/
8453WDI_Status
8454WDI_RemoveSTABcastKeyReq
8455(
8456 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8457 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8458 void* pUserData
8459);
8460
schang86c22c42013-03-13 18:41:24 -07008461
8462/**
8463 @brief WDI_SetTxPowerReq will be called when the upper
8464 MAC wants to set Tx Power to HW.
8465 In state BUSY this request will be queued. Request won't
8466 be allowed in any other state.
8467
8468
8469 @param pwdiSetTxPowerParams: set TS Power parameters
8470 BSSID and target TX Power with dbm included
8471
8472 wdiReqStatusCb: callback for passing back the response
8473
8474 pUserData: user data will be passed back with the
8475 callback
8476
8477 @return Result of the function call
8478*/
8479WDI_Status
8480WDI_SetTxPowerReq
8481(
8482 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8483 WDA_SetTxPowerRspCb wdiReqStatusCb,
8484 void* pUserData
8485);
8486
Jeff Johnson295189b2012-06-20 16:38:30 -07008487/**
8488 @brief WDI_SetMaxTxPowerReq will be called when the upper
8489 MAC wants to set Max Tx Power to HW. Upon the
8490 call of this API the WLAN DAL will pack and send a HAL
8491 Remove STA Bcast Key request message to the lower RIVA
8492 sub-system if DAL is in state STARTED.
8493
8494 In state BUSY this request will be queued. Request won't
8495 be allowed in any other state.
8496
8497 WDI_SetSTABcastKeyReq must have been called.
8498
8499 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8500 parameters as specified by the Device
8501 Interface
8502
8503 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8504 response of the remove STA Bcast key operation received
8505 from the device
8506
8507 pUserData: user data will be passed back with the
8508 callback
8509
8510 @see WDI_SetMaxTxPowerReq
8511 @return Result of the function call
8512*/
8513WDI_Status
8514WDI_SetMaxTxPowerReq
8515(
8516 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8517 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8518 void* pUserData
8519);
8520
Arif Hussaina5ebce02013-08-09 15:09:58 -07008521/**
8522 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8523 MAC wants to set Max Tx Power to HW for specific band. Upon the
8524 call of this API the WLAN DAL will pack and send a HAL
8525 Set Max Tx Power Per Band request message to the lower RIVA
8526 sub-system if DAL is in state STARTED.
8527
8528 In state BUSY this request will be queued. Request won't
8529 be allowed in any other state.
8530
8531
8532 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8533
8534 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8535 when it has received a set max Tx Power Per Band response from
8536 the underlying device.
8537
8538 pUserData: user data will be passed back with the
8539 callback
8540
8541 @see WDI_SetMaxTxPowerPerBandReq
8542 @return Result of the function call
8543*/
8544WDI_Status
8545WDI_SetMaxTxPowerPerBandReq
8546(
8547 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8548 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8549 void* pUserData
8550);
8551
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008552#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008553/**
8554 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8555 Traffic Stream metrics.
8556 In state BUSY this request will be queued. Request won't
8557 be allowed in any other state.
8558
8559 @param wdiAddTsReqParams: the add TS parameters as specified by
8560 the Device Interface
8561
8562 wdiAddTsRspCb: callback for passing back the response of
8563 the add TS operation received from the device
8564
8565 pUserData: user data will be passed back with the
8566 callback
8567
8568 @see WDI_PostAssocReq
8569 @return Result of the function call
8570*/
8571WDI_Status
8572WDI_TSMStatsReq
8573(
8574 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8575 WDI_TsmRspCb wdiTsmStatsRspCb,
8576 void* pUserData
8577);
8578
8579
8580#endif
8581
8582/*========================================================================
8583
8584 QoS and BA APIs
8585
8586==========================================================================*/
8587
8588/**
8589 @brief WDI_AddTSReq will be called when the upper MAC to inform
8590 the device of a successful add TSpec negotiation. HW
8591 needs to receive the TSpec Info from the UMAC in order
8592 to configure properly the QoS data traffic. Upon the
8593 call of this API the WLAN DAL will pack and send a HAL
8594 Add TS request message to the lower RIVA sub-system if
8595 DAL is in state STARTED.
8596
8597 In state BUSY this request will be queued. Request won't
8598 be allowed in any other state.
8599
8600 WDI_PostAssocReq must have been called.
8601
8602 @param wdiAddTsReqParams: the add TS parameters as specified by
8603 the Device Interface
8604
8605 wdiAddTsRspCb: callback for passing back the response of
8606 the add TS operation received from the device
8607
8608 pUserData: user data will be passed back with the
8609 callback
8610
8611 @see WDI_PostAssocReq
8612 @return Result of the function call
8613*/
8614WDI_Status
8615WDI_AddTSReq
8616(
8617 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8618 WDI_AddTsRspCb wdiAddTsRspCb,
8619 void* pUserData
8620);
8621
8622
8623
8624/**
8625 @brief WDI_DelTSReq will be called when the upper MAC has ended
8626 admission on a specific AC. This is to inform HW that
8627 QoS traffic parameters must be rest. Upon the call of
8628 this API the WLAN DAL will pack and send a HAL Del TS
8629 request message to the lower RIVA sub-system if DAL is
8630 in state STARTED.
8631
8632 In state BUSY this request will be queued. Request won't
8633 be allowed in any other state.
8634
8635 WDI_AddTSReq must have been called.
8636
8637 @param wdiDelTsReqParams: the del TS parameters as specified by
8638 the Device Interface
8639
8640 wdiDelTsRspCb: callback for passing back the response of
8641 the del TS operation received from the device
8642
8643 pUserData: user data will be passed back with the
8644 callback
8645
8646 @see WDI_AddTSReq
8647 @return Result of the function call
8648*/
8649WDI_Status
8650WDI_DelTSReq
8651(
8652 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8653 WDI_DelTsRspCb wdiDelTsRspCb,
8654 void* pUserData
8655);
8656
8657
8658
8659/**
8660 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8661 wishes to update the EDCA parameters used by HW for QoS
8662 data traffic. Upon the call of this API the WLAN DAL
8663 will pack and send a HAL Update EDCA Params request
8664 message to the lower RIVA sub-system if DAL is in state
8665 STARTED.
8666
8667 In state BUSY this request will be queued. Request won't
8668 be allowed in any other state.
8669
8670 WDI_PostAssocReq must have been called.
8671
8672 @param wdiUpdateEDCAParams: the start parameters as specified
8673 by the Device Interface
8674
8675 wdiUpdateEDCAParamsRspCb: callback for passing back the
8676 response of the start operation received from the device
8677
8678 pUserData: user data will be passed back with the
8679 callback
8680
8681 @see WDI_PostAssocReq
8682 @return Result of the function call
8683*/
8684WDI_Status
8685WDI_UpdateEDCAParams
8686(
8687 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8688 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8689 void* pUserData
8690);
8691
8692
8693
8694/**
8695 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8696 successfully a BA session and needs to notify the HW for
8697 the appropriate settings to take place. Upon the call of
8698 this API the WLAN DAL will pack and send a HAL Add BA
8699 request message to the lower RIVA sub-system if DAL is
8700 in state STARTED.
8701
8702 In state BUSY this request will be queued. Request won't
8703 be allowed in any other state.
8704
8705 WDI_PostAssocReq must have been called.
8706
8707 @param wdiAddBAReqParams: the add BA parameters as specified by
8708 the Device Interface
8709
8710 wdiAddBARspCb: callback for passing back the response of
8711 the add BA operation received from the device
8712
8713 pUserData: user data will be passed back with the
8714 callback
8715
8716 @see WDI_PostAssocReq
8717 @return Result of the function call
8718*/
8719WDI_Status
8720WDI_AddBASessionReq
8721(
8722 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8723 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8724 void* pUserData
8725);
8726
8727
8728/**
8729 @brief WDI_DelBAReq will be called when the upper MAC wants to
8730 inform HW that it has deleted a previously created BA
8731 session. Upon the call of this API the WLAN DAL will
8732 pack and send a HAL Del BA request message to the lower
8733 RIVA sub-system if DAL is in state STARTED.
8734
8735 In state BUSY this request will be queued. Request won't
8736 be allowed in any other state.
8737
8738 WDI_AddBAReq must have been called.
8739
8740 @param wdiDelBAReqParams: the del BA parameters as specified by
8741 the Device Interface
8742
8743 wdiDelBARspCb: callback for passing back the response of
8744 the del BA operation received from the device
8745
8746 pUserData: user data will be passed back with the
8747 callback
8748
8749 @see WDI_AddBAReq
8750 @return Result of the function call
8751*/
8752WDI_Status
8753WDI_DelBAReq
8754(
8755 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8756 WDI_DelBARspCb wdiDelBARspCb,
8757 void* pUserData
8758);
8759
8760/**
8761 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8762 inform HW that there is a change in the beacon parameters
8763 Upon the call of this API the WLAN DAL will
8764 pack and send a UpdateBeacon Params message to the lower
8765 RIVA sub-system if DAL is in state STARTED.
8766
8767 In state BUSY this request will be queued. Request won't
8768 be allowed in any other state.
8769
8770 WDI_UpdateBeaconParamsReq must have been called.
8771
8772 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8773 the Device Interface
8774
8775 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8776 the Update Beacon Params operation received from the device
8777
8778 pUserData: user data will be passed back with the
8779 callback
8780
8781 @see WDI_AddBAReq
8782 @return Result of the function call
8783*/
8784
8785WDI_Status
8786WDI_UpdateBeaconParamsReq
8787(
8788 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8789 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8790 void* pUserData
8791);
8792
8793
8794/**
8795 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8796 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8797 Upon the call of this API the WLAN DAL will
8798 pack and send the beacon Template message to the lower
8799 RIVA sub-system if DAL is in state STARTED.
8800
8801 In state BUSY this request will be queued. Request won't
8802 be allowed in any other state.
8803
8804 WDI_SendBeaconParamsReq must have been called.
8805
8806 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8807 the Device Interface
8808
8809 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8810 the Send Beacon Params operation received from the device
8811
8812 pUserData: user data will be passed back with the
8813 callback
8814
8815 @see WDI_AddBAReq
8816 @return Result of the function call
8817*/
8818
8819WDI_Status
8820WDI_SendBeaconParamsReq
8821(
8822 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8823 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8824 void* pUserData
8825);
8826
8827
8828/**
8829 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8830 upper MAC wants to update the probe response template to
8831 be transmitted as Soft AP
8832 Upon the call of this API the WLAN DAL will
8833 pack and send the probe rsp template message to the
8834 lower RIVA sub-system if DAL is in state STARTED.
8835
8836 In state BUSY this request will be queued. Request won't
8837 be allowed in any other state.
8838
8839
8840 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8841 specified by the Device Interface
8842
8843 wdiSendBeaconParamsRspCb: callback for passing back the
8844 response of the Send Beacon Params operation received
8845 from the device
8846
8847 pUserData: user data will be passed back with the
8848 callback
8849
8850 @see WDI_AddBAReq
8851 @return Result of the function call
8852*/
8853
8854WDI_Status
8855WDI_UpdateProbeRspTemplateReq
8856(
8857 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8858 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8859 void* pUserData
8860);
8861
Jeff Johnson295189b2012-06-20 16:38:30 -07008862/**
8863 @brief WDI_SetP2PGONOAReq will be called when the
8864 upper MAC wants to send Notice of Absence
8865 Upon the call of this API the WLAN DAL will
8866 pack and send the probe rsp template message to the
8867 lower RIVA sub-system if DAL is in state STARTED.
8868
8869 In state BUSY this request will be queued. Request won't
8870 be allowed in any other state.
8871
8872
8873 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8874 specified by the Device Interface
8875
8876 wdiSendBeaconParamsRspCb: callback for passing back the
8877 response of the Send Beacon Params operation received
8878 from the device
8879
8880 pUserData: user data will be passed back with the
8881 callback
8882
8883 @see WDI_AddBAReq
8884 @return Result of the function call
8885*/
8886WDI_Status
8887WDI_SetP2PGONOAReq
8888(
8889 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
8890 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
8891 void* pUserData
8892);
Jeff Johnson295189b2012-06-20 16:38:30 -07008893
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05308894/**
8895 @brief WDI_SetTDLSLinkEstablishReq will be called when the
8896 upper MAC wants to send TDLS Link Establish Request Parameters
8897 Upon the call of this API the WLAN DAL will
8898 pack and send the TDLS Link Establish Request message to the
8899 lower RIVA sub-system if DAL is in state STARTED.
8900
8901 In state BUSY this request will be queued. Request won't
8902 be allowed in any other state.
8903
8904
8905 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
8906 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
8907
8908 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
8909 response of the TDLS Link Establish request received
8910 from the device
8911
8912 pUserData: user data will be passed back with the
8913 callback
8914
8915 @see
8916 @return Result of the function call
8917*/
8918WDI_Status
8919WDI_SetTDLSLinkEstablishReq
8920(
8921 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8922 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8923 void* pUserData
8924);
Jeff Johnson295189b2012-06-20 16:38:30 -07008925
Atul Mittalc0f739f2014-07-31 13:47:47 +05308926WDI_Status
8927WDI_SetTDLSChanSwitchReq
8928(
8929 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
8930 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
8931 void* pUserData
8932);
Jeff Johnson295189b2012-06-20 16:38:30 -07008933/*========================================================================
8934
8935 Power Save APIs
8936
8937==========================================================================*/
8938
8939/**
8940 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8941 wants to set the power save related configurations of
8942 the WLAN Device. Upon the call of this API the WLAN DAL
8943 will pack and send a HAL Update CFG request message to
8944 the lower RIVA sub-system if DAL is in state STARTED.
8945
8946 In state BUSY this request will be queued. Request won't
8947 be allowed in any other state.
8948
8949 WDI_Start must have been called.
8950
8951 @param pwdiPowerSaveCfg: the power save cfg parameters as
8952 specified by the Device Interface
8953
8954 wdiSetPwrSaveCfgCb: callback for passing back the
8955 response of the set power save cfg operation received
8956 from the device
8957
8958 pUserData: user data will be passed back with the
8959 callback
8960
8961 @see WDI_Start
8962 @return Result of the function call
8963*/
8964WDI_Status
8965WDI_SetPwrSaveCfgReq
8966(
8967 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8968 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8969 void* pUserData
8970);
8971
8972/**
8973 @brief WDI_EnterImpsReq will be called when the upper MAC to
8974 request the device to get into IMPS power state. Upon
8975 the call of this API the WLAN DAL will send a HAL Enter
8976 IMPS request message to the lower RIVA sub-system if DAL
8977 is in state STARTED.
8978
8979 In state BUSY this request will be queued. Request won't
8980 be allowed in any other state.
8981
8982
8983 @param wdiEnterImpsRspCb: callback for passing back the
8984 response of the Enter IMPS operation received from the
8985 device
8986
8987 pUserData: user data will be passed back with the
8988 callback
8989
8990 @see WDI_Start
8991 @return Result of the function call
8992*/
8993WDI_Status
8994WDI_EnterImpsReq
8995(
Mihir Shetea4306052014-03-25 00:02:54 +05308996 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008997 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
8998 void* pUserData
8999);
9000
9001/**
9002 @brief WDI_ExitImpsReq will be called when the upper MAC to
9003 request the device to get out of IMPS power state. Upon
9004 the call of this API the WLAN DAL will send a HAL Exit
9005 IMPS request message to the lower RIVA sub-system if DAL
9006 is in state STARTED.
9007
9008 In state BUSY this request will be queued. Request won't
9009 be allowed in any other state.
9010
9011
9012
9013 @param wdiExitImpsRspCb: callback for passing back the response
9014 of the Exit IMPS operation received from the device
9015
9016 pUserData: user data will be passed back with the
9017 callback
9018
9019 @see WDI_Start
9020 @return Result of the function call
9021*/
9022WDI_Status
9023WDI_ExitImpsReq
9024(
9025 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9026 void* pUserData
9027);
9028
9029/**
9030 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9031 request the device to get into BMPS power state. Upon
9032 the call of this API the WLAN DAL will pack and send a
9033 HAL Enter BMPS request message to the lower RIVA
9034 sub-system if DAL is in state STARTED.
9035
9036 In state BUSY this request will be queued. Request won't
9037 be allowed in any other state.
9038
9039 WDI_PostAssocReq must have been called.
9040
9041 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9042 specified by the Device Interface
9043
9044 wdiEnterBmpsRspCb: callback for passing back the
9045 response of the Enter BMPS operation received from the
9046 device
9047
9048 pUserData: user data will be passed back with the
9049 callback
9050
9051 @see WDI_PostAssocReq
9052 @return Result of the function call
9053*/
9054WDI_Status
9055WDI_EnterBmpsReq
9056(
9057 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9058 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9059 void* pUserData
9060);
9061
9062/**
9063 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9064 request the device to get out of BMPS power state. Upon
9065 the call of this API the WLAN DAL will pack and send a
9066 HAL Exit BMPS request message to the lower RIVA
9067 sub-system if DAL is in state STARTED.
9068
9069 In state BUSY this request will be queued. Request won't
9070 be allowed in any other state.
9071
9072 WDI_PostAssocReq must have been called.
9073
9074 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9075 specified by the Device Interface
9076
9077 wdiExitBmpsRspCb: callback for passing back the response
9078 of the Exit BMPS operation received from the device
9079
9080 pUserData: user data will be passed back with the
9081 callback
9082
9083 @see WDI_PostAssocReq
9084 @return Result of the function call
9085*/
9086WDI_Status
9087WDI_ExitBmpsReq
9088(
9089 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9090 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9091 void* pUserData
9092);
9093
9094/**
9095 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9096 request the device to get into UAPSD power state. Upon
9097 the call of this API the WLAN DAL will pack and send a
9098 HAL Enter UAPSD request message to the lower RIVA
9099 sub-system if DAL is in state STARTED.
9100
9101 In state BUSY this request will be queued. Request won't
9102 be allowed in any other state.
9103
9104 WDI_PostAssocReq must have been called.
9105 WDI_SetUapsdAcParamsReq must have been called.
9106
9107 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9108 specified by the Device Interface
9109
9110 wdiEnterUapsdRspCb: callback for passing back the
9111 response of the Enter UAPSD operation received from the
9112 device
9113
9114 pUserData: user data will be passed back with the
9115 callback
9116
9117 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9118 @return Result of the function call
9119*/
9120WDI_Status
9121WDI_EnterUapsdReq
9122(
9123 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9124 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9125 void* pUserData
9126);
9127
9128/**
9129 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9130 request the device to get out of UAPSD power state. Upon
9131 the call of this API the WLAN DAL will send a HAL Exit
9132 UAPSD request message to the lower RIVA sub-system if
9133 DAL is in state STARTED.
9134
9135 In state BUSY this request will be queued. Request won't
9136 be allowed in any other state.
9137
9138 WDI_PostAssocReq must have been called.
9139
9140 @param wdiExitUapsdRspCb: callback for passing back the
9141 response of the Exit UAPSD operation received from the
9142 device
9143
9144 pUserData: user data will be passed back with the
9145 callback
9146
9147 @see WDI_PostAssocReq
9148 @return Result of the function call
9149*/
9150WDI_Status
9151WDI_ExitUapsdReq
9152(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009153 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009154 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9155 void* pUserData
9156);
9157
9158/**
9159 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9160 MAC wants to set the UAPSD related configurations
9161 of an associated STA (while acting as an AP) to the WLAN
9162 Device. Upon the call of this API the WLAN DAL will pack
9163 and send a HAL Update UAPSD params request message to
9164 the lower RIVA sub-system if DAL is in state STARTED.
9165
9166 In state BUSY this request will be queued. Request won't
9167 be allowed in any other state.
9168
9169 WDI_ConfigBSSReq must have been called.
9170
9171 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9172 as specified by the Device Interface
9173
9174 wdiUpdateUapsdParamsCb: callback for passing back the
9175 response of the update UAPSD params operation received
9176 from the device
9177
9178 pUserData: user data will be passed back with the
9179 callback
9180
9181 @see WDI_ConfigBSSReq
9182 @return Result of the function call
9183*/
9184WDI_Status
9185WDI_UpdateUapsdParamsReq
9186(
9187 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9188 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9189 void* pUserData
9190);
9191
9192/**
9193 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9194 MAC wants to set the UAPSD related configurations before
9195 requesting for enter UAPSD power state to the WLAN
9196 Device. Upon the call of this API the WLAN DAL will pack
9197 and send a HAL Set UAPSD params request message to
9198 the lower RIVA sub-system if DAL is in state STARTED.
9199
9200 In state BUSY this request will be queued. Request won't
9201 be allowed in any other state.
9202
9203 WDI_PostAssocReq must have been called.
9204
9205 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9206 the Device Interface
9207
9208 wdiSetUapsdAcParamsCb: callback for passing back the
9209 response of the set UAPSD params operation received from
9210 the device
9211
9212 pUserData: user data will be passed back with the
9213 callback
9214
9215 @see WDI_PostAssocReq
9216 @return Result of the function call
9217*/
9218WDI_Status
9219WDI_SetUapsdAcParamsReq
9220(
9221 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9222 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9223 void* pUserData
9224);
9225
9226/**
9227 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9228 MAC wants to set/reset the RXP filters for received pkts
9229 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9230 and send a HAL configure RXP filter request message to
9231 the lower RIVA sub-system.
9232
9233 In state BUSY this request will be queued. Request won't
9234 be allowed in any other state.
9235
9236
9237 @param pwdiConfigureRxpFilterReqParams: the RXP
9238 filter as specified by the Device
9239 Interface
9240
9241 wdiConfigureRxpFilterCb: callback for passing back the
9242 response of the configure RXP filter operation received
9243 from the device
9244
9245 pUserData: user data will be passed back with the
9246 callback
9247
9248 @return Result of the function call
9249*/
9250WDI_Status
9251WDI_ConfigureRxpFilterReq
9252(
9253 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9254 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9255 void* pUserData
9256);
9257
9258/**
9259 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9260 wants to set the beacon filters while in power save.
9261 Upon the call of this API the WLAN DAL will pack and
9262 send a Beacon filter request message to the
9263 lower RIVA sub-system.
9264
9265 In state BUSY this request will be queued. Request won't
9266 be allowed in any other state.
9267
9268
9269 @param pwdiBeaconFilterReqParams: the beacon
9270 filter as specified by the Device
9271 Interface
9272
9273 wdiBeaconFilterCb: callback for passing back the
9274 response of the set beacon filter operation received
9275 from the device
9276
9277 pUserData: user data will be passed back with the
9278 callback
9279
9280 @return Result of the function call
9281*/
9282WDI_Status
9283WDI_SetBeaconFilterReq
9284(
9285 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9286 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9287 void* pUserData
9288);
9289
9290/**
9291 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9292 wants to remove the beacon filter for perticular IE
9293 while in power save. Upon the call of this API the WLAN
9294 DAL will pack and send a remove Beacon filter request
9295 message to the lower RIVA sub-system.
9296
9297 In state BUSY this request will be queued. Request won't
9298 be allowed in any other state.
9299
9300
9301 @param pwdiBeaconFilterReqParams: the beacon
9302 filter as specified by the Device
9303 Interface
9304
9305 wdiBeaconFilterCb: callback for passing back the
9306 response of the remove beacon filter operation received
9307 from the device
9308
9309 pUserData: user data will be passed back with the
9310 callback
9311
9312 @return Result of the function call
9313*/
9314WDI_Status
9315WDI_RemBeaconFilterReq
9316(
9317 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9318 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9319 void* pUserData
9320);
9321
9322/**
9323 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9324 MAC wants to set the RSSI thresholds related
9325 configurations while in power save. Upon the call of
9326 this API the WLAN DAL will pack and send a HAL Set RSSI
9327 thresholds request message to the lower RIVA
9328 sub-system if DAL is in state STARTED.
9329
9330 In state BUSY this request will be queued. Request won't
9331 be allowed in any other state.
9332
9333 WDI_PostAssocReq must have been called.
9334
9335 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9336 the Device Interface
9337
9338 wdiSetUapsdAcParamsCb: callback for passing back the
9339 response of the set UAPSD params operation received from
9340 the device
9341
9342 pUserData: user data will be passed back with the
9343 callback
9344
9345 @see WDI_PostAssocReq
9346 @return Result of the function call
9347*/
9348WDI_Status
9349WDI_SetRSSIThresholdsReq
9350(
9351 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9352 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9353 void* pUserData
9354);
9355
9356/**
9357 @brief WDI_HostOffloadReq will be called when the upper MAC
9358 wants to set the filter to minimize unnecessary host
9359 wakeup due to broadcast traffic while in power save.
9360 Upon the call of this API the WLAN DAL will pack and
9361 send a HAL host offload request message to the
9362 lower RIVA sub-system if DAL is in state STARTED.
9363
9364 In state BUSY this request will be queued. Request won't
9365 be allowed in any other state.
9366
9367 WDI_PostAssocReq must have been called.
9368
9369 @param pwdiHostOffloadParams: the host offload as specified
9370 by the Device Interface
9371
9372 wdiHostOffloadCb: callback for passing back the response
9373 of the host offload operation received from the
9374 device
9375
9376 pUserData: user data will be passed back with the
9377 callback
9378
9379 @see WDI_PostAssocReq
9380 @return Result of the function call
9381*/
9382WDI_Status
9383WDI_HostOffloadReq
9384(
9385 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9386 WDI_HostOffloadCb wdiHostOffloadCb,
9387 void* pUserData
9388);
9389
9390/**
9391 @brief WDI_KeepAliveReq will be called when the upper MAC
9392 wants to set the filter to send NULL or unsolicited ARP responses
9393 and minimize unnecessary host wakeups due to while in power save.
9394 Upon the call of this API the WLAN DAL will pack and
9395 send a HAL Keep Alive request message to the
9396 lower RIVA sub-system if DAL is in state STARTED.
9397
9398 In state BUSY this request will be queued. Request won't
9399 be allowed in any other state.
9400
9401 WDI_PostAssocReq must have been called.
9402
9403 @param pwdiKeepAliveParams: the Keep Alive as specified
9404 by the Device Interface
9405
9406 wdiKeepAliveCb: callback for passing back the response
9407 of the Keep Alive operation received from the
9408 device
9409
9410 pUserData: user data will be passed back with the
9411 callback
9412
9413 @see WDI_PostAssocReq
9414 @return Result of the function call
9415*/
9416WDI_Status
9417WDI_KeepAliveReq
9418(
9419 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9420 WDI_KeepAliveCb wdiKeepAliveCb,
9421 void* pUserData
9422);
9423
9424/**
9425 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9426 wants to set the Wowl Bcast ptrn to minimize unnecessary
9427 host wakeup due to broadcast traffic while in power
9428 save. Upon the call of this API the WLAN DAL will pack
9429 and send a HAL Wowl Bcast ptrn request message to the
9430 lower RIVA sub-system if DAL is in state STARTED.
9431
9432 In state BUSY this request will be queued. Request won't
9433 be allowed in any other state.
9434
9435 WDI_PostAssocReq must have been called.
9436
9437 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9438 specified by the Device Interface
9439
9440 wdiWowlAddBcPtrnCb: callback for passing back the
9441 response of the add Wowl bcast ptrn operation received
9442 from the device
9443
9444 pUserData: user data will be passed back with the
9445 callback
9446
9447 @see WDI_PostAssocReq
9448 @return Result of the function call
9449*/
9450WDI_Status
9451WDI_WowlAddBcPtrnReq
9452(
9453 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9454 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9455 void* pUserData
9456);
9457
9458/**
9459 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9460 wants to clear the Wowl Bcast ptrn. Upon the call of
9461 this API the WLAN DAL will pack and send a HAL delete
9462 Wowl Bcast ptrn request message to the lower RIVA
9463 sub-system if DAL is in state STARTED.
9464
9465 In state BUSY this request will be queued. Request won't
9466 be allowed in any other state.
9467
9468 WDI_WowlAddBcPtrnReq must have been called.
9469
9470 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9471 specified by the Device Interface
9472
9473 wdiWowlDelBcPtrnCb: callback for passing back the
9474 response of the del Wowl bcast ptrn operation received
9475 from the device
9476
9477 pUserData: user data will be passed back with the
9478 callback
9479
9480 @see WDI_WowlAddBcPtrnReq
9481 @return Result of the function call
9482*/
9483WDI_Status
9484WDI_WowlDelBcPtrnReq
9485(
9486 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9487 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9488 void* pUserData
9489);
9490
9491/**
9492 @brief WDI_WowlEnterReq will be called when the upper MAC
9493 wants to enter the Wowl state to minimize unnecessary
9494 host wakeup while in power save. Upon the call of this
9495 API the WLAN DAL will pack and send a HAL Wowl enter
9496 request message to the lower RIVA sub-system if DAL is
9497 in state STARTED.
9498
9499 In state BUSY this request will be queued. Request won't
9500 be allowed in any other state.
9501
9502 WDI_PostAssocReq must have been called.
9503
9504 @param pwdiWowlEnterReqParams: the Wowl enter info as
9505 specified by the Device Interface
9506
9507 wdiWowlEnterReqCb: callback for passing back the
9508 response of the enter Wowl operation received from the
9509 device
9510
9511 pUserData: user data will be passed back with the
9512 callback
9513
9514 @see WDI_PostAssocReq
9515 @return Result of the function call
9516*/
9517WDI_Status
9518WDI_WowlEnterReq
9519(
9520 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9521 WDI_WowlEnterReqCb wdiWowlEnterCb,
9522 void* pUserData
9523);
9524
9525/**
9526 @brief WDI_WowlExitReq will be called when the upper MAC
9527 wants to exit the Wowl state. Upon the call of this API
9528 the WLAN DAL will pack and send a HAL Wowl exit request
9529 message to the lower RIVA sub-system if DAL is in state
9530 STARTED.
9531
9532 In state BUSY this request will be queued. Request won't
9533 be allowed in any other state.
9534
9535 WDI_WowlEnterReq must have been called.
9536
9537 @param pwdiWowlExitReqParams: the Wowl exit info as
9538 specified by the Device Interface
9539
9540 wdiWowlExitReqCb: callback for passing back the response
9541 of the exit Wowl operation received from the device
9542
9543 pUserData: user data will be passed back with the
9544 callback
9545
9546 @see WDI_WowlEnterReq
9547 @return Result of the function call
9548*/
9549WDI_Status
9550WDI_WowlExitReq
9551(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009552 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009553 WDI_WowlExitReqCb wdiWowlExitCb,
9554 void* pUserData
9555);
9556
9557/**
9558 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9559 the upper MAC wants to dynamically adjusts the listen
9560 interval based on the WLAN/MSM activity. Upon the call
9561 of this API the WLAN DAL will pack and send a HAL
9562 configure Apps Cpu Wakeup State request message to the
9563 lower RIVA sub-system.
9564
9565 In state BUSY this request will be queued. Request won't
9566 be allowed in any other state.
9567
9568
9569 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9570 Apps Cpu Wakeup State as specified by the
9571 Device Interface
9572
9573 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9574 back the response of the configure Apps Cpu Wakeup State
9575 operation received from the device
9576
9577 pUserData: user data will be passed back with the
9578 callback
9579
9580 @return Result of the function call
9581*/
9582WDI_Status
9583WDI_ConfigureAppsCpuWakeupStateReq
9584(
9585 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9586 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9587 void* pUserData
9588);
9589/**
9590 @brief WDI_FlushAcReq will be called when the upper MAC wants
9591 to to perform a flush operation on a given AC. Upon the
9592 call of this API the WLAN DAL will pack and send a HAL
9593 Flush AC request message to the lower RIVA sub-system if
9594 DAL is in state STARTED.
9595
9596 In state BUSY this request will be queued. Request won't
9597 be allowed in any other state.
9598
9599
9600 @param pwdiFlushAcReqParams: the Flush AC parameters as
9601 specified by the Device Interface
9602
9603 wdiFlushAcRspCb: callback for passing back the response
9604 of the Flush AC operation received from the device
9605
9606 pUserData: user data will be passed back with the
9607 callback
9608
9609 @return Result of the function call
9610*/
9611WDI_Status
9612WDI_FlushAcReq
9613(
9614 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9615 WDI_FlushAcRspCb wdiFlushAcRspCb,
9616 void* pUserData
9617);
9618
9619/**
9620 @brief WDI_BtAmpEventReq will be called when the upper MAC
9621 wants to notify the lower mac on a BT AMP event. This is
9622 to inform BTC-SLM that some BT AMP event occurred. Upon
9623 the call of this API the WLAN DAL will pack and send a
9624 HAL BT AMP event request message to the lower RIVA
9625 sub-system if DAL is in state STARTED.
9626
9627 In state BUSY this request will be queued. Request won't
9628 be allowed in any other state.
9629
9630
9631 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9632 specified by the Device Interface
9633
9634 wdiBtAmpEventRspCb: callback for passing back the
9635 response of the BT AMP event operation received from the
9636 device
9637
9638 pUserData: user data will be passed back with the
9639 callback
9640
9641 @return Result of the function call
9642*/
9643WDI_Status
9644WDI_BtAmpEventReq
9645(
9646 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9647 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9648 void* pUserData
9649);
9650
Jeff Johnsone7245742012-09-05 17:12:55 -07009651#ifdef FEATURE_OEM_DATA_SUPPORT
9652/**
9653 @brief WDI_Start oem data Req will be called when the upper MAC
9654 wants to notify the lower mac on a oem data Req event.Upon
9655 the call of this API the WLAN DAL will pack and send a
9656 HAL OEM Data Req event request message to the lower RIVA
9657 sub-system if DAL is in state STARTED.
9658
9659 In state BUSY this request will be queued. Request won't
9660 be allowed in any other state.
9661
9662
9663 @param pWdiOemDataReqParams: the oem data req parameters as
9664 specified by the Device Interface
9665
9666 wdiStartOemDataRspCb: callback for passing back the
9667 response of the Oem Data Req received from the
9668 device
9669
9670 pUserData: user data will be passed back with the
9671 callback
9672
9673 @return Result of the function call
9674*/
9675WDI_Status
9676WDI_StartOemDataReq
9677(
9678 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9679 WDI_oemDataRspCb wdiOemDataRspCb,
9680 void* pUserData
9681);
9682#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009683
9684/*========================================================================
9685
9686 CONTROL APIs
9687
9688==========================================================================*/
9689/**
9690 @brief WDI_SwitchChReq will be called when the upper MAC wants
9691 the WLAN HW to change the current channel of operation.
9692 Upon the call of this API the WLAN DAL will pack and
9693 send a HAL Start request message to the lower RIVA
9694 sub-system if DAL is in state STARTED.
9695
9696 In state BUSY this request will be queued. Request won't
9697 be allowed in any other state.
9698
9699 WDI_Start must have been called.
9700
9701 @param wdiSwitchChReqParams: the switch ch parameters as
9702 specified by the Device Interface
9703
9704 wdiSwitchChRspCb: callback for passing back the response
9705 of the switch ch operation received from the device
9706
9707 pUserData: user data will be passed back with the
9708 callback
9709
9710 @see WDI_Start
9711 @return Result of the function call
9712*/
9713WDI_Status
9714WDI_SwitchChReq
9715(
9716 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9717 WDI_SwitchChRspCb wdiSwitchChRspCb,
9718 void* pUserData
9719);
9720
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009721/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08009722 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
9723 it also send type source for the channel change.
9724 WDI_Start must have been called.
9725
9726 @param wdiSwitchChReqParams: the switch ch parameters as
9727 specified by the Device Interface
9728
9729 wdiSwitchChRspCb: callback for passing back the response
9730 of the switch ch operation received from the device
9731
9732 pUserData: user data will be passed back with the
9733 callback
9734
9735 @see WDI_Start
9736 @return Result of the function call
9737*/
9738
9739WDI_Status
9740WDI_SwitchChReq_V1
9741(
9742 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
9743 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
9744 void* pUserData
9745);
9746
9747/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009748 @brief WDI_UpdateChannelReq will be called when the upper MAC
9749 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009750 In state BUSY this request will be queued. Request won't
9751 be allowed in any other state.
9752
9753 WDI_UpdateChannelReq must have been called.
9754
9755 @param wdiUpdateChannelReqParams: the updated channel parameters
9756 as specified by the Device Interface
9757
9758 wdiUpdateChannelRspCb: callback for passing back the
9759 response of the update channel operation received from
9760 the device
9761
9762 pUserData: user data will be passed back with the
9763 callback
9764
9765 @return Result of the function call
9766*/
9767WDI_Status
9768WDI_UpdateChannelReq
9769(
9770 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
9771 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
9772 void* pUserData
9773);
Jeff Johnson295189b2012-06-20 16:38:30 -07009774
9775/**
9776 @brief WDI_ConfigSTAReq will be called when the upper MAC
9777 wishes to add or update a STA in HW. Upon the call of
9778 this API the WLAN DAL will pack and send a HAL Start
9779 message request message to the lower RIVA sub-system if
9780 DAL is in state STARTED.
9781
9782 In state BUSY this request will be queued. Request won't
9783 be allowed in any other state.
9784
9785 WDI_Start must have been called.
9786
9787 @param wdiConfigSTAReqParams: the config STA parameters as
9788 specified by the Device Interface
9789
9790 wdiConfigSTARspCb: callback for passing back the
9791 response of the config STA operation received from the
9792 device
9793
9794 pUserData: user data will be passed back with the
9795 callback
9796
9797 @see WDI_Start
9798 @return Result of the function call
9799*/
9800WDI_Status
9801WDI_ConfigSTAReq
9802(
9803 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9804 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9805 void* pUserData
9806);
9807
9808/**
9809 @brief WDI_SetLinkStateReq will be called when the upper MAC
9810 wants to change the state of an ongoing link. Upon the
9811 call of this API the WLAN DAL will pack and send a HAL
9812 Start message request message to the lower RIVA
9813 sub-system if DAL is in state STARTED.
9814
9815 In state BUSY this request will be queued. Request won't
9816 be allowed in any other state.
9817
9818 WDI_JoinReq must have been called.
9819
9820 @param wdiSetLinkStateReqParams: the set link state parameters
9821 as specified by the Device Interface
9822
9823 wdiSetLinkStateRspCb: callback for passing back the
9824 response of the set link state operation received from
9825 the device
9826
9827 pUserData: user data will be passed back with the
9828 callback
9829
9830 @see WDI_JoinStartReq
9831 @return Result of the function call
9832*/
9833WDI_Status
9834WDI_SetLinkStateReq
9835(
9836 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
9837 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
9838 void* pUserData
9839);
9840
9841
9842/**
9843 @brief WDI_GetStatsReq will be called when the upper MAC wants
9844 to get statistics (MIB counters) from the device. Upon
9845 the call of this API the WLAN DAL will pack and send a
9846 HAL Start request message to the lower RIVA sub-system
9847 if DAL is in state STARTED.
9848
9849 In state BUSY this request will be queued. Request won't
9850 be allowed in any other state.
9851
9852 WDI_Start must have been called.
9853
9854 @param wdiGetStatsReqParams: the stats parameters to get as
9855 specified by the Device Interface
9856
9857 wdiGetStatsRspCb: callback for passing back the response
9858 of the get stats operation received from the device
9859
9860 pUserData: user data will be passed back with the
9861 callback
9862
9863 @see WDI_Start
9864 @return Result of the function call
9865*/
9866WDI_Status
9867WDI_GetStatsReq
9868(
9869 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
9870 WDI_GetStatsRspCb wdiGetStatsRspCb,
9871 void* pUserData
9872);
9873
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08009874#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08009875/**
9876 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
9877 to get roam rssi from the device. Upon
9878 the call of this API the WLAN DAL will pack and send a
9879 HAL Start request message to the lower RIVA sub-system
9880 if DAL is in state STARTED.
9881
9882 In state BUSY this request will be queued. Request won't
9883 be allowed in any other state.
9884
9885 WDI_Start must have been called.
9886
9887 @param wdiGetRoamRssiReqParams: the stats parameters to get as
9888 specified by the Device Interface
9889
9890 wdiGetRoamRssispCb: callback for passing back the response
9891 of the get stats operation received from the device
9892
9893 pUserData: user data will be passed back with the
9894 callback
9895
9896 @see WDI_Start
9897 @return Result of the function call
9898*/
9899WDI_Status
9900WDI_GetRoamRssiReq
9901(
9902 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
9903 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
9904 void* pUserData
9905);
9906#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009907
9908/**
9909 @brief WDI_UpdateCfgReq will be called when the upper MAC when
9910 it wishes to change the configuration of the WLAN
9911 Device. Upon the call of this API the WLAN DAL will pack
9912 and send a HAL Update CFG request message to the lower
9913 RIVA sub-system if DAL is in state STARTED.
9914
9915 In state BUSY this request will be queued. Request won't
9916 be allowed in any other state.
9917
9918 WDI_Start must have been called.
9919
9920 @param wdiUpdateCfgReqParams: the update cfg parameters as
9921 specified by the Device Interface
9922
9923 wdiUpdateCfgsRspCb: callback for passing back the
9924 response of the update cfg operation received from the
9925 device
9926
9927 pUserData: user data will be passed back with the
9928 callback
9929
9930 @see WDI_Start
9931 @return Result of the function call
9932*/
9933WDI_Status
9934WDI_UpdateCfgReq
9935(
9936 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
9937 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
9938 void* pUserData
9939);
9940
9941/**
9942 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
9943 to the NV memory.
9944
9945 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
9946 the Device Interface
9947
9948 wdiNvDownloadRspCb: callback for passing back the response of
9949 the NV Download operation received from the device
9950
9951 pUserData: user data will be passed back with the
9952 callback
9953
9954 @see WDI_PostAssocReq
9955 @return Result of the function call
9956*/
9957WDI_Status
9958WDI_NvDownloadReq
9959(
9960 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
9961 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
9962 void* pUserData
9963);
9964/**
9965 @brief WDI_AddBAReq will be called when the upper MAC has setup
9966 successfully a BA session and needs to notify the HW for
9967 the appropriate settings to take place. Upon the call of
9968 this API the WLAN DAL will pack and send a HAL Add BA
9969 request message to the lower RIVA sub-system if DAL is
9970 in state STARTED.
9971
9972 In state BUSY this request will be queued. Request won't
9973 be allowed in any other state.
9974
9975 WDI_PostAssocReq must have been called.
9976
9977 @param wdiAddBAReqParams: the add BA parameters as specified by
9978 the Device Interface
9979
9980 wdiAddBARspCb: callback for passing back the response of
9981 the add BA operation received from the device
9982
9983 pUserData: user data will be passed back with the
9984 callback
9985
9986 @see WDI_PostAssocReq
9987 @return Result of the function call
9988*/
9989WDI_Status
9990WDI_AddBAReq
9991(
9992 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
9993 WDI_AddBARspCb wdiAddBARspCb,
9994 void* pUserData
9995);
9996
9997/**
9998 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
9999 successfully a BA session and needs to notify the HW for
10000 the appropriate settings to take place. Upon the call of
10001 this API the WLAN DAL will pack and send a HAL Add BA
10002 request message to the lower RIVA sub-system if DAL is
10003 in state STARTED.
10004
10005 In state BUSY this request will be queued. Request won't
10006 be allowed in any other state.
10007
10008 WDI_PostAssocReq must have been called.
10009
10010 @param wdiAddBAReqParams: the add BA parameters as specified by
10011 the Device Interface
10012
10013 wdiAddBARspCb: callback for passing back the response of
10014 the add BA operation received from the device
10015
10016 pUserData: user data will be passed back with the
10017 callback
10018
10019 @see WDI_PostAssocReq
10020 @return Result of the function call
10021*/
10022WDI_Status
10023WDI_TriggerBAReq
10024(
10025 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10026 WDI_TriggerBARspCb wdiTriggerBARspCb,
10027 void* pUserData
10028);
10029
10030
10031/**
10032 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10033 frame xtl is enabled for a particular STA.
10034
10035 WDI_PostAssocReq must have been called.
10036
10037 @param uSTAIdx: STA index
10038
10039 @see WDI_PostAssocReq
10040 @return Result of the function call
10041*/
10042wpt_boolean WDI_IsHwFrameTxTranslationCapable
10043(
10044 wpt_uint8 uSTAIdx
10045);
10046
Katya Nigam6201c3e2014-05-27 17:51:42 +053010047
10048/**
10049 @brief WDI_IsSelfSTA - check if staid is self sta index
10050
10051 @param pWDICtx: pointer to the WLAN DAL context
10052 ucSTAIdx: station index
10053
10054 @return Result of the function call
10055*/
10056
10057wpt_boolean
10058WDI_IsSelfSTA
10059(
10060 void* pWDICtx,
10061 wpt_uint8 ucSTAIdx
10062);
10063
10064
Jeff Johnson295189b2012-06-20 16:38:30 -070010065#ifdef WLAN_FEATURE_VOWIFI_11R
10066/**
10067 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10068 the device of a successful add TSpec negotiation for 11r. HW
10069 needs to receive the TSpec Info from the UMAC in order
10070 to configure properly the QoS data traffic. Upon the
10071 call of this API the WLAN DAL will pack and send a HAL
10072 Aggregated Add TS request message to the lower RIVA sub-system if
10073 DAL is in state STARTED.
10074
10075 In state BUSY this request will be queued. Request won't
10076 be allowed in any other state.
10077
10078 WDI_PostAssocReq must have been called.
10079
10080 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10081 the Device Interface
10082
10083 wdiAggrAddTsRspCb: callback for passing back the response of
10084 the add TS operation received from the device
10085
10086 pUserData: user data will be passed back with the
10087 callback
10088
10089 @see WDI_PostAssocReq
10090 @return Result of the function call
10091*/
10092WDI_Status
10093WDI_AggrAddTSReq
10094(
10095 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10096 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10097 void* pUserData
10098);
10099#endif /* WLAN_FEATURE_VOWIFI_11R */
10100/**
10101 @brief WDI_STATableInit - Initializes the STA tables.
10102 Allocates the necesary memory.
10103
10104
10105 @param pWDICtx: pointer to the WLAN DAL context
10106
10107 @see
10108 @return Result of the function call
10109*/
10110
10111WDI_Status WDI_StubRunTest
10112(
10113 wpt_uint8 ucTestNo
10114);
10115
Jeff Johnson295189b2012-06-20 16:38:30 -070010116/**
10117 @brief WDI_FTMCommandReq -
10118 Route FTMRequest Command to HAL
10119
10120 @param ftmCommandReq: FTM request command body
10121 @param ftmCommandRspCb: Response CB
10122 @param pUserData: User data will be included with CB
10123
10124 @return Result of the function call
10125*/
10126WDI_Status WDI_FTMCommandReq
10127(
10128 WDI_FTMCommandReqType *ftmCommandReq,
10129 WDI_FTMCommandRspCb ftmCommandRspCb,
10130 void *pUserData
10131);
Jeff Johnson295189b2012-06-20 16:38:30 -070010132
10133/**
10134 @brief WDI_HostResumeReq will be called
10135
10136 In state BUSY this request will be queued. Request won't
10137 be allowed in any other state.
10138
10139
10140 @param pwdiResumeReqParams: as specified by
10141 the Device Interface
10142
10143 wdiResumeReqRspCb: callback for passing back the response of
10144 the Resume Req received from the device
10145
10146 pUserData: user data will be passed back with the
10147 callback
10148
10149 @see WDI_PostAssocReq
10150 @return Result of the function call
10151*/
10152WDI_Status
10153WDI_HostResumeReq
10154(
10155 WDI_ResumeParamsType* pwdiResumeReqParams,
10156 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10157 void* pUserData
10158);
10159
10160/**
10161 @brief WDI_GetAvailableResCount - Function to get the available resource
10162 for data and managemnt frames.
10163
10164 @param pContext: pointer to the WDI context
10165 @param wdiResPool: type of resource pool requesting
10166 @see
10167 @return Result of the function call
10168*/
10169
10170wpt_uint32 WDI_GetAvailableResCount
10171(
10172 void *pContext,
10173 WDI_ResPoolType wdiResPool
10174);
10175
10176/**
10177 @brief WDI_SetAddSTASelfReq will be called when the
10178 UMAC wanted to add self STA while opening any new session
10179 In state BUSY this request will be queued. Request won't
10180 be allowed in any other state.
10181
10182
10183 @param pwdiAddSTASelfParams: the add self sta parameters as
10184 specified by the Device Interface
10185
10186 pUserData: user data will be passed back with the
10187 callback
10188
10189 @see
10190 @return Result of the function call
10191*/
10192WDI_Status
10193WDI_AddSTASelfReq
10194(
10195 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10196 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10197 void* pUserData
10198);
10199
10200
10201/**
10202 @brief WDI_DelSTASelfReq will be called .
10203
10204 @param WDI_DelSTASelfReqParamsType
10205
10206 WDI_DelSTASelfRspCb: callback for passing back the
10207 response of the del sta self operation received from the
10208 device
10209
10210 pUserData: user data will be passed back with the
10211 callback
10212
10213 @see WDI_PostAssocReq
10214 @return Result of the function call
10215*/
10216WDI_Status
10217WDI_DelSTASelfReq
10218(
10219 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10220 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10221 void* pUserData
10222);
10223
10224/**
10225 @brief WDI_HostSuspendInd
10226
10227 Suspend Indication from the upper layer will be sent
10228 down to HAL
10229
10230 @param WDI_SuspendParamsType
10231
10232 @see
10233
10234 @return Status of the request
10235*/
10236WDI_Status
10237WDI_HostSuspendInd
10238(
10239 WDI_SuspendParamsType* pwdiSuspendIndParams
10240);
10241
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010242/**
10243 @brief WDI_TrafficStatsInd
10244
10245 Traffic Stats from the upper layer will be sent
10246 down to HAL
10247
10248 @param WDI_TrafficStatsIndType
10249
10250 @see
10251
10252 @return Status of the request
10253*/
10254WDI_Status
10255WDI_TrafficStatsInd
10256(
10257 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10258);
10259
Chet Lanctot186b5732013-03-18 10:26:30 -070010260#ifdef WLAN_FEATURE_11W
10261/**
10262 @brief WDI_ExcludeUnencryptedInd
10263 Register with HAL to receive/drop unencrypted frames
10264
10265 @param WDI_ExcludeUnencryptIndType
10266
10267 @see
10268
10269 @return Status of the request
10270*/
10271WDI_Status
10272WDI_ExcludeUnencryptedInd
10273(
10274 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10275);
10276#endif
10277
Yue Mab9c86f42013-08-14 15:59:08 -070010278/**
10279 @brief WDI_AddPeriodicTxPtrnInd
10280
10281 @param WDI_AddPeriodicTxPtrnParamsType
10282
10283 @see
10284
10285 @return Status of the request
10286*/
10287WDI_Status
10288WDI_AddPeriodicTxPtrnInd
10289(
10290 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10291);
10292
10293/**
10294 @brief WDI_DelPeriodicTxPtrnInd
10295
10296 @param WDI_DelPeriodicTxPtrnParamsType
10297
10298 @see
10299
10300 @return Status of the request
10301*/
10302WDI_Status
10303WDI_DelPeriodicTxPtrnInd
10304(
10305 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10306);
10307
Jeff Johnson295189b2012-06-20 16:38:30 -070010308#ifdef FEATURE_WLAN_SCAN_PNO
10309/**
10310 @brief WDI_SetPreferredNetworkList
10311
10312 @param pwdiPNOScanReqParams: the Set PNO as specified
10313 by the Device Interface
10314
10315 wdiPNOScanCb: callback for passing back the response
10316 of the Set PNO 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_SetPreferredNetworkReq
10327(
10328 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10329 WDI_PNOScanCb wdiPNOScanCb,
10330 void* pUserData
10331);
10332
10333/**
10334 @brief WDI_SetRssiFilterReq
10335
10336 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10337 specified by the Device Interface
10338
10339 wdiRssiFilterCb: callback for passing back the response
10340 of the Set RSSI Filter 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_SetRssiFilterReq
10351(
10352 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10353 WDI_RssiFilterCb wdiRssiFilterCb,
10354 void* pUserData
10355);
10356
10357/**
10358 @brief WDI_UpdateScanParams
10359
10360 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10361 by the Device Interface
10362
10363 wdiUpdateScanParamsCb: callback for passing back the response
10364 of the Set PNO operation received from the
10365 device
10366
10367 pUserData: user data will be passed back with the
10368 callback
10369
10370 @see WDI_PostAssocReq
10371 @return Result of the function call
10372*/
10373WDI_Status
10374WDI_UpdateScanParamsReq
10375(
10376 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10377 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10378 void* pUserData
10379);
10380#endif // FEATURE_WLAN_SCAN_PNO
10381
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010382#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10383/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010384 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010385
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010386 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010387 by the Device Interface
10388
10389 wdiRoamOffloadScanCb: callback for passing back the response
10390 of the Start Roam Candidate Lookup operation received from the
10391 device
10392
10393 pUserData: user data will be passed back with the
10394 callback
10395
10396 @return Result of the function call
10397*/
10398WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010399WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010400(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010401 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010402 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10403 void* pUserData
10404);
10405#endif
10406
Jeff Johnson295189b2012-06-20 16:38:30 -070010407/**
10408 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10409 wants to set the Tx Per Tracking configurations.
10410 Upon the call of this API the WLAN DAL will pack
10411 and send a HAL Set Tx Per Tracking request message to the
10412 lower RIVA sub-system if DAL is in state STARTED.
10413
10414 In state BUSY this request will be queued. Request won't
10415 be allowed in any other state.
10416
10417 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10418 specified by the Device Interface
10419
10420 wdiSetTxPerTrackingCb: callback for passing back the
10421 response of the set Tx PER Tracking configurations operation received
10422 from the device
10423
10424 pUserData: user data will be passed back with the
10425 callback
10426
10427 @return Result of the function call
10428*/
10429WDI_Status
10430WDI_SetTxPerTrackingReq
10431(
10432 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10433 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10434 void* pUserData
10435);
10436
10437/**
10438 @brief WDI_SetTmLevelReq
10439 If HW Thermal condition changed, driver should react based on new
10440 HW thermal condition.
10441
10442 @param pwdiSetTmLevelReq: New thermal condition information
10443
10444 pwdiSetTmLevelRspCb: callback
10445
10446 usrData: user data will be passed back with the
10447 callback
10448
10449 @return Result of the function call
10450*/
10451WDI_Status
10452WDI_SetTmLevelReq
10453(
10454 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10455 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10456 void *usrData
10457);
10458
10459#ifdef WLAN_FEATURE_PACKET_FILTERING
10460/**
10461 @brief WDI_8023MulticastListReq
10462
10463 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10464 List as specified by the Device Interface
10465
10466 wdi8023MulticastListCallback: callback for passing back
10467 the response of the Set 8023 Multicast List operation
10468 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_8023MulticastListReq
10478(
10479 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10480 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10481 void* pUserData
10482);
10483
10484/**
10485 @brief WDI_ReceiveFilterSetFilterReq
10486
10487 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10488 specified by the Device Interface
10489
10490 wdiReceiveFilterSetFilterReqCallback: callback for
10491 passing back the response of the Set Receive Filter
10492 operation 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_ReceiveFilterSetFilterReq
10502(
10503 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10504 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10505 void* pUserData
10506);
10507
10508/**
10509 @brief WDI_PCFilterMatchCountReq
10510
10511 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10512 Count
10513
10514 wdiPCFilterMatchCountCallback: callback for passing back
10515 the response of the D0 PC Filter Match Count operation
10516 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_FilterMatchCountReq
10526(
10527 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10528 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10529 void* pUserData
10530);
10531
10532/**
10533 @brief WDI_ReceiveFilterClearFilterReq
10534
10535 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10536 specified by the Device Interface
10537
10538 wdiReceiveFilterClearFilterCallback: callback for
10539 passing back the response of the Clear Filter
10540 operation received from the device
10541
10542 pUserData: user data will be passed back with the
10543 callback
10544
10545 @see WDI_PostAssocReq
10546 @return Result of the function call
10547*/
10548WDI_Status
10549WDI_ReceiveFilterClearFilterReq
10550(
10551 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10552 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10553 void* pUserData
10554);
10555#endif // WLAN_FEATURE_PACKET_FILTERING
10556
10557/**
10558 @brief WDI_HALDumpCmdReq
10559 Post HAL DUMP Command Event
10560
10561 @param halDumpCmdReqParams: Hal Dump Command Body
10562 @param halDumpCmdRspCb: callback for passing back the
10563 response
10564 @param pUserData: Client Data
10565
10566 @see
10567 @return Result of the function call
10568*/
10569WDI_Status WDI_HALDumpCmdReq(
10570 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10571 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10572 void *pUserData
10573);
10574
10575
10576/**
10577 @brief WDI_SetPowerParamsReq
10578
10579 @param pwdiPowerParamsReqParams: the Set Power Params as
10580 specified by the Device Interface
10581
10582 wdiPowerParamsCb: callback for passing back the response
10583 of the Set Power Params operation received from the
10584 device
10585
10586 pUserData: user data will be passed back with the
10587 callback
10588
10589 @return Result of the function call
10590*/
10591WDI_Status
10592WDI_SetPowerParamsReq
10593(
10594 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10595 WDI_SetPowerParamsCb wdiPowerParamsCb,
10596 void* pUserData
10597);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010598/**
10599 @brief WDI_dhcpStartInd
10600 Forward the DHCP Start event
10601
10602 @param
10603
10604 wdiDHCPInd: device mode and MAC address is passed
10605
10606 @see
10607 @return Result of the function call
10608*/
10609
10610WDI_Status
10611WDI_dhcpStartInd
10612(
10613 WDI_DHCPInd *wdiDHCPInd
10614);
10615/**
10616 @brief WDI_dhcpStopReq
10617 Forward the DHCP Stop event
10618
10619 @param
10620
10621 wdiDHCPInd: device mode and MAC address is passed
10622
10623 @see
10624 @return Result of the function call
10625*/
10626
10627WDI_Status
10628WDI_dhcpStopInd
10629(
10630 WDI_DHCPInd *wdiDHCPInd
10631);
Jeff Johnson295189b2012-06-20 16:38:30 -070010632
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010633/**
10634 @brief WDI_RateUpdateInd will be called when the upper MAC
10635 requests the device to update rates.
10636
10637 In state BUSY this request will be queued. Request won't
10638 be allowed in any other state.
10639
10640
10641 @param wdiRateUpdateIndParams
10642
10643
10644 @see WDI_Start
10645 @return Result of the function call
10646*/
10647WDI_Status
10648WDI_RateUpdateInd
10649(
10650 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10651);
10652
Jeff Johnson295189b2012-06-20 16:38:30 -070010653#ifdef WLAN_FEATURE_GTK_OFFLOAD
10654/**
10655 @brief WDI_GTKOffloadReq will be called when the upper MAC
10656 wants to set GTK Rekey Counter while in power save. Upon
10657 the call of this API the WLAN DAL will pack and send a
10658 HAL GTK offload request message to the lower RIVA
10659 sub-system if DAL is in state STARTED.
10660
10661 In state BUSY this request will be queued. Request won't
10662 be allowed in any other state.
10663
10664 WDI_PostAssocReq must have been called.
10665
10666 @param pwdiGtkOffloadParams: the GTK offload as specified
10667 by the Device Interface
10668
10669 wdiGtkOffloadCb: callback for passing back the response
10670 of the GTK offload operation received from the device
10671
10672 pUserData: user data will be passed back with the
10673 callback
10674
10675 @see WDI_PostAssocReq
10676 @return Result of the function call
10677*/
10678WDI_Status
10679WDI_GTKOffloadReq
10680(
10681 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10682 WDI_GtkOffloadCb wdiGtkOffloadCb,
10683 void* pUserData
10684);
10685
10686/**
10687 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10688 MAC wants to get GTK Rekey Counter while in power save.
10689 Upon the call of this API the WLAN DAL will pack and
10690 send a HAL GTK offload request message to the lower RIVA
10691 sub-system if DAL is in state STARTED.
10692
10693 In state BUSY this request will be queued. Request won't
10694 be allowed in any other state.
10695
10696 WDI_PostAssocReq must have been called.
10697
10698 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10699 Information Message as specified by the
10700 Device Interface
10701
10702 wdiGtkOffloadGetInfoCb: callback for passing back the
10703 response of the GTK offload operation received from the
10704 device
10705
10706 pUserData: user data will be passed back with the
10707 callback
10708
10709 @see WDI_PostAssocReq
10710 @return Result of the function call
10711*/
10712WDI_Status
10713WDI_GTKOffloadGetInfoReq
10714(
10715 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10716 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10717 void* pUserData
10718);
10719#endif // WLAN_FEATURE_GTK_OFFLOAD
10720
10721/**
10722 @brief WDI_featureCapsExchangeReq
10723 Post feature capability bitmap exchange event.
10724 Host will send its own capability to FW in this req and
10725 expect FW to send its capability back as a bitmap in Response
10726
10727 @param
10728
10729 wdiFeatCapsExcRspCb: callback called on getting the response.
10730 It is kept to mantain similarity between WDI reqs and if needed, can
10731 be used in future. Currently, It is set to NULL
10732
10733 pUserData: user data will be passed back with the
10734 callback
10735
10736 @see
10737 @return Result of the function call
10738*/
10739WDI_Status
10740WDI_featureCapsExchangeReq
10741(
10742 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10743 void* pUserData
10744);
10745
10746/**
Yathish9f22e662012-12-10 14:21:35 -080010747 @brief Disable Active mode offload in Host
10748
10749 @param void
10750 @see
10751 @return void
10752*/
10753void
10754WDI_disableCapablityFeature(wpt_uint8 feature_index);
10755
10756
10757/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010758 @brief WDI_getHostWlanFeatCaps
10759 WDI API that returns whether the feature passed to it as enum value in
10760 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10761 variable storing host capability bitmap to find this. This can be used by
10762 other moduels to decide certain things like call different APIs based on
10763 whether a particular feature is supported.
10764
10765 @param
10766
10767 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10768
10769 @see
10770 @return
10771 0 - if the feature is NOT supported in host
10772 any non-zero value - if the feature is SUPPORTED in host.
10773*/
10774wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10775
10776/**
10777 @brief WDI_getFwWlanFeatCaps
10778 WDI API that returns whether the feature passed to it as enum value in
10779 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10780 variable storing host capability bitmap to find this. This can be used by
10781 other moduels to decide certain things like call different APIs based on
10782 whether a particular feature is supported.
10783
10784 @param
10785
Jeff Johnsone7245742012-09-05 17:12:55 -070010786 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10787 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010788
10789 @see
10790 @return
10791 0 - if the feature is NOT supported in FW
10792 any non-zero value - if the feature is SUPPORTED in FW.
10793*/
10794wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10795
10796/**
10797 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10798 api version
10799
10800 @param WDI_WlanVersionType: Wlan version structure
10801 @see
10802 @return none
10803*/
10804
10805void WDI_GetWcnssCompiledApiVersion
10806(
10807 WDI_WlanVersionType *pWcnssApiVersion
10808);
10809
Mohit Khanna4a70d262012-09-11 16:30:12 -070010810#ifdef WLAN_FEATURE_11AC
10811WDI_Status
10812WDI_UpdateVHTOpModeReq
10813(
10814 WDI_UpdateVHTOpMode *pData,
10815 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10816 void* pUserData
10817);
Jeff Johnson295189b2012-06-20 16:38:30 -070010818
Mohit Khanna4a70d262012-09-11 16:30:12 -070010819#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010820
10821/**
10822 @brief WDI_TransportChannelDebug -
10823 Display DXE Channel debugging information
10824 User may request to display DXE channel snapshot
10825 Or if host driver detects any abnormal stcuk may display
10826
Jeff Johnsonb88db982012-12-10 13:34:59 -080010827 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053010828 @param debugFlags : Enable stall detect features
10829 defined by WPAL_DeviceDebugFlags
10830 These features may effect
10831 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010832 @see
10833 @return none
10834*/
10835void WDI_TransportChannelDebug
10836(
10837 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053010838 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010839);
10840
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070010841/**
10842 @brief WDI_SsrTimerCB
10843 Callback function for SSR timer, if this is called then the graceful
10844 shutdown for Riva did not happen.
10845
10846 @param pUserData : user data to timer
10847
10848 @see
10849 @return none
10850*/
10851void
10852WDI_SsrTimerCB
10853(
10854 void *pUserData
10855);
10856
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070010857/**
10858 @brief WDI_SetEnableSSR -
10859 This API is called to enable/disable SSR on WDI timeout.
10860
10861 @param enableSSR : enable/disable SSR
10862
10863 @see
10864 @return none
10865*/
10866void WDI_SetEnableSSR(wpt_boolean enableSSR);
10867
Leo Chang9056f462013-08-01 19:21:11 -070010868#ifdef FEATURE_WLAN_LPHB
10869/**
10870 @brief WDI_LPHBConfReq
10871 This API is called to config FW LPHB rule
10872
10873 @param lphbconfParam : LPHB rule should config to FW
10874 usrData : Client context
10875 lphbCfgCb : Configuration status callback
10876 @see
10877 @return SUCCESS or FAIL
10878*/
10879WDI_Status WDI_LPHBConfReq
10880(
10881 void *lphbconfParam,
10882 void *usrData,
10883 WDI_LphbCfgCb lphbCfgCb
10884);
10885#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053010886
Dino Mycle41bdc942014-06-10 11:30:24 +053010887#ifdef WLAN_FEATURE_EXTSCAN
10888/**
10889 @brief WDI_EXTScanStartReq
10890 This API is called to send EXTScan start request to FW
10891
10892 @param pwdiEXTScanStartReqParams : pointer to the request params.
10893 wdiEXTScanStartRspCb : callback on getting the response.
10894 usrData : Client context
10895 @see
10896 @return SUCCESS or FAIL
10897*/
10898WDI_Status WDI_EXTScanStartReq
10899(
10900 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
10901 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
10902 void* pUserData
10903);
10904
10905/**
10906 @brief WDI_EXTScanStopReq
10907 This API is called to stop the EXTScan operations in the FW
10908
10909 @param pwdiEXTScanStopReqParams : pointer to the request params.
10910 wdiEXTScanStopRspCb : callback on getting the response.
10911 usrData : Client context
10912 @see
10913 @return SUCCESS or FAIL
10914*/
10915WDI_Status WDI_EXTScanStopReq
10916(
10917 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
10918 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
10919 void* pUserData
10920);
10921
10922/**
10923 @brief WDI_EXTScanGetCachedResultsReq
10924 This API is called to send get link layer stats request in FW
10925
10926 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
10927 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
10928 usrData : Client context
10929 @see
10930 @return SUCCESS or FAIL
10931*/
10932WDI_Status WDI_EXTScanGetCachedResultsReq
10933(
10934 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
10935 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
10936 void* pUserData
10937);
10938
10939/**
10940 @brief WDI_EXTScanGetCapabilitiesReq
10941 This API is called to send get EXTScan capabilities from FW
10942
10943 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
10944 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
10945 usrData : Client context
10946 @see
10947 @return SUCCESS or FAIL
10948*/
10949WDI_Status WDI_EXTScanGetCapabilitiesReq
10950(
10951 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
10952 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
10953 void* pUserData
10954);
10955
10956/**
10957 @brief WDI_EXTScanSetBSSIDHotlistReq
10958 This API is called to send Set BSSID Hotlist Request FW
10959
10960 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
10961 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
10962 usrData : Client context
10963 @see
10964 @return SUCCESS or FAIL
10965*/
10966WDI_Status WDI_EXTScanSetBSSIDHotlistReq
10967(
10968 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
10969 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
10970 void* pUserData
10971);
10972
10973/**
10974 @brief WDI_EXTScanResetBSSIDHotlistReq
10975 This API is called to send Reset BSSID Hotlist Request FW
10976
10977 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
10978 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
10979 usrData : Client context
10980 @see
10981 @return SUCCESS or FAIL
10982*/
10983WDI_Status WDI_EXTScanResetBSSIDHotlistReq
10984(
10985 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
10986 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
10987 void* pUserData
10988);
10989
10990/**
10991 @brief WDI_EXTScanSetSignfRSSIChangeReq
10992 This API is called to send Set Significant RSSI Request FW
10993
10994 @param pwdiEXTScanSetSignfRSSIChangeReqParams : pointer to the request params.
10995 wdiEXTScanSetSignfRSSIChangeRspCb : callback on getting the response.
10996 usrData : Client context
10997 @see
10998 @return SUCCESS or FAIL
10999*/
11000WDI_Status WDI_EXTScanSetSignfRSSIChangeReq
11001(
11002 WDI_EXTScanSetSignfRSSIChangeReqParams*
11003 pwdiEXTScanSetSignfRSSIChangeReqParams,
11004 WDI_EXTScanSetSignfRSSIChangeRspCb wdiEXTScanSetSignfRSSIChangeRspCb,
11005 void* pUserData
11006);
11007
11008/**
11009 @brief WDI_EXTScanResetSignfRSSIChangeReq
11010 This API is called to send Reset BSSID Hotlist Request FW
11011
11012 @param pwdiEXTScanResetSignfRSSIChangeReqParams : pointer to the request params.
11013 wdiEXTScanResetSignfRSSIChangeRs : callback on getting the response.
11014 usrData : Client context
11015 @see
11016 @return SUCCESS or FAIL
11017*/
11018WDI_Status WDI_EXTScanResetSignfRSSIChangeReq
11019(
11020 WDI_EXTScanResetSignfRSSIChangeReqParams*
11021 pwdiEXTScanResetSignfRSSIChangeReqParams,
11022 WDI_EXTScanResetSignfRSSIChangeRspCb wdiEXTScanResetSignfRSSIChangeRspCb,
11023 void* pUserData
11024);
11025#endif /* WLAN_FEATURE_EXTSCAN */
11026
Sunil Duttbd736ed2014-05-26 21:19:41 +053011027#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11028/**
11029 @brief WDI_LLStatsSetReq
11030 This API is called to send set link layer stats request to FW
11031
11032 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11033 wdiLLStatsSetRspCb : set link layer stats response callback
11034 usrData : Client context
11035 @see
11036 @return SUCCESS or FAIL
11037*/
11038WDI_Status WDI_LLStatsSetReq
11039(
11040 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11041 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11042 void* pUserData
11043);
11044
11045/**
11046 @brief WDI_LLStatsGetReq
11047 This API is called to send get link layer stats request in FW
11048
11049 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11050 wdiLLStatsGetRspCb : get link layer stats response callback
11051 usrData : Client context
11052 @see
11053 @return SUCCESS or FAIL
11054*/
11055WDI_Status WDI_LLStatsGetReq
11056(
11057 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11058 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11059 void* pUserData
11060);
11061
11062/**
11063 @brief WDI_LLStatsClearReq
11064 This API is called to set clear link layer stats request in FW
11065
11066 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11067 iwdiLLStatsClearRspCb : clear link layer stats response callback
11068 usrData : Client context
11069 @see
11070 @return SUCCESS or FAIL
11071*/
11072WDI_Status WDI_LLStatsClearReq
11073(
11074 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11075 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11076 void* pUserData
11077);
11078#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11079
Rajeev79dbe4c2013-10-05 11:03:42 +053011080#ifdef FEATURE_WLAN_BATCH_SCAN
11081/**
11082 @brief WDI_SetBatchScanReq
11083 This API is called to set batch scan request in FW
11084
11085 @param pBatchScanReqParam : pointer to set batch scan re param
11086 usrData : Client context
11087 setBatchScanRspCb : set batch scan resp callback
11088 @see
11089 @return SUCCESS or FAIL
11090*/
11091WDI_Status WDI_SetBatchScanReq
11092(
11093 void *pBatchScanReqParam,
11094 void *usrData,
11095 WDI_SetBatchScanCb setBatchScanRspCb
11096);
11097
11098/**
11099 @brief WDI_StopBatchScanInd
11100
11101 @param none
11102
11103 @see
11104
11105 @return Status of the request
11106*/
11107WDI_Status
11108WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11109
11110/**
11111 @brief WDI_TriggerBatchScanResultInd
11112 This API is called to pull batch scan result from FW
11113
11114 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11115 usrData : Client context
11116 setBatchScanRspCb : get batch scan resp callback
11117 @see
11118 @return SUCCESS or FAIL
11119*/
11120WDI_Status
11121WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11122
11123
11124#endif /*FEATURE_WLAN_BATCH_SCAN*/
11125
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011126/**
11127 @brief wdi_HT40OBSSScanInd
11128 This API is called to start OBSS scan
11129
11130 @param pWdiReq : pointer to get ind param
11131 @see
11132 @return SUCCESS or FAIL
11133*/
11134
11135WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11136
11137/**
11138 @brief wdi_HT40OBSSStopScanInd
11139 This API is called to stop OBSS scan
11140
11141 @param bssIdx : bssIdx to stop
11142 @see
11143 @return SUCCESS or FAIL
11144*/
11145
11146WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11147
c_hpothu92367912014-05-01 15:18:17 +053011148
11149WDI_Status WDI_GetBcnMissRate( void *pUserData,
11150 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11151 wpt_uint8 *bssid
11152 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011153WDI_Status
11154WDI_SetSpoofMacAddrReq
11155(
11156WDI_SpoofMacAddrInfoType *pWdiReq,
11157 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11158 void* pUserData
11159);
c_hpothu92367912014-05-01 15:18:17 +053011160
Jeff Johnson295189b2012-06-20 16:38:30 -070011161#ifdef __cplusplus
11162 }
11163#endif
11164
Jeff Johnson295189b2012-06-20 16:38:30 -070011165#endif /* #ifndef WLAN_QCT_WDI_H */