blob: 679819c4fe3e89caabe0e59f2dfdf4785ce99df3 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302 * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved.
Kiet Lam1ed83fc2014-02-19 01:15:45 -08003 *
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
Jeff Johnson295189b2012-06-20 16:38:30 -070045===========================================================================*/
46
47
48/*===========================================================================
49
50 EDIT HISTORY FOR FILE
51
52
53 This section contains comments describing changes made to the module.
54 Notice that changes are listed in reverse chronological order.
55
56
57 $Header:$ $DateTime: $ $Author: $
58
59
60when who what, where, why
61-------- --- ----------------------------------------------------------
6210/05/11 hap Adding support for Keep Alive
6308/04/10 lti Created module.
64
65===========================================================================*/
66
67
68
69/*===========================================================================
70
71 INCLUDE FILES FOR MODULE
72
73===========================================================================*/
74
75/*----------------------------------------------------------------------------
76 * Include Files
77 * -------------------------------------------------------------------------*/
78#include "wlan_qct_pal_api.h"
79#include "wlan_qct_pal_type.h"
80#include "wlan_qct_pack_align.h"
81#include "wlan_qct_wdi_cfg.h"
82
83/*----------------------------------------------------------------------------
84 * Preprocessor Definitions and Constants
85 * -------------------------------------------------------------------------*/
86#ifdef __cplusplus
87 extern "C" {
88#endif
89
90/* MAC ADDRESS LENGTH - per spec*/
91#define WDI_MAC_ADDR_LEN 6
92
93/* Max number of 11b rates -> 1,2,5.5,11 */
94#define WDI_NUM_11B_RATES 4
95
96/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
97#define WDI_NUM_11A_RATES 8
98
99/* Max number of legacy rates -> 72, 96, 108*/
100#define WDI_NUM_POLARIS_RATES 3
101
102/* Max supported MCS set*/
103#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
104
105/*Max number of Access Categories for QoS - per spec */
106#define WDI_MAX_NO_AC 4
107
108/*Max. size for reserving the Beacon Template */
109#define WDI_BEACON_TEMPLATE_SIZE 0x180
110
111#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
112
113#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
114
115#define WDI_MAX_SSID_SIZE 32
116
117/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
118from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
119of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
120
121#define FRAGMENT_SIZE 3072
122
123/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800124#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700125
126/* Beacon Filter Length*/
Abhishek Singh5fef4042014-11-25 18:33:00 +0530127#define WDI_BEACON_FILTER_LEN 90
Jeff Johnson295189b2012-06-20 16:38:30 -0700128
129/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
130#define WDI_COEX_IND_DATA_SIZE (4)
131
132#define WDI_CIPHER_SEQ_CTR_SIZE 6
133
134#define WDI_NUM_BSSID 2
135
136/*Version string max length (including NUL) */
137#define WDI_VERSION_LENGTH 64
138
139
140/*WDI Response timeout - how long will WDI wait for a response from the device
141 - it should be large enough to allow any other failure mechanism to kick
142 in before we get to a timeout (ms units)*/
143#define WDI_RESPONSE_TIMEOUT 10000
144
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700145/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
146 * Apps initiated SSR will be performed */
147#define WDI_SSR_TIMEOUT 5000
148
Jeff Johnson295189b2012-06-20 16:38:30 -0700149#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
150
Yue Mab9c86f42013-08-14 15:59:08 -0700151/* Periodic Tx pattern offload feature */
152#define PERIODIC_TX_PTRN_MAX_SIZE 1536
153#define MAXNUM_PERIODIC_TX_PTRNS 6
Srinivas Dasari4dae48f2014-11-26 21:14:16 +0530154#define WDI_DISA_MAX_PAYLOAD_SIZE 1600
Siddharth Bhald1be97f2015-05-27 22:39:59 +0530155#define MAX_NUM_OF_BUFFER 3
Karthick Sa6616c32015-07-22 14:49:02 +0530156#define VALID_FW_LOG_TYPES 2
Karthick Sed59a282015-08-10 14:52:16 +0530157#define MAX_LOG_BUFFER_LENGTH 128 * 1024
Yue Mab9c86f42013-08-14 15:59:08 -0700158
Jeff Johnson295189b2012-06-20 16:38:30 -0700159/*============================================================================
160 * GENERIC STRUCTURES
161
162============================================================================*/
163
164/*---------------------------------------------------------------------------
165 WDI Version Information
166---------------------------------------------------------------------------*/
167typedef struct
168{
169 wpt_uint8 revision;
170 wpt_uint8 version;
171 wpt_uint8 minor;
172 wpt_uint8 major;
173} WDI_WlanVersionType;
174
175/*---------------------------------------------------------------------------
176 WDI Device Capability
177---------------------------------------------------------------------------*/
178typedef struct
179{
180 /*If this flag is true it means that the device can support 802.3/ETH2 to
181 802.11 translation*/
182 wpt_boolean bFrameXtlSupported;
183
184 /*Maximum number of BSSes supported by the Device */
185 wpt_uint8 ucMaxBSSSupported;
186
187 /*Maximum number of stations supported by the Device */
188 wpt_uint8 ucMaxSTASupported;
189}WDI_DeviceCapabilityType;
190
191/*---------------------------------------------------------------------------
192 WDI Channel Offset
193---------------------------------------------------------------------------*/
194typedef enum
195{
196 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
197 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700198 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
199#ifdef WLAN_FEATURE_11AC
200 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
201 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
202 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
203 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
204 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
205 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
206 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
207#endif
208 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700209}WDI_HTSecondaryChannelOffset;
210
211/*---------------------------------------------------------------------------
212 WDI_MacFrameCtl
213 Frame control field format (2 bytes)
214---------------------------------------------------------------------------*/
215typedef struct
216{
217 wpt_uint8 protVer :2;
218 wpt_uint8 type :2;
219 wpt_uint8 subType :4;
220
221 wpt_uint8 toDS :1;
222 wpt_uint8 fromDS :1;
223 wpt_uint8 moreFrag :1;
224 wpt_uint8 retry :1;
225 wpt_uint8 powerMgmt :1;
226 wpt_uint8 moreData :1;
227 wpt_uint8 wep :1;
228 wpt_uint8 order :1;
229
230} WDI_MacFrameCtl;
231
232/*---------------------------------------------------------------------------
233 WDI Sequence control field
234---------------------------------------------------------------------------*/
235typedef struct
236{
237 wpt_uint8 fragNum : 4;
238 wpt_uint8 seqNumLo : 4;
239 wpt_uint8 seqNumHi : 8;
240} WDI_MacSeqCtl;
241
242/*---------------------------------------------------------------------------
243 Management header format
244---------------------------------------------------------------------------*/
245typedef struct
246{
247 WDI_MacFrameCtl fc;
248 wpt_uint8 durationLo;
249 wpt_uint8 durationHi;
250 wpt_uint8 da[WDI_MAC_ADDR_LEN];
251 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
252 wpt_macAddr bssId;
253 WDI_MacSeqCtl seqControl;
254} WDI_MacMgmtHdr;
255
256/*---------------------------------------------------------------------------
257 NV Blob management sturcture
258 ---------------------------------------------------------------------------*/
259
260typedef struct
261{
262 /* NV image fragments count */
263 wpt_uint16 usTotalFragment;
264
265 /* NV fragment size */
266 wpt_uint16 usFragmentSize;
267
268 /* current fragment to be sent */
269 wpt_uint16 usCurrentFragment;
270
271} WDI_NvBlobInfoParams;
272
273
274/*---------------------------------------------------------------------------
275 Data path enums memory pool resource
276 ---------------------------------------------------------------------------*/
277
278typedef enum
279{
280 /* managment resource pool ID */
281 WDI_MGMT_POOL_ID = 0,
282 /* Data resource pool ID */
283 WDI_DATA_POOL_ID = 1
284}WDI_ResPoolType;
285
286/*============================================================================
287 * GENERIC STRUCTURES - END
288 ============================================================================*/
289
290/*----------------------------------------------------------------------------
291 * Type Declarations
292 * -------------------------------------------------------------------------*/
293/*---------------------------------------------------------------------------
294 WDI Status
295---------------------------------------------------------------------------*/
296typedef enum
297{
298 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
299 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
300 synchronous way - no rsp will be generated*/
301 WDI_STATUS_PENDING, /* Operation result is pending and will be
302 provided asynchronously through the Req Status
303 Callback */
304 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
305 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
306 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
307 failure*/
308 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
309 of the driver*/
310 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
311
312 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
313 WDI_STATUS_MAX
314
315}WDI_Status;
316
317
318/*---------------------------------------------------------------------------
319 WDI_ReqStatusCb
320
321 DESCRIPTION
322
323 This callback is invoked by DAL to deliver to UMAC the result of posting
324 a previous request for which the return status was PENDING.
325
326 PARAMETERS
327
328 IN
329 wdiStatus: response status received from the Control Transport
330 pUserData: user data
331
332
333
334 RETURN VALUE
335 The result code associated with performing the operation
336---------------------------------------------------------------------------*/
337typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
338 void* pUserData);
339
340/*---------------------------------------------------------------------------
341 WDI_LowLevelIndEnumType
342 Types of indication that can be posted to UMAC by DAL
343---------------------------------------------------------------------------*/
344typedef enum
345{
346 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
347 passed. */
348 WDI_RSSI_NOTIFICATION_IND,
349
350 /*Link loss in the low MAC */
351 WDI_MISSED_BEACON_IND,
352
353 /*when hardware has signaled an unknown addr2 frames. The indication will
354 contain info from frames to be passed to the UMAC, this may use this info to
355 deauth the STA*/
356 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
357
358 /*MIC Failure detected by HW*/
359 WDI_MIC_FAILURE_IND,
360
361 /*Fatal Error Ind*/
362 WDI_FATAL_ERROR_IND,
363
364 /*Delete Station Ind*/
365 WDI_DEL_STA_IND,
366
367 /*Indication from Coex*/
368 WDI_COEX_IND,
369
370 /* Indication for Tx Complete */
371 WDI_TX_COMPLETE_IND,
372
373 /*.P2P_NOA_Attr_Indication */
374 WDI_P2P_NOA_ATTR_IND,
375
376 /* Preferred Network Found Indication */
377 WDI_PREF_NETWORK_FOUND_IND,
378
379 WDI_WAKE_REASON_IND,
380
381 /* Tx PER Tracking Indication */
382 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800383
Viral Modid86bde22012-12-10 13:09:21 -0800384 /* P2P_NOA_Start_Indication */
385 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800386
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530387 /* TDLS_Indication */
388 WDI_TDLS_IND,
389
Leo Changd9df8aa2013-09-26 13:32:26 -0700390 /* LPHB Indication from FW to umac */
391 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700392
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700393 /* IBSS Peer Inactivity Indication */
394 WDI_IBSS_PEER_INACTIVITY_IND,
395
Yue Mab9c86f42013-08-14 15:59:08 -0700396 /* Periodic Tx Pattern FW Indication */
397 WDI_PERIODIC_TX_PTRN_FW_IND,
398
Rajeev79dbe4c2013-10-05 11:03:42 +0530399#ifdef FEATURE_WLAN_BATCH_SCAN
400 /*Batch scan result indication from FW*/
401 WDI_BATCH_SCAN_RESULT_IND,
402#endif
403
Leo Chang0b0e45a2013-12-15 15:18:55 -0800404#ifdef FEATURE_WLAN_CH_AVOID
405 WDI_CH_AVOID_IND,
406#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530407#ifdef WLAN_FEATURE_LINK_LAYER_STATS
408 WDI_LL_STATS_RESULTS_IND,
409#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530410#ifdef WLAN_FEATURE_EXTSCAN
411 WDI_EXTSCAN_PROGRESS_IND,
412 WDI_EXTSCAN_SCAN_AVAILABLE_IND,
413 WDI_EXTSCAN_SCAN_RESULT_IND,
414 WDI_EXTSCAN_GET_CAPABILITIES_IND,
415 WDI_EXTSCAN_BSSID_HOTLIST_RESULT_IND,
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +0530416 WDI_EXTSCAN_SSID_HOTLIST_RESULT_IND,
Dino Mycle41bdc942014-06-10 11:30:24 +0530417#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530418 /*Delete BA Ind*/
419 WDI_DEL_BA_IND,
Srinivas Dasari32a79262015-02-19 13:04:49 +0530420 WDI_NAN_EVENT_IND,
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530421 WDI_LOST_LINK_PARAMS_IND,
Jeff Johnson295189b2012-06-20 16:38:30 -0700422 WDI_MAX_IND
423}WDI_LowLevelIndEnumType;
424
425
426/*---------------------------------------------------------------------------
427 WDI_LowRSSIThIndType
428---------------------------------------------------------------------------*/
429typedef struct
430{
431 /*Positive crossing of Rssi Thresh1*/
432 wpt_uint32 bRssiThres1PosCross : 1;
433 /*Negative crossing of Rssi Thresh1*/
434 wpt_uint32 bRssiThres1NegCross : 1;
435 /*Positive crossing of Rssi Thresh2*/
436 wpt_uint32 bRssiThres2PosCross : 1;
437 /*Negative crossing of Rssi Thresh2*/
438 wpt_uint32 bRssiThres2NegCross : 1;
439 /*Positive crossing of Rssi Thresh3*/
440 wpt_uint32 bRssiThres3PosCross : 1;
441 /*Negative crossing of Rssi Thresh3*/
442 wpt_uint32 bRssiThres3NegCross : 1;
443
Srinivasdaaec712012-12-12 15:59:44 -0800444 wpt_uint32 avgRssi : 8;
445 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700446
447}WDI_LowRSSIThIndType;
448
449
450/*---------------------------------------------------------------------------
451 WDI_UnkAddr2FrmRxIndType
452---------------------------------------------------------------------------*/
453typedef struct
454{
455 /*Rx Bd data of the unknown received addr2 frame.*/
456 void* bufRxBd;
457
458 /*Buffer Length*/
459 wpt_uint16 usBufLen;
460}WDI_UnkAddr2FrmRxIndType;
461
462/*---------------------------------------------------------------------------
463 WDI_DeleteSTAIndType
464---------------------------------------------------------------------------*/
465typedef struct
466{
467 /*ASSOC ID, as assigned by UMAC*/
468 wpt_uint16 usAssocId;
469
470 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
471 wpt_uint8 ucSTAIdx;
472
473 /*BSSID of STA*/
474 wpt_macAddr macBSSID;
475
476 /*MAC ADDR of STA*/
477 wpt_macAddr macADDR2;
478
479 /* To unify the keepalive / unknown A2 / tim-based disa*/
480 wpt_uint16 wptReasonCode;
481
482}WDI_DeleteSTAIndType;
483
484/*---------------------------------------------------------------------------
485 WDI_MicFailureIndType
486---------------------------------------------------------------------------*/
487typedef struct
488{
489 /*current BSSID*/
490 wpt_macAddr bssId;
491
492 /*Source mac address*/
493 wpt_macAddr macSrcAddr;
494
495 /*Transmitter mac address*/
496 wpt_macAddr macTaAddr;
497
498 /*Destination mac address*/
499 wpt_macAddr macDstAddr;
500
501 /*Multicast flag*/
502 wpt_uint8 ucMulticast;
503
504 /*First byte of IV*/
505 wpt_uint8 ucIV1;
506
507 /*Key Id*/
508 wpt_uint8 keyId;
509
510 /*Sequence Number*/
511 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
512
513 /*receive address */
514 wpt_macAddr macRxAddr;
515}WDI_MicFailureIndType;
516
517/*---------------------------------------------------------------------------
518 WDI_CoexIndType
519---------------------------------------------------------------------------*/
520typedef struct
521{
522 wpt_uint32 coexIndType;
523 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
524} WDI_CoexIndType;
525
526/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530527 WDI_DHCPInd
528---------------------------------------------------------------------------*/
529
530typedef struct
531{
532 wpt_uint8 device_mode;
533 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
534}WDI_DHCPInd;
535
536/*---------------------------------------------------------------------------
537
Jeff Johnson295189b2012-06-20 16:38:30 -0700538 WDI_MacSSid
539---------------------------------------------------------------------------*/
540typedef struct
541{
542 wpt_uint8 ucLength;
543 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
544} WDI_MacSSid;
545
546#ifdef FEATURE_WLAN_SCAN_PNO
547/*---------------------------------------------------------------------------
548 WDI_PrefNetworkFoundInd
549---------------------------------------------------------------------------*/
550typedef struct
551{
552 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700553 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700554 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700555 wpt_uint8 rssi;
556 wpt_uint16 frameLength;
557 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700558} WDI_PrefNetworkFoundInd;
559#endif // FEATURE_WLAN_SCAN_PNO
560
Jeff Johnson295189b2012-06-20 16:38:30 -0700561/*---------------------------------------------------------------------------
562 *WDI_P2pNoaAttrIndType
563 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700564typedef struct
565{
566 wpt_uint8 ucIndex ;
567 wpt_uint8 ucOppPsFlag ;
568 wpt_uint16 usCtWin ;
569
570 wpt_uint16 usNoa1IntervalCnt;
571 wpt_uint16 usRsvd1 ;
572 wpt_uint32 uslNoa1Duration;
573 wpt_uint32 uslNoa1Interval;
574 wpt_uint32 uslNoa1StartTime;
575
576 wpt_uint16 usNoa2IntervalCnt;
577 wpt_uint16 usRsvd2;
578 wpt_uint32 uslNoa2Duration;
579 wpt_uint32 uslNoa2Interval;
580 wpt_uint32 uslNoa2StartTime;
581
582 wpt_uint32 status;
583}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800584
585/*---------------------------------------------------------------------------
586 *WDI_P2pNoaStartIndType
587 *-------------------------------------------------------------------------*/
588typedef struct
589{
590 wpt_uint32 status;
591 wpt_uint32 bssIdx;
592}WDI_P2pNoaStartIndType;
593
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530594/*---------------------------------------------------------------------------
595 *WDI_TdlsIndType
596 *-------------------------------------------------------------------------*/
597typedef struct
598{
599 wpt_uint16 status;
600 wpt_uint16 assocId;
601 wpt_uint16 staIdx;
602 wpt_uint16 reasonCode;
603}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700604
605#ifdef WLAN_WAKEUP_EVENTS
606/*---------------------------------------------------------------------------
607 WDI_WakeReasonIndType
608---------------------------------------------------------------------------*/
609typedef struct
610{
611 wpt_uint32 ulReason; /* see tWakeReasonType */
612 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
613 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
614 HAL truncates the data (i.e. data packets) this length
615 will be less than the actual length */
616 wpt_uint32 ulActualDataLen; /* actual length of data */
617 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
618 see specific wake type */
619} WDI_WakeReasonIndType;
620#endif // WLAN_WAKEUP_EVENTS
621
Srinivas Dasari32a79262015-02-19 13:04:49 +0530622typedef struct
623{
624 wpt_uint16 event_data_len;
625 wpt_uint8* event_data;
626} WDI_NanEventType;
627
628
Jeff Johnson295189b2012-06-20 16:38:30 -0700629/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800630 WDI_MissedBeaconIndType
631-----------------------------------------------------------------------------*/
632typedef struct
633{
634 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
635} WDI_MissedBeaconIndType;
636
Leo Chang9056f462013-08-01 19:21:11 -0700637#ifdef FEATURE_WLAN_LPHB
638/*---------------------------------------------------------------------------
639 WDI_LPHBTimeoutIndData
640-----------------------------------------------------------------------------*/
641typedef struct
642{
643 wpt_uint8 bssIdx;
644 wpt_uint8 sessionIdx;
645 wpt_uint8 protocolType; /*TCP or UDP*/
646 wpt_uint8 eventReason;
647} WDI_LPHBTimeoutIndData;
648#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800649
Yue Mab9c86f42013-08-14 15:59:08 -0700650/*-----------------------------------------------------------------------------
651WDI_PeriodicTxPtrnFwIndType
652-----------------------------------------------------------------------------*/
653typedef struct
654{
655 wpt_uint8 bssIdx;
656 wpt_uint32 selfStaIdx;
657 wpt_uint32 status;
658 wpt_uint32 patternIdBitmap;
659} WDI_PeriodicTxPtrnFwIndType;
660
Rajeev79dbe4c2013-10-05 11:03:42 +0530661#ifdef FEATURE_WLAN_BATCH_SCAN
662/*---------------------------------------------------------------------------
663 WDI_SetBatchScanReqType
664---------------------------------------------------------------------------*/
665typedef struct
666{
667 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
668 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
669 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
670 wpt_uint8 rfBand; /* band to scan :
671 0 ->both Band, 1->2.4Ghz Only
672 and 2-> 5GHz Only */
673 wpt_uint32 rtt; /* set if required to do RTT it is not
674 supported in current version */
675}WDI_SetBatchScanReqType;
676
677/*---------------------------------------------------------------------------
678 WDI_SetBatchScanRspType
679---------------------------------------------------------------------------*/
680typedef struct
681{
682 /*max number of scans which FW can cache*/
683 wpt_uint32 nScansToBatch;
684}WDI_SetBatchScanRspType;
685
686/*---------------------------------------------------------------------------
687 WDI_TriggerBatchScanResultIndType
688---------------------------------------------------------------------------*/
689typedef struct
690{
691 wpt_uint32 param;
692}WDI_TriggerBatchScanResultIndType;
693
694/*---------------------------------------------------------------------------
695 WDI_StopBatchScanIndType
696---------------------------------------------------------------------------*/
697typedef struct
698{
699 /*max number of scans which FW can cache*/
700 wpt_uint32 param;
701}WDI_StopBatchScanIndType;
702
703
704/*---------------------------------------------------------------------------
705 * WDI_BatchScanResultIndType
706 *--------------------------------------------------------------------------*/
707typedef struct
708{
709 wpt_uint32 bssid[6]; /* BSSID */
710 wpt_uint32 ssid[32]; /* SSID */
711 wpt_uint32 ch; /* Channel */
712 wpt_uint32 rssi; /* RSSI or Level */
713 /* Timestamp when Network was found. Used to calculate age based on
714 timestamp in GET_RSP msg header */
715 wpt_uint32 timestamp;
716} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
717
718typedef struct
719{
720 wpt_uint32 scanId; /*Scan List ID*/
721 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
722 wpt_uint32 numNetworksInScanList;
723 /*Variable data ptr: Number of AP in Scan List*/
724 wpt_uint32 scanList[1];
725} tWDIBatchScanList, *tpWDIBatchScanList;
726
727typedef struct
728{
729 wpt_uint32 timestamp;
730 wpt_uint32 numScanLists;
731 wpt_boolean isLastResult;
732 /* Variable Data ptr: Number of Scan Lists*/
733 wpt_uint32 scanResults[1];
734} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
735
736#endif
737
738
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530739typedef struct
740{
741 wpt_uint8 bssIdx;
742 wpt_uint8 rssi;
743 wpt_uint8 selfMacAddr[WDI_MAC_ADDR_LEN];
744 wpt_uint32 linkFlCnt;
745 wpt_uint32 linkFlTx;
746 wpt_uint32 lastDataRate;
747 wpt_uint32 rsvd1;
748 wpt_uint32 rsvd2;
749
750}WDI_LostLinkParamsIndType;
751
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800752/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700753 WDI_IbssPeerInactivityIndType
754-----------------------------------------------------------------------------*/
755typedef struct
756{
757 wpt_uint8 bssIdx;
758 wpt_uint8 staIdx;
759 wpt_macAddr staMacAddr;
760}WDI_IbssPeerInactivityIndType;
761
762/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700763 WDI_TxRateFlags
764-----------------------------------------------------------------------------*/
765typedef enum
766{
767 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
768 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
769 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
770 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
771 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
772 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
773 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
774 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
775 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
776} WDI_TxRateFlags;
777
778/*---------------------------------------------------------------------------
779 WDI_RateUpdateIndParams
780-----------------------------------------------------------------------------*/
781typedef struct
782{
783 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
784 * param ucastDataRate can be used to control RA behavior of unicast data to
785 */
786 wpt_int32 ucastDataRate;
787
788 /* TX flag to differentiate between HT20, HT40 etc */
789 WDI_TxRateFlags ucastDataRateTxFlag;
790
791 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
792 wpt_macAddr bssid;
793
794 /*
795 * 0 implies MCAST RA, positive value implies fixed rate,
796 * -1 implies ignore this param
797 */
798 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
799
800 /* TX flag to differentiate between HT20, HT40 etc */
801 WDI_TxRateFlags reliableMcastDataRateTxFlag;
802
803 /*
804 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
805 * 0 implies ignore
806 */
807 wpt_uint32 mcastDataRate24GHz;
808
809 /* TX flag to differentiate between HT20, HT40 etc */
810 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
811
812 /*
813 * MCAST(or BCAST) fixed data rate in 5 GHz,
814 * unit Mbpsx10, 0 implies ignore
815 */
816 wpt_uint32 mcastDataRate5GHz;
817
818 /* TX flag to differentiate between HT20, HT40 etc */
819 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
820
821 /*
822 * Request status callback offered by UMAC - it is called if the current
823 * req has returned PENDING as status; it delivers the status of sending
824 * the message over the BUS
825 */
826 WDI_ReqStatusCb wdiReqStatusCB;
827
828 /*
829 * The user data passed in by UMAC, it will be sent back when the above
830 * function pointer will be called
831 */
832 void *pUserData;
833
834} WDI_RateUpdateIndParams;
835
Abhishek Singh85b74712014-10-08 11:38:19 +0530836typedef struct
837{
838 wpt_uint32 ubsp_enter_cnt;
839 wpt_uint32 ubsp_jump_ddr_cnt;
840}ubspFwStats;
841
842typedef struct
843{
844 wpt_uint32 type;
845 /*data*/
846 union{
847 ubspFwStats ubspStats;
848 }wdiFwStatsData;
849} WDI_FWStatsResults;
850
Leo Chang0b0e45a2013-12-15 15:18:55 -0800851#ifdef FEATURE_WLAN_CH_AVOID
Abhishek Singhe34eb552015-06-18 10:12:15 +0530852#define WDI_CH_AVOID_MAX_RANGE 15
Leo Chang0b0e45a2013-12-15 15:18:55 -0800853
854typedef struct
855{
856 wpt_uint32 startFreq;
857 wpt_uint32 endFreq;
858} WDI_ChAvoidFreqType;
859
860typedef struct
861{
862 wpt_uint32 avoidRangeCount;
863 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
864} WDI_ChAvoidIndType;
865#endif /* FEATURE_WLAN_CH_AVOID */
866
Dino Mycled3d50022014-07-07 12:58:25 +0530867#ifdef WLAN_FEATURE_LINK_LAYER_STATS
868typedef struct
869{
870 void *pLinkLayerStatsResults;
871 wpt_macAddr macAddr;
872} WDI_LinkLayerStatsResults;
873
874#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530875
876typedef struct
877{
878 /*STA Index*/
879 wpt_uint16 staIdx;
880
881 /*Peer MAC*/
882 wpt_macAddr peerMacAddr;
883
884 // TID for which a BA session timeout is being triggered
885 wpt_uint8 baTID;
886 // DELBA direction
887 // 1 - Originator
888 // 0 - Recipient
889 wpt_uint8 baDirection;
890 wpt_uint32 reasonCode;
891 /*MAC ADDR of STA*/
892 wpt_macAddr bssId; // TO SUPPORT BT-AMP
893} WDI_DeleteBAIndType;
894
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530895typedef struct
896{
897 wpt_uint32 tx_complete_status;
898 wpt_uint32 tx_bd_token;
899} WDI_TxBDStatus;
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700900/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700901 WDI_LowLevelIndType
902 Inidcation type and information about the indication being carried
903 over
904---------------------------------------------------------------------------*/
905typedef struct
906{
907 /*Inidcation type*/
908 WDI_LowLevelIndEnumType wdiIndicationType;
909
910 /*Indication data*/
911 union
912 {
913 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
914 WDI_LowRSSIThIndType wdiLowRSSIInfo;
915
916 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
917 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
918
919 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
920 WDI_MicFailureIndType wdiMICFailureInfo;
921
922 /*Error code for WDI_FATAL_ERROR_IND*/
923 wpt_uint16 usErrorCode;
924
925 /*Delete STA Indication*/
926 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
927
928 /*Coex Indication*/
929 WDI_CoexIndType wdiCoexInfo;
930
931 /* Tx Complete Indication */
932 wpt_uint32 tx_complete_status;
933
Jeff Johnson295189b2012-06-20 16:38:30 -0700934 /* P2P NOA ATTR Indication */
935 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800936 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530937 /* TDLS Indications */
938 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700939
940
941#ifdef FEATURE_WLAN_SCAN_PNO
942 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
943#endif // FEATURE_WLAN_SCAN_PNO
944
945#ifdef WLAN_WAKEUP_EVENTS
946 WDI_WakeReasonIndType wdiWakeReasonInd;
947#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800948 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700949
Leo Chang9056f462013-08-01 19:21:11 -0700950#ifdef FEATURE_WLAN_LPHB
951 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
952#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700953
954 /* IBSS Peer Inactivity Indication */
955 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
956
Yue Mab9c86f42013-08-14 15:59:08 -0700957 /* Periodic TX Pattern FW Indication */
958 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530959
960#ifdef FEATURE_WLAN_BATCH_SCAN
961 /*batch scan result indication from FW*/
962 void *pBatchScanResult;
963#endif
964
Leo Chang0b0e45a2013-12-15 15:18:55 -0800965#ifdef FEATURE_WLAN_CH_AVOID
966 WDI_ChAvoidIndType wdiChAvoidInd;
967#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530968
969#ifdef WLAN_FEATURE_LINK_LAYER_STATS
970 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530971 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530972#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530973#ifdef WLAN_FEATURE_EXTSCAN
974 /*EXTSCAN Results from FW*/
975 void *pEXTScanIndData;
976#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530977 WDI_DeleteBAIndType wdiDeleteBAInd;
Srinivas Dasari32a79262015-02-19 13:04:49 +0530978
979 WDI_NanEventType wdiNanEvent;
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530980
981 WDI_TxBDStatus wdiTxBdInd;
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530982 WDI_LostLinkParamsIndType wdiLostLinkParamsInd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700983 } wdiIndicationData;
984}WDI_LowLevelIndType;
985
986/*---------------------------------------------------------------------------
987 WDI_LowLevelIndCBType
988
989 DESCRIPTION
990
991 This callback is invoked by DAL to deliver to UMAC certain indications
992 that has either received from the lower device or has generated itself.
993
994 PARAMETERS
995
996 IN
997 pwdiInd: information about the indication sent over
998 pUserData: user data provided by UMAC during registration
999
1000
1001
1002 RETURN VALUE
1003 The result code associated with performing the operation
1004---------------------------------------------------------------------------*/
1005typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
1006 void* pUserData);
1007
1008/*---------------------------------------------------------------------------
1009 WDI_DriverType
1010---------------------------------------------------------------------------*/
1011typedef enum
1012{
1013 WDI_DRIVER_TYPE_PRODUCTION = 0,
1014 WDI_DRIVER_TYPE_MFG = 1,
1015 WDI_DRIVER_TYPE_DVT = 2
1016} WDI_DriverType;
1017
1018/*---------------------------------------------------------------------------
1019 WDI_StartReqParamsType
1020---------------------------------------------------------------------------*/
1021typedef struct
1022{
1023 /*This is a TLV formatted buffer containing all config values that can
1024 be set through the DAL Interface
1025
1026 The TLV is expected to be formatted like this:
1027
1028 0 7 15 31 ....
1029 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
1030
1031 Or from a C construct point of VU it would look like this:
1032
1033 typedef struct WPT_PACK_POST
1034 {
1035 #ifdef WPT_BIG_ENDIAN
1036 wpt_uint32 ucCfgId:8;
1037 wpt_uint32 ucCfgLen:8;
1038 wpt_uint32 usReserved:16;
1039 #else
1040 wpt_uint32 usReserved:16;
1041 wpt_uint32 ucCfgLen:8;
1042 wpt_uint32 ucCfgId:8;
1043 #endif
1044
1045 wpt_uint8 ucCfgBody[ucCfgLen];
1046 }WDI_ConfigType;
1047
1048 Multiple such tuplets are to be placed in the config buffer. One for
1049 each required configuration item:
1050
1051 | TLV 1 | TLV2 | ....
1052
1053 The buffer is expected to be a flat area of memory that can be manipulated
1054 with standard memory routines.
1055
1056 For more info please check paragraph 2.3.1 Config Structure from the
1057 HAL LLD.
1058
1059 For a list of accepted configuration list and IDs please look up
1060 wlan_qct_dal_cfg.h
1061
1062 */
1063 void* pConfigBuffer;
1064
1065 /*Length of the config buffer above*/
1066 wpt_uint16 usConfigBufferLen;
1067
1068 /*Production or FTM driver*/
1069 WDI_DriverType wdiDriverType;
1070
1071 /*Should device enable frame translation */
1072 wpt_uint8 bFrameTransEnabled;
1073
1074 /*Request status callback offered by UMAC - it is called if the current
1075 req has returned PENDING as status; it delivers the status of sending
1076 the message over the BUS */
1077 WDI_ReqStatusCb wdiReqStatusCB;
1078
1079 /*The user data passed in by UMAC, it will be sent back when the above
1080 function pointer will be called */
1081 void* pUserData;
1082
1083 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1084 wishes to send something back independent of a request*/
1085 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1086
1087 /*The user data passed in by UMAC, it will be sent back when the indication
1088 function pointer will be called */
1089 void* pIndUserData;
1090}WDI_StartReqParamsType;
1091
1092
1093/*---------------------------------------------------------------------------
1094 WDI_StartRspParamsType
1095---------------------------------------------------------------------------*/
1096typedef struct
1097{
1098 /*Status of the response*/
1099 WDI_Status wdiStatus;
1100
1101 /*Max number of STA supported by the device*/
1102 wpt_uint8 ucMaxStations;
1103
1104 /*Max number of BSS supported by the device*/
1105 wpt_uint8 ucMaxBssids;
1106
1107 /*Version of the WLAN HAL API with which we were compiled*/
1108 WDI_WlanVersionType wlanCompiledVersion;
1109
1110 /*Version of the WLAN HAL API that was reported*/
1111 WDI_WlanVersionType wlanReportedVersion;
1112
1113 /*WCNSS Software version string*/
1114 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1115
1116 /*WCNSS Hardware version string*/
1117 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1118}WDI_StartRspParamsType;
1119
1120
1121/*---------------------------------------------------------------------------
1122 WDI_StopType
1123---------------------------------------------------------------------------*/
1124typedef enum
1125{
1126 /*Device is being stopped due to a reset*/
1127 WDI_STOP_TYPE_SYS_RESET,
1128
1129 /*Device is being stopped due to entering deep sleep*/
1130 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1131
1132 /*Device is being stopped because the RF needs to shut off
1133 (e.g.:Airplane mode)*/
1134 WDI_STOP_TYPE_RF_KILL
1135}WDI_StopType;
1136
1137/*---------------------------------------------------------------------------
1138 WDI_StopReqParamsType
1139---------------------------------------------------------------------------*/
1140typedef struct
1141{
1142
1143 /*The reason for which the device is being stopped*/
1144 WDI_StopType wdiStopReason;
1145
1146 /*Request status callback offered by UMAC - it is called if the current
1147 req has returned PENDING as status; it delivers the status of sending
1148 the message over the BUS */
1149 WDI_ReqStatusCb wdiReqStatusCB;
1150
1151 /*The user data passed in by UMAC, it will be sent back when the above
1152 function pointer will be called */
1153 void* pUserData;
1154}WDI_StopReqParamsType;
1155
1156
1157/*---------------------------------------------------------------------------
1158 WDI_ScanMode
1159---------------------------------------------------------------------------*/
1160typedef enum
1161{
1162 WDI_SCAN_MODE_NORMAL = 0,
1163 WDI_SCAN_MODE_LEARN,
1164 WDI_SCAN_MODE_SCAN,
1165 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001166 WDI_SCAN_MODE_SUSPEND_LINK,
1167 WDI_SCAN_MODE_ROAM_SCAN,
1168 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1169
Jeff Johnson295189b2012-06-20 16:38:30 -07001170} WDI_ScanMode;
1171
1172/*---------------------------------------------------------------------------
1173 WDI_ScanEntry
1174---------------------------------------------------------------------------*/
1175typedef struct
1176{
1177 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1178 wpt_uint8 activeBSScnt;
1179}WDI_ScanEntry;
1180
1181/*---------------------------------------------------------------------------
1182 WDI_InitScanReqInfoType
1183---------------------------------------------------------------------------*/
1184typedef struct
1185{
1186 /*LEARN - AP Role
1187 SCAN - STA Role*/
1188 WDI_ScanMode wdiScanMode;
1189
1190 /*BSSID of the BSS*/
1191 wpt_macAddr macBSSID;
1192
1193 /*Whether BSS needs to be notified*/
1194 wpt_boolean bNotifyBSS;
1195
1196 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1197 CTS to Self). Must always be a valid frame type.*/
1198 wpt_uint8 ucFrameType;
1199
1200 /*UMAC has the option of passing the MAC frame to be used for notifying
1201 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1202 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1203 frameType.*/
1204 wpt_uint8 ucFrameLength;
1205
1206 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1207 WDI_MacMgmtHdr wdiMACMgmtHdr;
1208
1209 /*Entry to hold number of active BSS to send NULL frames before
1210 * initiating SCAN*/
1211 WDI_ScanEntry wdiScanEntry;
1212
1213 /* Flag to enable/disable Single NOA*/
1214 wpt_boolean bUseNOA;
1215
1216 /* Indicates the scan duration (in ms) */
1217 wpt_uint16 scanDuration;
1218
1219}WDI_InitScanReqInfoType;
1220
1221/*---------------------------------------------------------------------------
1222 WDI_InitScanReqParamsType
1223---------------------------------------------------------------------------*/
1224typedef struct
1225{
1226 /*The info associated with the request that needs to be sent over to the
1227 device*/
1228 WDI_InitScanReqInfoType wdiReqInfo;
1229
1230 /*Request status callback offered by UMAC - it is called if the current
1231 req has returned PENDING as status; it delivers the status of sending
1232 the message over the BUS */
1233 WDI_ReqStatusCb wdiReqStatusCB;
1234
1235 /*The user data passed in by UMAC, it will be sent back when the above
1236 function pointer will be called */
1237 void* pUserData;
1238}WDI_InitScanReqParamsType;
1239
1240/*---------------------------------------------------------------------------
1241 WDI_StartScanReqParamsType
1242---------------------------------------------------------------------------*/
1243typedef struct
1244{
1245 /*Indicates the channel to scan*/
1246 wpt_uint8 ucChannel;
1247
1248 /*Request status callback offered by UMAC - it is called if the current
1249 req has returned PENDING as status; it delivers the status of sending
1250 the message over the BUS */
1251 WDI_ReqStatusCb wdiReqStatusCB;
1252
1253 /*The user data passed in by UMAC, it will be sent back when the above
1254 function pointer will be called */
1255 void* pUserData;
1256}WDI_StartScanReqParamsType;
1257
1258/*---------------------------------------------------------------------------
1259 WDI_StartScanRspParamsType
1260---------------------------------------------------------------------------*/
1261typedef struct
1262{
1263 /*Indicates the status of the operation */
1264 WDI_Status wdiStatus;
1265
1266#if defined WLAN_FEATURE_VOWIFI
1267 wpt_uint32 aStartTSF[2];
1268 wpt_int8 ucTxMgmtPower;
1269#endif
1270}WDI_StartScanRspParamsType;
1271
1272/*---------------------------------------------------------------------------
1273 WDI_EndScanReqParamsType
1274---------------------------------------------------------------------------*/
1275typedef struct
1276{
1277 /*Indicates the channel to stop scanning. Not used really. But retained
1278 for symmetry with "start Scan" message. It can also help in error
1279 check if needed.*/
1280 wpt_uint8 ucChannel;
1281
1282 /*Request status callback offered by UMAC - it is called if the current
1283 req has returned PENDING as status; it delivers the status of sending
1284 the message over the BUS */
1285 WDI_ReqStatusCb wdiReqStatusCB;
1286
1287 /*The user data passed in by UMAC, it will be sent back when the above
1288 function pointer will be called */
1289 void* pUserData;
1290}WDI_EndScanReqParamsType;
1291
1292/*---------------------------------------------------------------------------
1293 WDI_PhyChanBondState
1294---------------------------------------------------------------------------*/
1295typedef enum
1296{
1297 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1298 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1299 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001300 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1301#ifdef WLAN_FEATURE_11AC
1302 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1303 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1304 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1305 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1306 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1307 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1308 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1309#endif
1310 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001311} WDI_PhyChanBondState;
1312
1313/*---------------------------------------------------------------------------
1314 WDI_FinishScanReqInfoType
1315---------------------------------------------------------------------------*/
1316typedef struct
1317{
1318 /*LEARN - AP Role
1319 SCAN - STA Role*/
1320 WDI_ScanMode wdiScanMode;
1321
1322 /*Operating channel to tune to.*/
1323 wpt_uint8 ucCurrentOperatingChannel;
1324
1325 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1326 40 MHz extension channel in combination with the control channel*/
1327 WDI_PhyChanBondState wdiCBState;
1328
1329 /*BSSID of the BSS*/
1330 wpt_macAddr macBSSID;
1331
1332 /*Whether BSS needs to be notified*/
1333 wpt_boolean bNotifyBSS;
1334
1335 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1336 CTS to Self). Must always be a valid frame type.*/
1337 wpt_uint8 ucFrameType;
1338
1339 /*UMAC has the option of passing the MAC frame to be used for notifying
1340 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1341 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1342 frameType.*/
1343 wpt_uint8 ucFrameLength;
1344
1345 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1346 WDI_MacMgmtHdr wdiMACMgmtHdr;
1347
1348 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1349 WDI_ScanEntry wdiScanEntry;
1350
1351}WDI_FinishScanReqInfoType;
1352
1353/*---------------------------------------------------------------------------
1354 WDI_SwitchChReqInfoType
1355---------------------------------------------------------------------------*/
1356typedef struct
1357{
1358 /*Indicates the channel to switch to.*/
1359 wpt_uint8 ucChannel;
1360
1361 /*Local power constraint*/
1362 wpt_uint8 ucLocalPowerConstraint;
1363
1364 /*Secondary channel offset */
1365 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1366
1367#ifdef WLAN_FEATURE_VOWIFI
1368 wpt_int8 cMaxTxPower;
1369
1370 /*Self STA Mac address*/
1371 wpt_macAddr macSelfStaMacAddr;
1372#endif
1373 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1374 request has power constraints, this should be applied only to that session */
1375 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1376 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1377 */
1378 wpt_macAddr macBSSId;
1379
1380}WDI_SwitchChReqInfoType;
1381
1382/*---------------------------------------------------------------------------
1383 WDI_SwitchChReqParamsType
1384---------------------------------------------------------------------------*/
1385typedef struct
1386{
1387 /*Channel Info*/
1388 WDI_SwitchChReqInfoType wdiChInfo;
1389
1390 /*Request status callback offered by UMAC - it is called if the current
1391 req has returned PENDING as status; it delivers the status of sending
1392 the message over the BUS */
1393 WDI_ReqStatusCb wdiReqStatusCB;
1394
1395 /*The user data passed in by UMAC, it will be sent back when the above
1396 function pointer will be called */
1397 void* pUserData;
1398}WDI_SwitchChReqParamsType;
1399
1400/*---------------------------------------------------------------------------
1401 WDI_FinishScanReqParamsType
1402---------------------------------------------------------------------------*/
1403typedef struct
1404{
1405 /*Info for the Finish Scan request that will be sent down to the device*/
1406 WDI_FinishScanReqInfoType wdiReqInfo;
1407
1408 /*Request status callback offered by UMAC - it is called if the current
1409 req has returned PENDING as status; it delivers the status of sending
1410 the message over the BUS */
1411 WDI_ReqStatusCb wdiReqStatusCB;
1412
1413 /*The user data passed in by UMAC, it will be sent back when the above
1414 function pointer will be called */
1415 void* pUserData;
1416}WDI_FinishScanReqParamsType;
1417
1418/*---------------------------------------------------------------------------
1419 WDI_JoinReqInfoType
1420---------------------------------------------------------------------------*/
1421typedef struct
1422{
1423 /*Indicates the BSSID to which STA is going to associate*/
1424 wpt_macAddr macBSSID;
1425
1426 /*Indicates the MAC Address of the current Self STA*/
1427 wpt_macAddr macSTASelf;
1428
1429 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1430 wpt_uint32 linkState;
1431
1432 /*Indicates the channel to switch to.*/
1433 WDI_SwitchChReqInfoType wdiChannelInfo;
1434
1435}WDI_JoinReqInfoType;
1436
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001437typedef enum
1438{
1439 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1440 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1441 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1442 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1443 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1444} WDI_ChanSwitchSource;
1445
1446/*---------------------------------------------------------------------------
1447 WDI_SwitchChReqInfoType_V1
1448---------------------------------------------------------------------------*/
1449typedef struct
1450{
1451 /*Indicates the channel to switch to.*/
1452 wpt_uint8 ucChannel;
1453
1454 /*Local power constraint*/
1455 wpt_uint8 ucLocalPowerConstraint;
1456
1457 /*Secondary channel offset */
1458 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1459
1460#ifdef WLAN_FEATURE_VOWIFI
1461 wpt_int8 cMaxTxPower;
1462 /*Self STA Mac address*/
1463 wpt_macAddr macSelfStaMacAddr;
1464#endif
1465 /* VO Wifi comment: BSSID is needed to identify which session
1466 issued this request. As the request has power constraints, this
1467 should be applied only to that session
1468 */
1469 /* V IMP: Keep bssId field at the end of this msg. It is used to
1470 maintain backward compatibility by way of ignoring if using new
1471 host/old FW or old host/new FW since it is at the end of this struct
1472 */
1473 wpt_macAddr macBSSId;
1474 /* Source of Channel Switch */
1475 WDI_ChanSwitchSource channelSwitchSrc;
1476}WDI_SwitchChReqInfoType_V1;
1477
1478/*--------------------------------------------------------------------
1479 WDI_SwitchChReqParamsType_V1
1480----------------------------------------------------------------------*/
1481typedef struct
1482{
1483 /*Channel Info*/
1484 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1485
1486 /*Request status callback offered by UMAC - it is called if the current
1487 req has returned PENDING as status; it delivers the status of sending
1488 the message over the BUS */
1489 WDI_ReqStatusCb wdiReqStatusCB;
1490
1491 /*The user data passed in by UMAC, it will be sent back when the above
1492 function pointer will be called */
1493 void* pUserData;
1494}WDI_SwitchChReqParamsType_V1;
1495
Jeff Johnson295189b2012-06-20 16:38:30 -07001496/*---------------------------------------------------------------------------
1497 WDI_JoinReqParamsType
1498---------------------------------------------------------------------------*/
1499typedef struct
1500{
1501 /*Info for the Join request that will be sent down to the device*/
1502 WDI_JoinReqInfoType wdiReqInfo;
1503
1504 /*Request status callback offered by UMAC - it is called if the current
1505 req has returned PENDING as status; it delivers the status of sending
1506 the message over the BUS */
1507 WDI_ReqStatusCb wdiReqStatusCB;
1508
1509 /*The user data passed in by UMAC, it will be sent back when the above
1510 function pointer will be called */
1511 void* pUserData;
1512}WDI_JoinReqParamsType;
1513
1514/*---------------------------------------------------------------------------
1515 WDI_BssType
1516---------------------------------------------------------------------------*/
1517typedef enum
1518{
1519 WDI_INFRASTRUCTURE_MODE,
1520 WDI_INFRA_AP_MODE, //Added for softAP support
1521 WDI_IBSS_MODE,
1522 WDI_BTAMP_STA_MODE,
1523 WDI_BTAMP_AP_MODE,
1524 WDI_BSS_AUTO_MODE,
1525}WDI_BssType;
1526
1527/*---------------------------------------------------------------------------
1528 WDI_NwType
1529---------------------------------------------------------------------------*/
1530typedef enum
1531{
1532 WDI_11A_NW_TYPE,
1533 WDI_11B_NW_TYPE,
1534 WDI_11G_NW_TYPE,
1535 WDI_11N_NW_TYPE,
1536} WDI_NwType;
1537
1538/*---------------------------------------------------------------------------
1539 WDI_ConfigAction
1540---------------------------------------------------------------------------*/
1541typedef enum
1542{
1543 WDI_ADD_BSS,
1544 WDI_UPDATE_BSS
1545} WDI_ConfigAction;
1546
1547/*---------------------------------------------------------------------------
1548 WDI_HTOperatingMode
1549---------------------------------------------------------------------------*/
1550typedef enum
1551{
1552 WDI_HT_OP_MODE_PURE,
1553 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1554 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1555 WDI_HT_OP_MODE_MIXED
1556
1557} WDI_HTOperatingMode;
1558
1559
1560/*---------------------------------------------------------------------------
1561 WDI_STAEntryType
1562---------------------------------------------------------------------------*/
1563typedef enum
1564{
1565 WDI_STA_ENTRY_SELF,
1566 WDI_STA_ENTRY_PEER,
1567 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001568 WDI_STA_ENTRY_BCAST,
1569#ifdef FEATURE_WLAN_TDLS
1570 WDI_STA_ENTRY_TDLS_PEER,
1571#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001572}WDI_STAEntryType;
1573
1574/*---------------------------------------------------------------------------
1575 WDI_ConfigActionType
1576---------------------------------------------------------------------------*/
1577typedef enum
1578{
1579 WDI_ADD_STA,
1580 WDI_UPDATE_STA
1581} WDI_ConfigActionType;
1582
1583/*----------------------------------------------------------------------------
1584 Each station added has a rate mode which specifies the sta attributes
1585 ----------------------------------------------------------------------------*/
1586typedef enum
1587{
1588 WDI_RESERVED_1 = 0,
1589 WDI_RESERVED_2,
1590 WDI_RESERVED_3,
1591 WDI_11b,
1592 WDI_11bg,
1593 WDI_11a,
1594 WDI_11n,
1595} WDI_RateModeType;
1596
1597/*---------------------------------------------------------------------------
1598 WDI_SupportedRatesType
1599---------------------------------------------------------------------------*/
1600typedef struct
1601{
1602 /*
1603 * For Self STA Entry: this represents Self Mode.
1604 * For Peer Stations, this represents the mode of the peer.
1605 * On Station:
1606 * --this mode is updated when PE adds the Self Entry.
1607 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1608 * ON AP:
1609 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1610 * to indicate the self mode of the AP.
1611 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1612 */
1613
1614 WDI_RateModeType opRateMode;
1615
1616 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1617 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1618 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1619 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1620
1621 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1622 First 26 bits are reserved for those Titan rates and
1623 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1624 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1625
1626 /*
1627 * 0-76 bits used, remaining reserved
1628 * bits 0-15 and 32 should be set.
1629 */
1630 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1631
1632 /*
1633 * RX Highest Supported Data Rate defines the highest data
1634 * rate that the STA is able to receive, in unites of 1Mbps.
1635 * This value is derived from "Supported MCS Set field" inside
1636 * the HT capability element.
1637 */
1638 wpt_uint16 aRxHighestDataRate;
1639
Jeff Johnsone7245742012-09-05 17:12:55 -07001640
1641#ifdef WLAN_FEATURE_11AC
1642 /*Indicates the Maximum MCS that can be received for each number
1643 of spacial streams */
1644 wpt_uint16 vhtRxMCSMap;
1645 /*Indicate the highest VHT data rate that the STA is able to receive*/
1646 wpt_uint16 vhtRxHighestDataRate;
1647 /*Indicates the Maximum MCS that can be transmitted for each number
1648 of spacial streams */
1649 wpt_uint16 vhtTxMCSMap;
1650 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1651 wpt_uint16 vhtTxHighestDataRate;
1652#endif
1653
Jeff Johnson295189b2012-06-20 16:38:30 -07001654} WDI_SupportedRates;
1655
1656/*--------------------------------------------------------------------------
1657 WDI_HTMIMOPowerSaveState
1658 Spatial Multiplexing(SM) Power Save mode
1659 --------------------------------------------------------------------------*/
1660typedef enum
1661{
1662 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1663 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1664 WDI_HT_MIMO_PS_NA = 2, // reserved
1665 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1666} WDI_HTMIMOPowerSaveState;
1667
1668/*---------------------------------------------------------------------------
1669 WDI_ConfigStaReqInfoType
1670---------------------------------------------------------------------------*/
1671typedef struct
1672{
1673 /*BSSID of STA*/
1674 wpt_macAddr macBSSID;
1675
1676 /*ASSOC ID, as assigned by UMAC*/
1677 wpt_uint16 usAssocId;
1678
1679 /*Used for configuration of different HW modules.*/
1680 WDI_STAEntryType wdiSTAType;
1681
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001682 /*STA Index */
1683 wpt_uint8 staIdx;
1684
Jeff Johnson295189b2012-06-20 16:38:30 -07001685 /*Short Preamble Supported.*/
1686 wpt_uint8 ucShortPreambleSupported;
1687
1688 /*MAC Address of STA*/
1689 wpt_macAddr macSTA;
1690
1691 /*Listen interval of the STA*/
1692 wpt_uint16 usListenInterval;
1693
1694 /*Support for 11e/WMM*/
1695 wpt_uint8 ucWMMEnabled;
1696
1697 /*11n HT capable STA*/
1698 wpt_uint8 ucHTCapable;
1699
1700 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1701 wpt_uint8 ucTXChannelWidthSet;
1702
1703 /*RIFS mode 0 - NA, 1 - Allowed*/
1704 wpt_uint8 ucRIFSMode;
1705
1706 /*L-SIG TXOP Protection mechanism
1707 0 - No Support, 1 - Supported
1708 SG - there is global field*/
1709 wpt_uint8 ucLSIGTxopProtection;
1710
1711 /*Max Ampdu Size supported by STA. Device programming.
1712 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1713 wpt_uint8 ucMaxAmpduSize;
1714
1715 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1716 wpt_uint8 ucMaxAmpduDensity;
1717
1718 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1719 wpt_uint8 ucMaxAmsduSize;
1720
1721 /*Short GI support for 40Mhz packets*/
1722 wpt_uint8 ucShortGI40Mhz;
1723
1724 /*Short GI support for 20Mhz packets*/
1725 wpt_uint8 ucShortGI20Mhz;
1726
1727 /*These rates are the intersection of peer and self capabilities.*/
1728 WDI_SupportedRates wdiSupportedRates;
1729
1730 /*Robust Management Frame (RMF) enabled/disabled*/
1731 wpt_uint8 ucRMFEnabled;
1732
1733 /* The unicast encryption type in the association */
1734 wpt_uint32 ucEncryptType;
1735
1736 /*HAL should update the existing STA entry, if this flag is set. UMAC
1737 will set this flag in case of RE-ASSOC, where we want to reuse the old
1738 STA ID.*/
1739 WDI_ConfigActionType wdiAction;
1740
1741 /*U-APSD Flags: 1b per AC. Encoded as follows:
1742 b7 b6 b5 b4 b3 b2 b1 b0 =
1743 X X X X BE BK VI VO
1744 */
1745 wpt_uint8 ucAPSD;
1746
1747 /*Max SP Length*/
1748 wpt_uint8 ucMaxSPLen;
1749
1750 /*11n Green Field preamble support*/
1751 wpt_uint8 ucGreenFieldCapable;
1752
1753 /*MIMO Power Save mode*/
1754 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1755
1756 /*Delayed BA Support*/
1757 wpt_uint8 ucDelayedBASupport;
1758
1759 /*Max AMPDU duration in 32us*/
1760 wpt_uint8 us32MaxAmpduDuratio;
1761
1762 /*HT STA should set it to 1 if it is enabled in BSS
1763 HT STA should set it to 0 if AP does not support it. This indication is
1764 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1765 */
1766 wpt_uint8 ucDsssCckMode40Mhz;
1767
1768 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001769#ifdef WLAN_FEATURE_11AC
1770 wpt_uint8 ucVhtCapableSta;
1771 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001772 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301773 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001774#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001775
1776 wpt_uint8 ucHtLdpcEnabled;
1777 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001778}WDI_ConfigStaReqInfoType;
1779
1780
1781/*---------------------------------------------------------------------------
1782 WDI_RateSet
1783
1784 12 Bytes long because this structure can be used to represent rate
1785 and extended rate set IEs
1786 The parser assume this to be at least 12
1787---------------------------------------------------------------------------*/
1788#define WDI_RATESET_EID_MAX 12
1789
1790typedef struct
1791{
1792 wpt_uint8 ucNumRates;
1793 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1794} WDI_RateSet;
1795
1796/*---------------------------------------------------------------------------
1797 WDI_AciAifsnType
1798 access category record
1799---------------------------------------------------------------------------*/
1800typedef struct
1801{
1802 wpt_uint8 rsvd : 1;
1803 wpt_uint8 aci : 2;
1804 wpt_uint8 acm : 1;
1805 wpt_uint8 aifsn : 4;
1806} WDI_AciAifsnType;
1807
1808/*---------------------------------------------------------------------------
1809 WDI_CWType
1810 contention window size
1811---------------------------------------------------------------------------*/
1812typedef struct
1813{
1814 wpt_uint8 max : 4;
1815 wpt_uint8 min : 4;
1816} WDI_CWType;
1817
1818/*---------------------------------------------------------------------------
1819 WDI_EdcaParamRecord
1820---------------------------------------------------------------------------*/
1821typedef struct
1822{
1823 /*Access Category Record*/
1824 WDI_AciAifsnType wdiACI;
1825
1826 /*Contention WIndow Size*/
1827 WDI_CWType wdiCW;
1828
1829 /*TX Oportunity Limit*/
1830 wpt_uint16 usTXOPLimit;
1831} WDI_EdcaParamRecord;
1832
1833/*---------------------------------------------------------------------------
1834 WDI_EDCAParamsType
1835---------------------------------------------------------------------------*/
1836typedef struct
1837{
1838 /*BSS Index*/
1839 wpt_uint8 ucBSSIdx;
1840
1841 /*?*/
1842 wpt_boolean bHighPerformance;
1843
1844 /*Best Effort*/
1845 WDI_EdcaParamRecord wdiACBE;
1846
1847 /*Background*/
1848 WDI_EdcaParamRecord wdiACBK;
1849
1850 /*Video*/
1851 WDI_EdcaParamRecord wdiACVI;
1852
1853 /*Voice*/
1854 WDI_EdcaParamRecord acvo; // voice
1855} WDI_EDCAParamsType;
1856
1857/* operMode in ADD BSS message */
1858#define WDI_BSS_OPERATIONAL_MODE_AP 0
1859#define WDI_BSS_OPERATIONAL_MODE_STA 1
1860
1861/*---------------------------------------------------------------------------
1862 WDI_ConfigBSSRspParamsType
1863---------------------------------------------------------------------------*/
1864typedef struct
1865{
1866 /*Status of the response*/
1867 WDI_Status wdiStatus;
1868
1869 /*BSSID of the BSS*/
1870 wpt_macAddr macBSSID;
1871
1872 /*BSS Index*/
1873 wpt_uint8 ucBSSIdx;
1874
1875 /*Unicast DPU signature*/
1876 wpt_uint8 ucUcastSig;
1877
1878 /*Broadcast DPU Signature*/
1879 wpt_uint8 ucBcastSig;
1880
1881 /*MAC Address of STA*/
1882 wpt_macAddr macSTA;
1883
1884 /*BSS STA ID*/
1885 wpt_uint8 ucSTAIdx;
1886
1887#ifdef WLAN_FEATURE_VOWIFI
1888 /*HAL fills in the tx power used for mgmt frames in this field */
1889 wpt_int8 ucTxMgmtPower;
1890#endif
1891
1892}WDI_ConfigBSSRspParamsType;
1893
1894/*---------------------------------------------------------------------------
1895 WDI_DelBSSReqParamsType
1896---------------------------------------------------------------------------*/
1897typedef struct
1898{
1899 /*BSS Index of the BSS*/
1900 wpt_uint8 ucBssIdx;
1901
1902 /*Request status callback offered by UMAC - it is called if the current
1903 req has returned PENDING as status; it delivers the status of sending
1904 the message over the BUS */
1905 WDI_ReqStatusCb wdiReqStatusCB;
1906
1907 /*The user data passed in by UMAC, it will be sent back when the above
1908 function pointer will be called */
1909 void* pUserData;
1910}WDI_DelBSSReqParamsType;
1911
1912/*---------------------------------------------------------------------------
1913 WDI_DelBSSRspParamsType
1914---------------------------------------------------------------------------*/
1915typedef struct
1916{
1917 /*Status of the response*/
1918 WDI_Status wdiStatus;
1919
1920 /*BSSID of the BSS*/
1921 wpt_macAddr macBSSID;
1922
1923 wpt_uint8 ucBssIdx;
1924
1925}WDI_DelBSSRspParamsType;
1926
1927/*---------------------------------------------------------------------------
1928 WDI_ConfigSTARspParamsType
1929---------------------------------------------------------------------------*/
1930typedef struct
1931{
1932 /*Status of the response*/
1933 WDI_Status wdiStatus;
1934
1935 /*STA Idx allocated by HAL*/
1936 wpt_uint8 ucSTAIdx;
1937
1938 /*MAC Address of STA*/
1939 wpt_macAddr macSTA;
1940
1941 /* BSSID Index of BSS to which the station is associated */
1942 wpt_uint8 ucBssIdx;
1943
1944 /* DPU Index - PTK */
1945 wpt_uint8 ucDpuIndex;
1946
1947 /* Bcast DPU Index - GTK */
1948 wpt_uint8 ucBcastDpuIndex;
1949
1950 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1951 wpt_uint8 ucBcastMgmtDpuIdx;
1952
1953 /*Unicast DPU signature*/
1954 wpt_uint8 ucUcastSig;
1955
1956 /*Broadcast DPU Signature*/
1957 wpt_uint8 ucBcastSig;
1958
1959 /* IGTK DPU signature*/
1960 wpt_uint8 ucMgmtSig;
1961
1962}WDI_ConfigSTARspParamsType;
1963
1964/*---------------------------------------------------------------------------
1965 WDI_PostAssocRspParamsType
1966---------------------------------------------------------------------------*/
1967typedef struct
1968{
1969 /*Status of the response*/
1970 WDI_Status wdiStatus;
1971
1972 /*Parameters related to the BSS*/
1973 WDI_ConfigBSSRspParamsType bssParams;
1974
1975 /*Parameters related to the self STA*/
1976 WDI_ConfigSTARspParamsType staParams;
1977
1978}WDI_PostAssocRspParamsType;
1979
1980/*---------------------------------------------------------------------------
1981 WDI_DelSTAReqParamsType
1982---------------------------------------------------------------------------*/
1983typedef struct
1984{
1985 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1986 wpt_uint8 ucSTAIdx;
1987
1988 /*Request status callback offered by UMAC - it is called if the current
1989 req has returned PENDING as status; it delivers the status of sending
1990 the message over the BUS */
1991 WDI_ReqStatusCb wdiReqStatusCB;
1992
1993 /*The user data passed in by UMAC, it will be sent back when the above
1994 function pointer will be called */
1995 void* pUserData;
1996}WDI_DelSTAReqParamsType;
1997
1998/*---------------------------------------------------------------------------
1999 WDI_DelSTARspParamsType
2000---------------------------------------------------------------------------*/
2001typedef struct
2002{
2003 /*Status of the response*/
2004 WDI_Status wdiStatus;
2005
2006 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
2007 wpt_uint8 ucSTAIdx;
2008}WDI_DelSTARspParamsType;
2009
2010/*---------------------------------------------------------------------------
2011 WDI_EncryptType
2012---------------------------------------------------------------------------*/
2013typedef enum
2014{
2015 WDI_ENCR_NONE,
2016 WDI_ENCR_WEP40,
2017 WDI_ENCR_WEP104,
2018 WDI_ENCR_TKIP,
2019 WDI_ENCR_CCMP,
2020#if defined(FEATURE_WLAN_WAPI)
2021 WDI_ENCR_WPI,
2022#endif
2023 WDI_ENCR_AES_128_CMAC
2024} WDI_EncryptType;
2025
2026/*---------------------------------------------------------------------------
2027 WDI_KeyDirectionType
2028---------------------------------------------------------------------------*/
2029typedef enum
2030{
2031 WDI_TX_ONLY,
2032 WDI_RX_ONLY,
2033 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002034 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002035 WDI_DONOT_USE_KEY_DIRECTION
2036} WDI_KeyDirectionType;
2037
2038#define WDI_MAX_ENCR_KEYS 4
2039#define WDI_MAX_KEY_LENGTH 32
2040#if defined(FEATURE_WLAN_WAPI)
2041#define WDI_MAX_KEY_RSC_LEN 16
2042#define WDI_WAPI_KEY_RSC_LEN 16
2043#else
2044#define WDI_MAX_KEY_RSC_LEN 8
2045#endif
2046
2047typedef struct
2048{
2049 /* Key ID */
2050 wpt_uint8 keyId;
2051 /* 0 for multicast */
2052 wpt_uint8 unicast;
2053 /* Key Direction */
2054 WDI_KeyDirectionType keyDirection;
2055 /* Usage is unknown */
2056 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2057 /* =1 for authenticator, =0 for supplicant */
2058 wpt_uint8 paeRole;
2059 wpt_uint16 keyLength;
2060 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2061
2062}WDI_KeysType;
2063
2064/*---------------------------------------------------------------------------
2065 WDI_SetBSSKeyReqInfoType
2066---------------------------------------------------------------------------*/
2067typedef struct
2068{
2069 /*BSS Index of the BSS*/
2070 wpt_uint8 ucBssIdx;
2071
2072 /*Encryption Type used with peer*/
2073 WDI_EncryptType wdiEncType;
2074
2075 /*Number of keys*/
2076 wpt_uint8 ucNumKeys;
2077
2078 /*Array of keys.*/
2079 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2080
2081 /*Control for Replay Count, 1= Single TID based replay count on Tx
2082 0 = Per TID based replay count on TX */
2083 wpt_uint8 ucSingleTidRc;
2084}WDI_SetBSSKeyReqInfoType;
2085
2086/*---------------------------------------------------------------------------
2087 WDI_SetBSSKeyReqParamsType
2088---------------------------------------------------------------------------*/
2089typedef struct
2090{
2091 /*Key Info */
2092 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
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_SetBSSKeyReqParamsType;
2103
2104/*---------------------------------------------------------------------------
2105 WDI_WepType
2106---------------------------------------------------------------------------*/
2107typedef enum
2108{
2109 WDI_WEP_STATIC,
2110 WDI_WEP_DYNAMIC
2111
2112} WDI_WepType;
2113
2114/*---------------------------------------------------------------------------
2115 WDI_RemoveBSSKeyReqInfoType
2116---------------------------------------------------------------------------*/
2117typedef struct
2118{
2119 /*BSS Index of the BSS*/
2120 wpt_uint8 ucBssIdx;
2121
2122 /*Encryption Type used with peer*/
2123 WDI_EncryptType wdiEncType;
2124
2125 /*Key Id*/
2126 wpt_uint8 ucKeyId;
2127
2128 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2129 keys*/
2130 WDI_WepType wdiWEPType;
2131}WDI_RemoveBSSKeyReqInfoType;
2132
2133/*---------------------------------------------------------------------------
2134 WDI_RemoveBSSKeyReqParamsType
2135---------------------------------------------------------------------------*/
2136typedef struct
2137{
2138 /*Key Info */
2139 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2140
2141 /*Request status callback offered by UMAC - it is called if the current
2142 req has returned PENDING as status; it delivers the status of sending
2143 the message over the BUS */
2144 WDI_ReqStatusCb wdiReqStatusCB;
2145
2146 /*The user data passed in by UMAC, it will be sent back when the above
2147 function pointer will be called */
2148 void* pUserData;
2149}WDI_RemoveBSSKeyReqParamsType;
2150
2151/*---------------------------------------------------------------------------
2152 WDI_SetSTAKeyReqInfoType
2153---------------------------------------------------------------------------*/
2154typedef struct
2155{
2156 /*STA Index*/
2157 wpt_uint8 ucSTAIdx;
2158
2159 /*Encryption Type used with peer*/
2160 WDI_EncryptType wdiEncType;
2161
2162 /*STATIC/DYNAMIC*/
2163 WDI_WepType wdiWEPType;
2164
2165 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2166 wpt_uint8 ucDefWEPIdx;
2167
2168 /*Number of keys*/
2169 wpt_uint8 ucNumKeys;
2170
2171 /*Array of keys.*/
2172 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2173
2174 /*Control for Replay Count, 1= Single TID based replay count on Tx
2175 0 = Per TID based replay count on TX */
2176 wpt_uint8 ucSingleTidRc;
2177}WDI_SetSTAKeyReqInfoType;
2178
2179/*---------------------------------------------------------------------------
2180 WDI_ConfigBSSReqInfoType
2181---------------------------------------------------------------------------*/
2182typedef struct
2183{
2184 /*Peer BSSID*/
2185 wpt_macAddr macBSSID;
2186
2187 /*Self MAC Address*/
2188 wpt_macAddr macSelfAddr;
2189
2190 /*BSS Type*/
2191 WDI_BssType wdiBSSType;
2192
2193 /*Operational Mode: AP =0, STA = 1*/
2194 wpt_uint8 ucOperMode;
2195
2196 /*Network Type*/
2197 WDI_NwType wdiNWType;
2198
2199 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2200 wpt_uint8 ucShortSlotTimeSupported;
2201
2202 /*Co-exist with 11a STA*/
2203 wpt_uint8 ucllaCoexist;
2204
2205 /*Co-exist with 11b STA*/
2206 wpt_uint8 ucllbCoexist;
2207
2208 /*Co-exist with 11g STA*/
2209 wpt_uint8 ucllgCoexist;
2210
2211 /*Coexistence with 11n STA*/
2212 wpt_uint8 ucHT20Coexist;
2213
2214 /*Non GF coexist flag*/
2215 wpt_uint8 ucllnNonGFCoexist;
2216
2217 /*TXOP protection support*/
2218 wpt_uint8 ucTXOPProtectionFullSupport;
2219
2220 /*RIFS mode*/
2221 wpt_uint8 ucRIFSMode;
2222
2223 /*Beacon Interval in TU*/
2224 wpt_uint16 usBeaconInterval;
2225
2226 /*DTIM period*/
2227 wpt_uint8 ucDTIMPeriod;
2228
2229 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2230 wpt_uint8 ucTXChannelWidthSet;
2231
2232 /*Operating channel*/
2233 wpt_uint8 ucCurrentOperChannel;
2234
2235 /*Extension channel for channel bonding*/
2236 wpt_uint8 ucCurrentExtChannel;
2237
2238 /*Context of the station being added in HW.*/
2239 WDI_ConfigStaReqInfoType wdiSTAContext;
2240
2241 /*SSID of the BSS*/
2242 WDI_MacSSid wdiSSID;
2243
2244 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2245 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2246 WDI_ConfigAction wdiAction;
2247
2248 /*Basic Rate Set*/
2249 WDI_RateSet wdiRateSet;
2250
2251 /*Enable/Disable HT capabilities of the BSS*/
2252 wpt_uint8 ucHTCapable;
2253
2254 /* Enable/Disable OBSS protection */
2255 wpt_uint8 ucObssProtEnabled;
2256
2257 /*RMF enabled/disabled*/
2258 wpt_uint8 ucRMFEnabled;
2259
2260 /*Determines the current HT Operating Mode operating mode of the
2261 802.11n STA*/
2262 WDI_HTOperatingMode wdiHTOperMod;
2263
2264 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2265 wpt_uint8 ucDualCTSProtection;
2266
2267 /* Probe Response Max retries */
2268 wpt_uint8 ucMaxProbeRespRetryLimit;
2269
2270 /* To Enable Hidden ssid */
2271 wpt_uint8 bHiddenSSIDEn;
2272
2273 /* To Enable Disable FW Proxy Probe Resp */
2274 wpt_uint8 bProxyProbeRespEn;
2275
2276 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2277 EDCA params or might not desire to apply EDCA params during config BSS.
2278 0 implies Not Valid ; Non-Zero implies valid*/
2279 wpt_uint8 ucEDCAParamsValid;
2280
2281 /*EDCA Parameters for BK*/
2282 WDI_EdcaParamRecord wdiBKEDCAParams;
2283
2284 /*EDCA Parameters for BE*/
2285 WDI_EdcaParamRecord wdiBEEDCAParams;
2286
2287 /*EDCA Parameters for VI*/
2288 WDI_EdcaParamRecord wdiVIEDCAParams;
2289
2290 /*EDCA Parameters for VO*/
2291 WDI_EdcaParamRecord wdiVOEDCAParams;
2292
2293#ifdef WLAN_FEATURE_VOWIFI
2294 /*max power to be used after applying the power constraint, if any */
2295 wpt_int8 cMaxTxPower;
2296#endif
2297
2298 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2299 wpt_uint8 ucPersona;
2300
2301 /* Spectrum Mangement Indicator */
2302 wpt_uint8 bSpectrumMgtEn;
2303
2304#ifdef WLAN_FEATURE_VOWIFI_11R
2305 wpt_uint8 bExtSetStaKeyParamValid;
2306 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2307#endif
2308
Jeff Johnsone7245742012-09-05 17:12:55 -07002309#ifdef WLAN_FEATURE_11AC
2310 wpt_uint8 ucVhtCapableSta;
2311 wpt_uint8 ucVhtTxChannelWidthSet;
2312#endif
2313
Jeff Johnson295189b2012-06-20 16:38:30 -07002314}WDI_ConfigBSSReqInfoType;
2315
2316/*---------------------------------------------------------------------------
2317 WDI_PostAssocReqParamsType
2318---------------------------------------------------------------------------*/
2319typedef struct
2320{
2321 /*Config STA arguments.*/
2322 WDI_ConfigStaReqInfoType wdiSTAParams;
2323
2324 /*Config BSS Arguments*/
2325 WDI_ConfigBSSReqInfoType wdiBSSParams;
2326
2327 /*Request status callback offered by UMAC - it is called if the current
2328 req has returned PENDING as status; it delivers the status of sending
2329 the message over the BUS */
2330 WDI_ReqStatusCb wdiReqStatusCB;
2331
2332 /*The user data passed in by UMAC, it will be sent back when the above
2333 function pointer will be called */
2334 void* pUserData;
2335}WDI_PostAssocReqParamsType;
2336
2337/*---------------------------------------------------------------------------
2338 WDI_ConfigBSSReqParamsType
2339---------------------------------------------------------------------------*/
2340typedef struct
2341{
2342 /*Info for the Join request that will be sent down to the device*/
2343 WDI_ConfigBSSReqInfoType wdiReqInfo;
2344
2345 /*Request status callback offered by UMAC - it is called if the current
2346 req has returned PENDING as status; it delivers the status of sending
2347 the message over the BUS */
2348 WDI_ReqStatusCb wdiReqStatusCB;
2349
2350 /*The user data passed in by UMAC, it will be sent back when the above
2351 function pointer will be called */
2352 void* pUserData;
2353}WDI_ConfigBSSReqParamsType;
2354
2355/*---------------------------------------------------------------------------
2356 WDI_SetSTAKeyReqParamsType
2357---------------------------------------------------------------------------*/
2358typedef struct
2359{
2360 /*Key Info*/
2361 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2362
2363 /*Request status callback offered by UMAC - it is called if the current
2364 req has returned PENDING as status; it delivers the status of sending
2365 the message over the BUS */
2366 WDI_ReqStatusCb wdiReqStatusCB;
2367
2368 /*The user data passed in by UMAC, it will be sent back when the above
2369 function pointer will be called */
2370 void* pUserData;
2371}WDI_SetSTAKeyReqParamsType;
2372
2373/*---------------------------------------------------------------------------
2374 WDI_RemoveSTAKeyReqInfoType
2375---------------------------------------------------------------------------*/
2376typedef struct
2377{
2378 /*STA Index*/
2379 wpt_uint8 ucSTAIdx;
2380
2381 /*Encryption Type used with peer*/
2382 WDI_EncryptType wdiEncType;
2383
2384 /*Key Id*/
2385 wpt_uint8 ucKeyId;
2386
2387 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2388 the same key is used for both broadcast and unicast.*/
2389 wpt_uint8 ucUnicast;
2390}WDI_RemoveSTAKeyReqInfoType;
2391
2392/*---------------------------------------------------------------------------
2393 WDI_RemoveSTAKeyReqParamsType
2394---------------------------------------------------------------------------*/
2395typedef struct
2396{
2397 /*Key Info */
2398 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2399
2400 /*Request status callback offered by UMAC - it is called if the current
2401 req has returned PENDING as status; it delivers the status of sending
2402 the message over the BUS */
2403 WDI_ReqStatusCb wdiReqStatusCB;
2404
2405 /*The user data passed in by UMAC, it will be sent back when the above
2406 function pointer will be called */
2407 void* pUserData;
2408}WDI_RemoveSTAKeyReqParamsType;
2409
2410/*---------------------------------------------------------------------------
2411 QOS Parameters
2412---------------------------------------------------------------------------*/
2413
2414/*---------------------------------------------------------------------------
2415 WDI_TSInfoTfc
2416---------------------------------------------------------------------------*/
2417typedef struct
2418{
2419 wpt_uint16 ackPolicy:2;
2420 wpt_uint16 userPrio:3;
2421 wpt_uint16 psb:1;
2422 wpt_uint16 aggregation : 1;
2423 wpt_uint16 accessPolicy : 2;
2424 wpt_uint16 direction : 2;
2425 wpt_uint16 tsid : 4;
2426 wpt_uint16 trafficType : 1;
2427} WDI_TSInfoTfc;
2428
2429/*---------------------------------------------------------------------------
2430 WDI_TSInfoSch
2431---------------------------------------------------------------------------*/
2432typedef struct
2433{
2434 wpt_uint8 rsvd : 7;
2435 wpt_uint8 schedule : 1;
2436} WDI_TSInfoSch;
2437
2438/*---------------------------------------------------------------------------
2439 WDI_TSInfoType
2440---------------------------------------------------------------------------*/
2441typedef struct
2442{
2443 WDI_TSInfoTfc wdiTraffic;
2444 WDI_TSInfoSch wdiSchedule;
2445} WDI_TSInfoType;
2446
2447/*---------------------------------------------------------------------------
2448 WDI_TspecIEType
2449---------------------------------------------------------------------------*/
2450typedef struct
2451{
2452 wpt_uint8 ucType;
2453 wpt_uint8 ucLength;
2454 WDI_TSInfoType wdiTSinfo;
2455 wpt_uint16 usNomMsduSz;
2456 wpt_uint16 usMaxMsduSz;
2457 wpt_uint32 uMinSvcInterval;
2458 wpt_uint32 uMaxSvcInterval;
2459 wpt_uint32 uInactInterval;
2460 wpt_uint32 uSuspendInterval;
2461 wpt_uint32 uSvcStartTime;
2462 wpt_uint32 uMinDataRate;
2463 wpt_uint32 uMeanDataRate;
2464 wpt_uint32 uPeakDataRate;
2465 wpt_uint32 uMaxBurstSz;
2466 wpt_uint32 uDelayBound;
2467 wpt_uint32 uMinPhyRate;
2468 wpt_uint16 usSurplusBw;
2469 wpt_uint16 usMediumTime;
2470}WDI_TspecIEType;
2471
2472/*---------------------------------------------------------------------------
2473 WDI_AddTSReqInfoType
2474---------------------------------------------------------------------------*/
2475typedef struct
2476{
2477 /*STA Index*/
2478 wpt_uint8 ucSTAIdx;
2479
2480 /*Identifier for TSpec*/
2481 wpt_uint16 ucTspecIdx;
2482
2483 /*Tspec IE negotiated OTA*/
2484 WDI_TspecIEType wdiTspecIE;
2485
2486 /*UAPSD delivery and trigger enabled flags */
2487 wpt_uint8 ucUapsdFlags;
2488
2489 /*SI for each AC*/
2490 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2491
2492 /*Suspend Interval for each AC*/
2493 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2494
2495 /*DI for each AC*/
2496 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2497
2498}WDI_AddTSReqInfoType;
2499
2500
2501/*---------------------------------------------------------------------------
2502 WDI_AddTSReqParamsType
2503---------------------------------------------------------------------------*/
2504typedef struct
2505{
2506 /*TSpec Info */
2507 WDI_AddTSReqInfoType wdiTsInfo;
2508
2509 /*Request status callback offered by UMAC - it is called if the current
2510 req has returned PENDING as status; it delivers the status of sending
2511 the message over the BUS */
2512 WDI_ReqStatusCb wdiReqStatusCB;
2513
2514 /*The user data passed in by UMAC, it will be sent back when the above
2515 function pointer will be called */
2516 void* pUserData;
2517}WDI_AddTSReqParamsType;
2518
2519/*---------------------------------------------------------------------------
2520 WDI_DelTSReqInfoType
2521---------------------------------------------------------------------------*/
2522typedef struct
2523{
2524 /*STA Index*/
2525 wpt_uint8 ucSTAIdx;
2526
2527 /*Identifier for TSpec*/
2528 wpt_uint16 ucTspecIdx;
2529
2530 /*BSSID of the BSS*/
2531 wpt_macAddr macBSSID;
2532}WDI_DelTSReqInfoType;
2533
2534/*---------------------------------------------------------------------------
2535 WDI_DelTSReqParamsType
2536---------------------------------------------------------------------------*/
2537typedef struct
2538{
2539 /*Del TSpec Info*/
2540 WDI_DelTSReqInfoType wdiDelTSInfo;
2541
2542 /*Request status callback offered by UMAC - it is called if the current
2543 req has returned PENDING as status; it delivers the status of sending
2544 the message over the BUS */
2545 WDI_ReqStatusCb wdiReqStatusCB;
2546
2547 /*The user data passed in by UMAC, it will be sent back when the above
2548 function pointer will be called */
2549 void* pUserData;
2550}WDI_DelTSReqParamsType;
2551
2552/*---------------------------------------------------------------------------
2553 WDI_UpdateEDCAInfoType
2554---------------------------------------------------------------------------*/
2555typedef struct
2556{
krunal soni0b366c02013-07-17 19:55:57 -07002557 /*BSS Index of the BSS*/
2558 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002559
Jeff Johnson295189b2012-06-20 16:38:30 -07002560 /*EDCA params for BE*/
2561 WDI_EdcaParamRecord wdiEdcaBEInfo;
2562
2563 /*EDCA params for BK*/
2564 WDI_EdcaParamRecord wdiEdcaBKInfo;
2565
2566 /*EDCA params for VI*/
2567 WDI_EdcaParamRecord wdiEdcaVIInfo;
2568
2569 /*EDCA params for VO*/
2570 WDI_EdcaParamRecord wdiEdcaVOInfo;
2571
2572}WDI_UpdateEDCAInfoType;
2573
2574/*---------------------------------------------------------------------------
2575 WDI_UpdateEDCAParamsType
2576---------------------------------------------------------------------------*/
2577typedef struct
2578{
2579 /*EDCA Info */
2580 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2581
2582 /*Request status callback offered by UMAC - it is called if the current
2583 req has returned PENDING as status; it delivers the status of sending
2584 the message over the BUS */
2585 WDI_ReqStatusCb wdiReqStatusCB;
2586
2587 /*The user data passed in by UMAC, it will be sent back when the above
2588 function pointer will be called */
2589 void* pUserData;
2590}WDI_UpdateEDCAParamsType;
2591
2592/*---------------------------------------------------------------------------
2593 WDI_AddBASessionReqinfoType
2594---------------------------------------------------------------------------*/
2595typedef struct
2596{
2597 /*Indicates the station for which BA is added..*/
2598 wpt_uint8 ucSTAIdx;
2599
2600 /*The peer mac address*/
2601 wpt_macAddr macPeerAddr;
2602
2603 /*TID for which BA was negotiated*/
2604 wpt_uint8 ucBaTID;
2605
2606 /*Delayed or imediate */
2607 wpt_uint8 ucBaPolicy;
2608
2609 /*The number of buffers for this TID (baTID)*/
2610 wpt_uint16 usBaBufferSize;
2611
2612 /*BA timeout in TU's*/
2613 wpt_uint16 usBaTimeout;
2614
2615 /*b0..b3 - Fragment Number - Always set to 0
2616 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2617 wpt_uint16 usBaSSN;
2618
2619 /*Originator/Recipient*/
2620 wpt_uint8 ucBaDirection;
2621
2622}WDI_AddBASessionReqinfoType;
2623
2624
2625/*---------------------------------------------------------------------------
2626 WDI_AddBASessionReqParamsType
2627---------------------------------------------------------------------------*/
2628typedef struct
2629{
2630 /*BA Session Info Type*/
2631 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2632
2633 /*Request status callback offered by UMAC - it is called if the current
2634 req has returned PENDING as status; it delivers the status of sending
2635 the message over the BUS */
2636 WDI_ReqStatusCb wdiReqStatusCB;
2637
2638 /*The user data passed in by UMAC, it will be sent back when the above
2639 function pointer will be called */
2640 void* pUserData;
2641}WDI_AddBASessionReqParamsType;
2642
2643/*---------------------------------------------------------------------------
2644 WDI_AddBASessionRspParamsType
2645---------------------------------------------------------------------------*/
2646typedef struct
2647{
2648 /*Status of the response*/
2649 WDI_Status wdiStatus;
2650
2651 /* Dialog token */
2652 wpt_uint8 ucBaDialogToken;
2653
2654 /* TID for which the BA session has been setup */
2655 wpt_uint8 ucBaTID;
2656
2657 /* BA Buffer Size allocated for the current BA session */
2658 wpt_uint8 ucBaBufferSize;
2659
2660 /* BA session ID */
2661 wpt_uint16 usBaSessionID;
2662
2663 /* Reordering Window buffer */
2664 wpt_uint8 ucWinSize;
2665
2666 /*Station Index to id the sta */
2667 wpt_uint8 ucSTAIdx;
2668
2669 /* Starting Sequence Number */
2670 wpt_uint16 usBaSSN;
2671
2672}WDI_AddBASessionRspParamsType;
2673
2674/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302675 WDI_SpoofMacAddrRspParamType
2676---------------------------------------------------------------------------*/
2677typedef struct
2678{
2679 /* wdi status */
2680 wpt_uint32 wdiStatus;
2681
2682 /* Reserved Field */
2683 wpt_uint32 reserved;
2684
2685}WDI_SpoofMacAddrRspParamType;
2686/*---------------------------------------------------------------------------
Siddharth Bhal64246172015-02-27 01:04:37 +05302687 WDI_GetFrameLogRspParamType
2688---------------------------------------------------------------------------*/
2689typedef struct
2690{
2691 /* wdi status */
2692 wpt_uint32 wdiStatus;
2693}WDI_GetFrameLogRspParamType;
2694/*---------------------------------------------------------------------------
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302695 WDI_FWLoggingInitRspParamType
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302696---------------------------------------------------------------------------*/
2697typedef struct
2698{
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302699 //FW mail box address
2700 wpt_uint64 logMailBoxAddr;
2701 wpt_uint32 status;
2702 //Logging mail box version
2703 wpt_uint8 logMailBoxVer;
2704 //Qshrink is enabled
2705 wpt_boolean logCompressEnabled;
2706 //Reserved for future purpose
2707 wpt_uint32 reserved0;
2708 wpt_uint32 reserved1;
2709 wpt_uint32 reserved2;
2710}WDI_FWLoggingInitRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302711
2712
2713/*---------------------------------------------------------------------------
2714 WDI_FatalEventLogsRspParamType
2715---------------------------------------------------------------------------*/
2716typedef struct
2717{
2718 /* wdi status */
2719 wpt_uint32 wdiStatus;
2720}WDI_FatalEventLogsRspParamType;
2721
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302722/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002723 WDI_AddBAReqinfoType
2724---------------------------------------------------------------------------*/
2725typedef struct
2726{
2727 /*Indicates the station for which BA is added..*/
2728 wpt_uint8 ucSTAIdx;
2729
2730 /* Session Id */
2731 wpt_uint8 ucBaSessionID;
2732
2733 /* Reorder Window Size */
2734 wpt_uint8 ucWinSize;
2735
2736#ifdef FEATURE_ON_CHIP_REORDERING
2737 wpt_boolean bIsReorderingDoneOnChip;
2738#endif
2739
2740}WDI_AddBAReqinfoType;
2741
2742
2743/*---------------------------------------------------------------------------
2744 WDI_AddBAReqParamsType
2745---------------------------------------------------------------------------*/
2746typedef struct
2747{
2748 /*BA Info Type*/
2749 WDI_AddBAReqinfoType wdiBAInfoType;
2750
2751 /*Request status callback offered by UMAC - it is called if the current
2752 req has returned PENDING as status; it delivers the status of sending
2753 the message over the BUS */
2754 WDI_ReqStatusCb wdiReqStatusCB;
2755
2756 /*The user data passed in by UMAC, it will be sent back when the above
2757 function pointer will be called */
2758 void* pUserData;
2759}WDI_AddBAReqParamsType;
2760
2761
2762/*---------------------------------------------------------------------------
2763 WDI_AddBARspinfoType
2764---------------------------------------------------------------------------*/
2765typedef struct
2766{
2767 /*Status of the response*/
2768 WDI_Status wdiStatus;
2769
2770 /* Dialog token */
2771 wpt_uint8 ucBaDialogToken;
2772
2773}WDI_AddBARspinfoType;
2774
2775/*---------------------------------------------------------------------------
2776 WDI_TriggerBAReqCandidateType
2777---------------------------------------------------------------------------*/
2778typedef struct
2779{
2780 /* STA index */
2781 wpt_uint8 ucSTAIdx;
2782
2783 /* TID bit map for the STA's*/
2784 wpt_uint8 ucTidBitmap;
2785
2786}WDI_TriggerBAReqCandidateType;
2787
2788
2789/*---------------------------------------------------------------------------
2790 WDI_TriggerBAReqinfoType
2791---------------------------------------------------------------------------*/
2792typedef struct
2793{
2794 /*Indicates the station for which BA is added..*/
2795 wpt_uint8 ucSTAIdx;
2796
2797 /* Session Id */
2798 wpt_uint8 ucBASessionID;
2799
2800 /* Trigger BA Request candidate count */
2801 wpt_uint16 usBACandidateCnt;
2802
2803 /* WDI_TriggerBAReqCandidateType followed by this*/
2804
2805}WDI_TriggerBAReqinfoType;
2806
2807
2808/*---------------------------------------------------------------------------
2809 WDI_TriggerBAReqParamsType
2810---------------------------------------------------------------------------*/
2811typedef struct
2812{
2813 /*BA Trigger Info Type*/
2814 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2815
2816 /*Request status callback offered by UMAC - it is called if the current
2817 req has returned PENDING as status; it delivers the status of sending
2818 the message over the BUS */
2819 WDI_ReqStatusCb wdiReqStatusCB;
2820
2821 /*The user data passed in by UMAC, it will be sent back when the above
2822 function pointer will be called */
2823 void* pUserData;
2824}WDI_TriggerBAReqParamsType;
2825
2826/*---------------------------------------------------------------------------
2827 WDI_AddBAInfoType
2828---------------------------------------------------------------------------*/
2829typedef struct
2830{
2831 wpt_uint16 fBaEnable : 1;
2832 wpt_uint16 startingSeqNum: 12;
2833 wpt_uint16 reserved : 3;
2834}WDI_AddBAInfoType;
2835
2836/*---------------------------------------------------------------------------
2837 WDI_TriggerBARspCandidateType
2838---------------------------------------------------------------------------*/
2839#define STA_MAX_TC 8
2840
2841typedef struct
2842{
2843 /* STA index */
2844 wpt_macAddr macSTA;
2845
2846 /* BA Info */
2847 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2848}WDI_TriggerBARspCandidateType;
2849
2850/*---------------------------------------------------------------------------
2851 WDI_TriggerBARspParamsType
2852---------------------------------------------------------------------------*/
2853typedef struct
2854{
2855 /*Status of the response*/
2856 WDI_Status wdiStatus;
2857
2858 /*BSSID of the BSS*/
2859 wpt_macAddr macBSSID;
2860
2861 /* Trigger BA response candidate count */
2862 wpt_uint16 usBaCandidateCnt;
2863
2864 /* WDI_TriggerBARspCandidateType followed by this*/
2865
2866}WDI_TriggerBARspParamsType;
2867
2868/*---------------------------------------------------------------------------
2869 WDI_DelBAReqinfoType
2870---------------------------------------------------------------------------*/
2871typedef struct
2872{
2873 /*Indicates the station for which BA is added..*/
2874 wpt_uint8 ucSTAIdx;
2875
2876 /*TID for which BA was negotiated*/
2877 wpt_uint8 ucBaTID;
2878
2879 /*Originator/Recipient*/
2880 wpt_uint8 ucBaDirection;
2881
2882}WDI_DelBAReqinfoType;
2883
2884/*---------------------------------------------------------------------------
2885 WDI_DelBAReqParamsType
2886---------------------------------------------------------------------------*/
2887typedef struct
2888{
2889 /*BA Info */
2890 WDI_DelBAReqinfoType wdiBAInfo;
2891
2892 /*Request status callback offered by UMAC - it is called if the current
2893 req has returned PENDING as status; it delivers the status of sending
2894 the message over the BUS */
2895 WDI_ReqStatusCb wdiReqStatusCB;
2896
2897 /*The user data passed in by UMAC, it will be sent back when the above
2898 function pointer will be called */
2899 void* pUserData;
2900}WDI_DelBAReqParamsType;
2901
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002902/*---------------------------------------------------------------------------
2903 WDI_UpdateChannelReqinfoType
2904---------------------------------------------------------------------------*/
2905typedef struct
2906{
2907 /** primary 20 MHz channel frequency in mhz */
2908 wpt_uint32 mhz;
2909 /** Center frequency 1 in MHz*/
2910 wpt_uint32 band_center_freq1;
2911 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2912 wpt_uint32 band_center_freq2;
2913 /* The first 26 bits are a bit mask to indicate any channel flags,
2914 (see WLAN_HAL_CHAN_FLAG*)
2915 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2916 wpt_uint32 channel_info;
2917 /** contains min power, max power, reg power and reg class id. */
2918 wpt_uint32 reg_info_1;
2919 /** contains antennamax */
2920 wpt_uint32 reg_info_2;
2921}WDI_UpdateChannelReqinfoType;
2922
2923typedef struct
2924{
2925 wpt_uint8 numchan;
2926 WDI_UpdateChannelReqinfoType *pchanParam;
2927}WDI_UpdateChannelReqType;
2928/*---------------------------------------------------------------------------
2929 WDI_UpdateChReqParamsType
2930---------------------------------------------------------------------------*/
2931typedef struct
2932{
2933 /*BA Info */
2934 WDI_UpdateChannelReqType wdiUpdateChanParams;
2935
2936 /*Request status callback offered by UMAC - it is called if the current
2937 req has returned PENDING as status; it delivers the status of sending
2938 the message over the BUS */
2939 WDI_ReqStatusCb wdiReqStatusCB;
2940
2941 /*The user data passed in by UMAC, it will be sent back when the above
2942 function pointer will be called */
2943 void* pUserData;
2944}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002945
2946/*---------------------------------------------------------------------------
2947 WDI_SwitchCHRspParamsType
2948---------------------------------------------------------------------------*/
2949typedef struct
2950{
2951 /*Status of the response*/
2952 WDI_Status wdiStatus;
2953
2954 /*Indicates the channel that WLAN is on*/
2955 wpt_uint8 ucChannel;
2956
2957#ifdef WLAN_FEATURE_VOWIFI
2958 /*HAL fills in the tx power used for mgmt frames in this field.*/
2959 wpt_int8 ucTxMgmtPower;
2960#endif
2961
2962}WDI_SwitchCHRspParamsType;
2963
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002964/*--------------------------------------------------------------------
2965 WDI_SwitchChRspParamsType_V1
2966--------------------------------------------------------------------*/
2967typedef struct
2968{
2969 /*Status of the response*/
2970 WDI_Status wdiStatus;
2971
2972 /*Indicates the channel that WLAN is on*/
2973 wpt_uint8 ucChannel;
2974
2975#ifdef WLAN_FEATURE_VOWIFI
2976 /*HAL fills in the tx power used for mgmt frames in this field.*/
2977 wpt_int8 ucTxMgmtPower;
2978#endif
2979
2980 /* Source of Channel Switch */
2981 WDI_ChanSwitchSource channelSwitchSrc;
2982}WDI_SwitchChRspParamsType_V1;
2983
Jeff Johnson295189b2012-06-20 16:38:30 -07002984/*---------------------------------------------------------------------------
2985 WDI_ConfigSTAReqParamsType
2986---------------------------------------------------------------------------*/
2987typedef struct
2988{
2989 /*Info for the Join request that will be sent down to the device*/
2990 WDI_ConfigStaReqInfoType wdiReqInfo;
2991
2992 /*Request status callback offered by UMAC - it is called if the current
2993 req has returned PENDING as status; it delivers the status of sending
2994 the message over the BUS */
2995 WDI_ReqStatusCb wdiReqStatusCB;
2996
2997 /*The user data passed in by UMAC, it will be sent back when the above
2998 function pointer will be called */
2999 void* pUserData;
3000}WDI_ConfigSTAReqParamsType;
3001
3002
3003/*---------------------------------------------------------------------------
3004 WDI_UpdateBeaconParamsInfoType
3005---------------------------------------------------------------------------*/
3006
3007typedef struct
3008{
3009 /*BSS Index of the BSS*/
3010 wpt_uint8 ucBssIdx;
3011
3012 /*shortPreamble mode. HAL should update all the STA rates when it
3013 receives this message*/
3014 wpt_uint8 ucfShortPreamble;
3015 /* short Slot time.*/
3016 wpt_uint8 ucfShortSlotTime;
3017 /* Beacon Interval */
3018 wpt_uint16 usBeaconInterval;
3019 /*Protection related */
3020 wpt_uint8 ucllaCoexist;
3021 wpt_uint8 ucllbCoexist;
3022 wpt_uint8 ucllgCoexist;
3023 wpt_uint8 ucHt20MhzCoexist;
3024 wpt_uint8 ucllnNonGFCoexist;
3025 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
3026 wpt_uint8 ucfRIFSMode;
3027
3028 wpt_uint16 usChangeBitmap;
3029}WDI_UpdateBeaconParamsInfoType;
3030
Mohit Khanna4a70d262012-09-11 16:30:12 -07003031#ifdef WLAN_FEATURE_11AC
3032typedef struct
3033{
3034 wpt_uint16 opMode;
3035 wpt_uint16 staId;
3036}WDI_UpdateVHTOpMode;
3037#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003038
3039/*---------------------------------------------------------------------------
3040 WDI_UpdateBeaconParamsType
3041---------------------------------------------------------------------------*/
3042typedef struct
3043{
3044 /*Update Beacon Params Info*/
3045 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
3046
3047 /*Request status callback offered by UMAC - it is called if the current
3048 req has returned PENDING as status; it delivers the status of sending
3049 the message over the BUS */
3050 WDI_ReqStatusCb wdiReqStatusCB;
3051
3052 /*The user data passed in by UMAC, it will be sent back when the above
3053 function pointer will be called */
3054 void* pUserData;
3055}WDI_UpdateBeaconParamsType;
3056
3057/*---------------------------------------------------------------------------
3058 WDI_SendBeaconParamsInfoType
3059---------------------------------------------------------------------------*/
3060
3061typedef struct {
3062
3063 /*BSSID of the BSS*/
3064 wpt_macAddr macBSSID;
3065
3066 /* Beacon data */
3067 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3068
3069 /* length of the template */
3070 wpt_uint32 beaconLength;
3071
Jeff Johnson295189b2012-06-20 16:38:30 -07003072 /* TIM IE offset from the beginning of the template.*/
3073 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003074
Jeff Johnson295189b2012-06-20 16:38:30 -07003075 /* P2P IE offset from the beginning of the template */
3076 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003077} WDI_SendBeaconParamsInfoType;
3078
3079/*---------------------------------------------------------------------------
3080 WDI_SendBeaconParamsType
3081---------------------------------------------------------------------------*/
3082typedef struct
3083{
3084 /*Send Beacon Params Info*/
3085 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3086
3087 /*Request status callback offered by UMAC - it is called if the current
3088 req has returned PENDING as status; it delivers the status of sending
3089 the message over the BUS */
3090 WDI_ReqStatusCb wdiReqStatusCB;
3091
3092 /*The user data passed in by UMAC, it will be sent back when the above
3093 function pointer will be called */
3094 void* pUserData;
3095}WDI_SendBeaconParamsType;
3096
3097/*---------------------------------------------------------------------------
3098 WDI_LinkStateType
3099---------------------------------------------------------------------------*/
3100typedef enum
3101{
3102 WDI_LINK_IDLE_STATE = 0,
3103 WDI_LINK_PREASSOC_STATE = 1,
3104 WDI_LINK_POSTASSOC_STATE = 2,
3105 WDI_LINK_AP_STATE = 3,
3106 WDI_LINK_IBSS_STATE = 4,
3107
3108 // BT-AMP Case
3109 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3110 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3111 WDI_LINK_BTAMP_AP_STATE = 7,
3112 WDI_LINK_BTAMP_STA_STATE = 8,
3113
3114 // Reserved for HAL internal use
3115 WDI_LINK_LEARN_STATE = 9,
3116 WDI_LINK_SCAN_STATE = 10,
3117 WDI_LINK_FINISH_SCAN_STATE = 11,
3118 WDI_LINK_INIT_CAL_STATE = 12,
3119 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003120 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303121 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003122 WDI_LINK_MAX = 0x7FFFFFFF
3123} WDI_LinkStateType;
3124
3125/*---------------------------------------------------------------------------
3126 WDI_SetLinkReqInfoType
3127---------------------------------------------------------------------------*/
3128typedef struct
3129{
3130 /*BSSID of the BSS*/
3131 wpt_macAddr macBSSID;
3132
3133 /*Link state*/
3134 WDI_LinkStateType wdiLinkState;
3135
3136 /*BSSID of the BSS*/
3137 wpt_macAddr macSelfStaMacAddr;
3138}WDI_SetLinkReqInfoType;
3139
3140/*---------------------------------------------------------------------------
3141 WDI_SetLinkReqParamsType
3142---------------------------------------------------------------------------*/
3143typedef struct
3144{
3145 /*Link Info*/
3146 WDI_SetLinkReqInfoType wdiLinkInfo;
3147
3148 /*Request status callback offered by UMAC - it is called if the current
3149 req has returned PENDING as status; it delivers the status of sending
3150 the message over the BUS */
3151 WDI_ReqStatusCb wdiReqStatusCB;
3152
3153 /*The user data passed in by UMAC, it will be sent back when the above
3154 function pointer will be called */
3155 void* pUserData;
3156}WDI_SetLinkReqParamsType;
3157
3158/*---------------------------------------------------------------------------
3159 WDI_GetStatsParamsInfoType
3160---------------------------------------------------------------------------*/
3161typedef struct
3162{
3163 /*Indicates the station for which Get Stats are requested..*/
3164 wpt_uint8 ucSTAIdx;
3165
3166 /* categories of stats requested */
3167 wpt_uint32 uStatsMask;
3168}WDI_GetStatsParamsInfoType;
3169
3170/*---------------------------------------------------------------------------
3171 WDI_GetStatsReqParamsType
3172---------------------------------------------------------------------------*/
3173typedef struct
3174{
3175 /*Get Stats Params Info*/
3176 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3177
3178 /*Request status callback offered by UMAC - it is called if the current
3179 req has returned PENDING as status; it delivers the status of sending
3180 the message over the BUS */
3181 WDI_ReqStatusCb wdiReqStatusCB;
3182
3183 /*The user data passed in by UMAC, it will be sent back when the above
3184 function pointer will be called */
3185 void* pUserData;
3186}WDI_GetStatsReqParamsType;
3187
3188/*---------------------------------------------------------------------------
3189 WDI_GetStatsRspParamsType
3190---------------------------------------------------------------------------*/
3191typedef struct
3192{
3193 /*message type is same as the request type*/
3194 wpt_uint16 usMsgType;
3195
3196 /* length of the entire request, includes the pStatsBuf length too*/
3197 wpt_uint16 usMsgLen;
3198
3199 /*Result of the operation*/
3200 WDI_Status wdiStatus;
3201
3202 /*Indicates the station for which Get Stats are requested..*/
3203 wpt_uint8 ucSTAIdx;
3204
3205 /* categories of stats requested */
3206 wpt_uint32 uStatsMask;
3207
3208 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3209 * structure depending on statsMask.*/
3210}WDI_GetStatsRspParamsType;
3211
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003212#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003213/*---------------------------------------------------------------------------
3214 WDI_GetRoamRssiParamsInfoType
3215---------------------------------------------------------------------------*/
3216typedef struct
3217{
3218 /*Indicates the station for which Get Stats are requested..*/
3219 wpt_uint8 ucSTAIdx;
3220
3221 /* categories of stats requested */
3222 wpt_uint32 uStatsMask;
3223}WDI_GetRoamRssiParamsInfoType;
3224
3225/*---------------------------------------------------------------------------
3226 WDI_GetRoamRssiReqParamsType
3227---------------------------------------------------------------------------*/
3228typedef struct
3229{
3230 /*Get Roam Rssi Params Info*/
3231 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3232
3233 /*Request status callback offered by UMAC - it is called if the current
3234 req has returned PENDING as status; it delivers the status of sending
3235 the message over the BUS */
3236 WDI_ReqStatusCb wdiReqStatusCB;
3237
3238 /*The user data passed in by UMAC, it will be sent back when the above
3239 function pointer will be called */
3240 void* pUserData;
3241}WDI_GetRoamRssiReqParamsType;
3242
3243/*---------------------------------------------------------------------------
3244 WDI_GetRoamRssiRspParamsType
3245---------------------------------------------------------------------------*/
3246typedef struct
3247{
3248 /*Result of the operation*/
3249 WDI_Status wdiStatus;
3250
3251 /*Indicates the station for which Get Stats are requested..*/
3252 wpt_uint8 ucSTAIdx;
3253
3254 /* roam rssi requested */
3255 wpt_int8 rssi;
3256
3257 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3258 * structure depending on statsMask.*/
3259}WDI_GetRoamRssiRspParamsType;
3260#endif
3261
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003262#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003263/*---------------------------------------------------------------------------
3264 WDI_TSMStatsParamsInfoType
3265---------------------------------------------------------------------------*/
3266typedef struct
3267{
3268 /*Indicates the station for which Get Stats are requested..*/
3269 wpt_uint8 ucTid;
3270
3271 wpt_macAddr bssid;
3272}WDI_TSMStatsParamsInfoType;
3273
3274/*---------------------------------------------------------------------------
3275 WDI_TSMStatsReqParamsType
3276---------------------------------------------------------------------------*/
3277typedef struct
3278{
3279 /*Get TSM Stats Params Info*/
3280 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3281
3282 WDI_ReqStatusCb wdiReqStatusCB;
3283
3284 /*The user data passed in by UMAC, it will be sent back when the above
3285 function pointer will be called */
3286 void* pUserData;
3287
3288}WDI_TSMStatsReqParamsType;
3289
3290
3291/*---------------------------------------------------------------------------
3292 WDI_TSMStatsRspParamsType
3293---------------------------------------------------------------------------*/
3294typedef struct
3295{
3296 /*Indicates the status of the operation */
3297 WDI_Status wdiStatus;
3298
3299 wpt_uint16 UplinkPktQueueDly;
3300 wpt_uint16 UplinkPktQueueDlyHist[4];
3301 wpt_uint32 UplinkPktTxDly;
3302 wpt_uint16 UplinkPktLoss;
3303 wpt_uint16 UplinkPktCount;
3304 wpt_uint8 RoamingCount;
3305 wpt_uint16 RoamingDly;
3306}WDI_TSMStatsRspParamsType;
3307
3308
3309#endif
3310/*---------------------------------------------------------------------------
3311 WDI_UpdateCfgReqParamsType
3312---------------------------------------------------------------------------*/
3313typedef struct
3314{
3315 /*This is a TLV formatted buffer containing all config values that can
3316 be set through the DAL Interface
3317
3318 The TLV is expected to be formatted like this:
3319
3320 0 7 15 31 ....
3321 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3322
3323 Or from a C construct point of VU it would look like this:
3324
3325 typedef struct WPT_PACK_POST
3326 {
3327 #ifdef WPT_BIG_ENDIAN
3328 wpt_uint32 ucCfgId:8;
3329 wpt_uint32 ucCfgLen:8;
3330 wpt_uint32 usReserved:16;
3331 #else
3332 wpt_uint32 usReserved:16;
3333 wpt_uint32 ucCfgLen:8;
3334 wpt_uint32 ucCfgId:8;
3335 #endif
3336
3337 wpt_uint8 ucCfgBody[ucCfgLen];
3338 }WDI_ConfigType;
3339
3340 Multiple such tuplets are to be placed in the config buffer. One for
3341 each required configuration item:
3342
3343 | TLV 1 | TLV2 | ....
3344
3345 The buffer is expected to be a flat area of memory that can be manipulated
3346 with standard memory routines.
3347
3348 For more info please check paragraph 2.3.1 Config Structure from the
3349 HAL LLD.
3350
3351 For a list of accepted configuration list and IDs please look up
3352 wlan_qct_dal_cfg.h
3353 */
3354 void* pConfigBuffer;
3355
3356 /*Length of the config buffer above*/
3357 wpt_uint32 uConfigBufferLen;
3358
3359 /*Request status callback offered by UMAC - it is called if the current
3360 req has returned PENDING as status; it delivers the status of sending
3361 the message over the BUS */
3362 WDI_ReqStatusCb wdiReqStatusCB;
3363
3364 /*The user data passed in by UMAC, it will be sent back when the above
3365 function pointer will be called */
3366 void* pUserData;
3367}WDI_UpdateCfgReqParamsType;
3368
3369/*---------------------------------------------------------------------------
3370 WDI_UpdateProbeRspTemplateInfoType
3371---------------------------------------------------------------------------*/
3372//Default Beacon template size
3373#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3374
3375#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3376
3377typedef struct
3378{
3379 /*BSSID for which the Probe Template is to be used*/
3380 wpt_macAddr macBSSID;
3381
3382 /*Probe response template*/
3383 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3384
3385 /*Template Len*/
3386 wpt_uint32 uProbeRespTemplateLen;
3387
3388 /*Bitmap for the IEs that are to be handled at SLM level*/
3389 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3390
3391}WDI_UpdateProbeRspTemplateInfoType;
3392
3393/*---------------------------------------------------------------------------
3394 WDI_UpdateProbeRspParamsType
3395---------------------------------------------------------------------------*/
3396typedef struct
3397{
3398 /*Link Info*/
3399 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3400
3401 /*Request status callback offered by UMAC - it is called if the current
3402 req has returned PENDING as status; it delivers the status of sending
3403 the message over the BUS */
3404 WDI_ReqStatusCb wdiReqStatusCB;
3405
3406 /*The user data passed in by UMAC, it will be sent back when the above
3407 function pointer will be called */
3408 void* pUserData;
3409}WDI_UpdateProbeRspTemplateParamsType;
3410
3411/*---------------------------------------------------------------------------
3412 WDI_NvDownloadReqBlobInfo
3413---------------------------------------------------------------------------*/
3414
3415typedef struct
3416{
3417 /* Blob starting address*/
3418 void *pBlobAddress;
3419
3420 /* Blob size */
3421 wpt_uint32 uBlobSize;
3422
3423}WDI_NvDownloadReqBlobInfo;
3424
3425/*---------------------------------------------------------------------------
3426 WDI_NvDownloadReqParamsType
3427---------------------------------------------------------------------------*/
3428typedef struct
3429{
3430 /*NV Blob Info*/
3431 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3432
3433 /*Request status callback offered by UMAC - it is called if the current
3434 req has returned PENDING as status; it delivers the status of sending
3435 the message over the BUS */
3436 WDI_ReqStatusCb wdiReqStatusCB;
3437
3438 /*The user data passed in by UMAC, it will be sent back when the above
3439 function pointer will be called */
3440 void* pUserData;
3441
3442}WDI_NvDownloadReqParamsType;
3443
3444/*---------------------------------------------------------------------------
3445 WDI_NvDownloadRspInfoType
3446---------------------------------------------------------------------------*/
3447typedef struct
3448{
3449 /*Status of the response*/
3450 WDI_Status wdiStatus;
3451
3452}WDI_NvDownloadRspInfoType;
3453
3454/*---------------------------------------------------------------------------
3455 WDI_SetMaxTxPowerInfoType
3456---------------------------------------------------------------------------*/
3457
3458typedef struct
3459{
3460 /*BSSID is needed to identify which session issued this request. As the request has
3461 power constraints, this should be applied only to that session*/
3462 wpt_macAddr macBSSId;
3463
3464
3465 wpt_macAddr macSelfStaMacAddr;
3466
3467 /* In request power == MaxTxpower to be used.*/
3468 wpt_int8 ucPower;
3469
3470}WDI_SetMaxTxPowerInfoType;
3471
3472/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003473 WDI_SetTxPowerInfoType
3474---------------------------------------------------------------------------*/
3475
3476typedef struct
3477{
3478 wpt_uint8 bssIdx;
3479 /* In request power == MaxTxpower to be used.*/
3480 wpt_uint8 ucPower;
3481
3482}WDI_SetTxPowerInfoType;
3483
3484/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003485 WDI_SetMaxTxPowerParamsType
3486---------------------------------------------------------------------------*/
3487typedef struct
3488{
3489 /*Link Info*/
3490 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3491
3492 /*Request status callback offered by UMAC - it is called if the current
3493 req has returned PENDING as status; it delivers the status of sending
3494 the message over the BUS */
3495 WDI_ReqStatusCb wdiReqStatusCB;
3496
3497 /*The user data passed in by UMAC, it will be sent back when the above
3498 function pointer will be called */
3499 void* pUserData;
3500}WDI_SetMaxTxPowerParamsType;
3501
schang86c22c42013-03-13 18:41:24 -07003502/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003503 WDI_Band
3504---------------------------------------------------------------------------*/
3505typedef enum
3506{
3507 WDI_BAND_ALL,
3508 WDI_BAND_24,
3509 WDI_BAND_5G,
3510 WDI_BAND_MAX,
3511}eWDIBand;
3512
3513/*---------------------------------------------------------------------------
3514 WDI_MaxTxPowerPerBandInfoType
3515---------------------------------------------------------------------------*/
3516typedef struct
3517{
3518 eWDIBand bandInfo;
3519 /* In request power == MaxTxpower to be used.*/
3520 wpt_uint8 ucPower;
3521}WDI_MaxTxPowerPerBandInfoType;
3522
3523/*---------------------------------------------------------------------------
3524 WDI_SetMaxTxPowerPerBandParamsType
3525---------------------------------------------------------------------------*/
3526typedef struct
3527{
3528 /*Link Info*/
3529 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3530
3531 /*Request status callback offered by UMAC - it is called if the current
3532 req has returned PENDING as status; it delivers the status of sending
3533 the message over the BUS */
3534 WDI_ReqStatusCb wdiReqStatusCB;
3535
3536 /*The user data passed in by UMAC, it will be sent back when the above
3537 function pointer will be called */
3538 void* pUserData;
3539}WDI_SetMaxTxPowerPerBandParamsType;
3540
3541/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003542 WDI_SetTxPowerParamsType
3543---------------------------------------------------------------------------*/
3544typedef struct
3545{
3546 /*Link Info*/
3547 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3548
3549 /*Request status callback offered by UMAC - it is called if the current
3550 req has returned PENDING as status; it delivers the status of sending
3551 the message over the BUS */
3552 WDI_ReqStatusCb wdiReqStatusCB;
3553
3554 /*The user data passed in by UMAC, it will be sent back when the above
3555 function pointer will be called */
3556 void* pUserData;
3557}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003558
3559/*---------------------------------------------------------------------------
3560 WDI_SetMaxTxPowerRspMsg
3561---------------------------------------------------------------------------*/
3562
3563typedef struct
3564{
3565 /* In response, power==tx power used for management frames*/
3566 wpt_int8 ucPower;
3567
3568 /*Result of the operation*/
3569 WDI_Status wdiStatus;
3570
3571}WDI_SetMaxTxPowerRspMsg;
3572
schang86c22c42013-03-13 18:41:24 -07003573/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003574 WDI_SetMaxTxPowerPerBandRspMsg
3575---------------------------------------------------------------------------*/
3576typedef struct
3577{
3578 /* In response, power==tx power used for management frames*/
3579 wpt_int8 ucPower;
3580
3581 /*Result of the operation*/
3582 WDI_Status wdiStatus;
3583
3584}WDI_SetMaxTxPowerPerBandRspMsg;
3585
3586/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003587 WDI_SetTxPowerRspMsg
3588---------------------------------------------------------------------------*/
3589
3590typedef struct
3591{
3592 /* In response, power==tx power used for management frames*/
3593 wpt_int8 ucPower;
3594
3595 /*Result of the operation*/
3596 WDI_Status wdiStatus;
3597
3598}WDI_SetTxPowerRspMsg;
3599
Jeff Johnson295189b2012-06-20 16:38:30 -07003600typedef struct
3601{
3602 wpt_uint8 ucOpp_ps;
3603 wpt_uint32 uCtWindow;
3604 wpt_uint8 ucCount;
3605 wpt_uint32 uDuration;
3606 wpt_uint32 uInterval;
3607 wpt_uint32 uSingle_noa_duration;
3608 wpt_uint8 ucPsSelection;
3609}WDI_SetP2PGONOAReqInfoType;
3610
3611/*---------------------------------------------------------------------------
3612 WDI_SetP2PGONOAReqParamsType
3613---------------------------------------------------------------------------*/
3614typedef struct
3615{
3616 /*P2P GO NOA Req*/
3617 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3618
3619 /*Request status callback offered by UMAC - it is called if the current
3620 req has returned PENDING as status; it delivers the status of sending
3621 the message over the BUS */
3622 WDI_ReqStatusCb wdiReqStatusCB;
3623
3624 /*The user data passed in by UMAC, it will be sent back when the above
3625 function pointer will be called */
3626 void* pUserData;
3627}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003628
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303629#define WDI_MAX_SUPP_CHANNELS 128
3630#define WDI_MAX_SUPP_OPER_CLASSES 32
3631
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303632typedef struct
3633{
3634 wpt_uint16 uStaIdx;
3635 wpt_uint8 uIsResponder;
3636 wpt_uint8 uUapsdQueues;
3637 wpt_uint8 uMaxSp;
3638 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303639 wpt_uint8 uIsOffChannelSupported;
3640 wpt_uint8 peerCurrOperClass;
3641 wpt_uint8 selfCurrOperClass;
3642 wpt_uint8 validChannelsLen;
3643 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3644 wpt_uint8 validOperClassesLen;
3645 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303646}WDI_SetTDLSLinkEstablishReqInfoType;
3647/*---------------------------------------------------------------------------
3648 WDI_SetTDLSLinkEstablishReqParamsType
3649---------------------------------------------------------------------------*/
3650typedef struct
3651{
3652 /*TDLS Link Establish Req*/
3653 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3654
3655 /*Request status callback offered by UMAC - it is called if the current
3656 req has returned PENDING as status; it delivers the status of sending
3657 the message over the BUS */
3658 WDI_ReqStatusCb wdiReqStatusCB;
3659
3660 /*The user data passed in by UMAC, it will be sent back when the above
3661 function pointer will be called */
3662 void* pUserData;
3663}WDI_SetTDLSLinkEstablishReqParamsType;
3664
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303665typedef struct
3666{
3667 /*Result of the operation*/
3668 WDI_Status wdiStatus;
3669
3670 /*STA Idx*/
3671 wpt_uint16 uStaIdx;
3672}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003673
Atul Mittalc0f739f2014-07-31 13:47:47 +05303674
3675
3676typedef struct
3677{
3678 /*STA Index*/
3679 wpt_uint8 staIdx;
3680 /* if this is 1, self is initiator otherwise responder only*/
3681 wpt_uint8 isOffchannelInitiator;
3682 /*TDLS off channel related params */
3683 wpt_uint8 targetOperClass;
3684 wpt_uint8 targetChannel;
3685 wpt_uint8 secondaryChannelOffset;
3686 wpt_uint8 reserved[64];
3687}WDI_SetTDLSChanSwitchReqInfoType;
3688
3689typedef struct
3690{
3691 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3692 WDI_ReqStatusCb wdiReqStatusCB;
3693 void* pUserData;
3694}WDI_SetTDLSChanSwitchReqParamsType;
3695
3696
3697typedef struct
3698{
3699 /*Result of the operation*/
3700 WDI_Status wdiStatus;
3701
3702 /*STA Idx*/
3703 wpt_uint16 uStaIdx;
3704}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003705/*---------------------------------------------------------------------------
3706 WDI_SetAddSTASelfParamsType
3707---------------------------------------------------------------------------*/
3708typedef struct
3709{
3710 /*Self Station MAC address*/
3711 wpt_macAddr selfMacAddr;
3712
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003713 /*Self STA device mode*/
3714 wpt_uint32 currDeviceMode;
3715
Jeff Johnson295189b2012-06-20 16:38:30 -07003716 /*Status of the operation*/
3717 wpt_uint32 uStatus;
3718}WDI_AddSTASelfInfoType;
3719
3720/*---------------------------------------------------------------------------
3721 WDI_SetAddSTASelfParamsType
3722---------------------------------------------------------------------------*/
3723typedef struct
3724{
3725 /* Add Sta Self Req */
3726 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3727
3728 /*Request status callback offered by UMAC - it is called if the current
3729 req has returned PENDING as status; it delivers the status of sending
3730 the message over the BUS */
3731 WDI_ReqStatusCb wdiReqStatusCB;
3732
3733 /*The user data passed in by UMAC, it will be sent back when the above
3734 function pointer will be called */
3735 void* pUserData;
3736}WDI_AddSTASelfReqParamsType;
3737
3738
3739/*---------------------------------------------------------------------------
3740 WDI_AddSTASelfRspParamsType
3741---------------------------------------------------------------------------*/
3742typedef struct
3743{
3744 /*Status of the response*/
3745 WDI_Status wdiStatus;
3746
3747 /*STA Idx allocated by HAL*/
3748 wpt_uint8 ucSTASelfIdx;
3749
3750 /* DPU Index (IGTK, PTK, GTK all same) */
3751 wpt_uint8 dpuIdx;
3752
3753 /* DPU Signature */
3754 wpt_uint8 dpuSignature;
3755
3756 /*Self STA Mac*/
3757 wpt_macAddr macSelfSta;
3758
3759}WDI_AddSTASelfRspParamsType;
3760
3761/*---------------------------------------------------------------------------
3762 WDI_DelSTASelfReqParamsType
3763 Del Sta Self info passed to WDI form WDA
3764---------------------------------------------------------------------------*/
3765typedef struct
3766{
3767 wpt_macAddr selfMacAddr;
3768
3769}WDI_DelSTASelfInfoType;
3770
3771/*---------------------------------------------------------------------------
3772 WDI_DelSTASelfReqParamsType
3773 Del Sta Self info passed to WDI form WDA
3774---------------------------------------------------------------------------*/
3775typedef struct
3776{
3777 /*Del Sta Self Info Type */
3778 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
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_DelSTASelfReqParamsType;
3787
3788/*---------------------------------------------------------------------------
3789 WDI_DelSTASelfRspParamsType
3790---------------------------------------------------------------------------*/
3791typedef struct
3792{
3793 /*Status of the response*/
3794 WDI_Status wdiStatus;
3795
3796 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3797// wpt_uint8 ucSTAIdx;
3798}WDI_DelSTASelfRspParamsType;
3799
3800/*---------------------------------------------------------------------------
3801 WDI_UapsdInfoType
3802 UAPSD parameters passed per AC to WDA from UMAC
3803---------------------------------------------------------------------------*/
3804typedef struct
3805{
3806 wpt_uint8 ucSTAIdx; // STA index
3807 wpt_uint8 ucAc; // Access Category
3808 wpt_uint8 ucUp; // User Priority
3809 wpt_uint32 uSrvInterval; // Service Interval
3810 wpt_uint32 uSusInterval; // Suspend Interval
3811 wpt_uint32 uDelayInterval; // Delay Interval
3812} WDI_UapsdInfoType;
3813
3814/*---------------------------------------------------------------------------
3815 WDI_SetUapsdAcParamsReqParamsType
3816 UAPSD parameters passed per AC to WDI from WDA
3817---------------------------------------------------------------------------*/
3818typedef struct
3819{
3820 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3821 WDI_UapsdInfoType wdiUapsdInfo;
3822 /*Request status callback offered by UMAC - it is called if the current req
3823 has returned PENDING as status; it delivers the status of sending the message
3824 over the BUS */
3825 WDI_ReqStatusCb wdiReqStatusCB;
3826 /*The user data passed in by UMAC, it will be sent back when the above
3827 function pointer will be called */
3828 void* pUserData;
3829}WDI_SetUapsdAcParamsReqParamsType;
3830
3831/*---------------------------------------------------------------------------
3832 WDI_EnterBmpsReqinfoType
3833 Enter BMPS parameters passed to WDA from UMAC
3834---------------------------------------------------------------------------*/
3835typedef struct
3836{
3837 //TBTT value derived from the last beacon
3838 wpt_uint8 ucBssIdx;
3839 wpt_uint64 uTbtt;
3840 wpt_uint8 ucDtimCount;
3841 //DTIM period given to HAL during association may not be valid,
3842 //if association is based on ProbeRsp instead of beacon.
3843 wpt_uint8 ucDtimPeriod;
3844 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3845 DXE when DXE wakes up from power save*/
3846 unsigned int dxePhyAddr;
3847
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003848 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003849 wpt_uint32 rssiFilterPeriod;
3850 wpt_uint32 numBeaconPerRssiAverage;
3851 wpt_uint8 bRssiFilterEnable;
3852}WDI_EnterBmpsReqinfoType;
3853
3854/*---------------------------------------------------------------------------
3855 WDI_EnterBmpsReqParamsType
3856 Enter BMPS parameters passed to WDI from WDA
3857---------------------------------------------------------------------------*/
3858typedef struct
3859{
3860 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3861 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3862 /*Request status callback offered by UMAC - it is called if the current req
3863 has returned PENDING as status; it delivers the status of sending the message
3864 over the BUS */
3865 WDI_ReqStatusCb wdiReqStatusCB;
3866 /*The user data passed in by UMAC, it will be sent back when the above
3867 function pointer will be called */
3868 void* pUserData;
3869}WDI_EnterBmpsReqParamsType;
3870
3871/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303872 WDI_EnterImpsReqParamsType
3873 Enter IMPS parameters passed to WDI from WDA
3874---------------------------------------------------------------------------*/
3875typedef struct
3876{
3877 /*Request status callback offered by UMAC - it is called if the current req
3878 has returned PENDING as status; it delivers the status of sending the message
3879 over the BUS */
3880 WDI_ReqStatusCb wdiReqStatusCB;
3881 /*The user data passed in by UMAC, it will be sent back when the above
3882 function pointer will be called */
3883 void* pUserData;
3884}WDI_EnterImpsReqParamsType;
3885
3886/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05303887 WDI_ExitImpsReqParamsType
3888 Exit IMPS parameters passed to WDI from WDA
3889----------------------------------------------------------------------------*/
3890typedef struct
3891{
3892 /*Request status callback offered by UMAC */
3893 WDI_ReqStatusCb wdiReqStatusCB;
3894 /*The user data passed in by UMAC, it will be sent back when the above
3895 function pointer will be called */
3896 void* pUserData;
3897
3898}WDI_ExitImpsReqParamsType;
3899
3900/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003901 WDI_EnterBmpsReqParamsType
3902 Enter BMPS parameters passed from WDI to WDA
3903---------------------------------------------------------------------------*/
3904typedef struct
3905{
3906 /*Status of the response*/
3907 WDI_Status wdiStatus;
3908
3909 /*BssIDX of the session*/
3910 wpt_uint8 bssIdx;
3911}WDI_EnterBmpsRspParamsType;
3912
3913/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003914 WDI_ExitBmpsReqinfoType
3915 Exit BMPS parameters passed to WDA from UMAC
3916---------------------------------------------------------------------------*/
3917typedef struct
3918{
3919 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003920 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003921}WDI_ExitBmpsReqinfoType;
3922
3923/*---------------------------------------------------------------------------
3924 WDI_ExitBmpsReqParamsType
3925 Exit BMPS parameters passed to WDI from WDA
3926---------------------------------------------------------------------------*/
3927typedef struct
3928{
3929 /*Exit BMPS Info Type, same as tExitBmpsParams */
3930 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
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_ExitBmpsReqParamsType;
3939
3940/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003941 WDI_ExitBmpsReqParamsType
3942 Exit BMPS 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_ExitBmpsRspParamsType;
3952
3953/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003954 WDI_EnterUapsdReqinfoType
3955 Enter UAPSD parameters passed to WDA from UMAC
3956---------------------------------------------------------------------------*/
3957typedef struct
3958{
3959 wpt_uint8 ucBkDeliveryEnabled:1;
3960 wpt_uint8 ucBeDeliveryEnabled:1;
3961 wpt_uint8 ucViDeliveryEnabled:1;
3962 wpt_uint8 ucVoDeliveryEnabled:1;
3963 wpt_uint8 ucBkTriggerEnabled:1;
3964 wpt_uint8 ucBeTriggerEnabled:1;
3965 wpt_uint8 ucViTriggerEnabled:1;
3966 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003967 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003968}WDI_EnterUapsdReqinfoType;
3969
3970/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003971 WDI_EnterUapsdRspParamsType
3972 Enter UAPSD parameters passed from WDI to WDA
3973---------------------------------------------------------------------------*/
3974typedef struct
3975{
3976 /*Status of the response*/
3977 WDI_Status wdiStatus;
3978
3979 /*BssIDX of the session*/
3980 wpt_uint8 bssIdx;
3981}WDI_EnterUapsdRspParamsType;
3982
3983/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003984 WDI_EnterUapsdReqinfoType
3985 Enter UAPSD parameters passed to WDI from WDA
3986---------------------------------------------------------------------------*/
3987typedef struct
3988{
3989 /*Enter UAPSD Info Type, same as tUapsdParams */
3990 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3991 /*Request status callback offered by UMAC - it is called if the current req
3992 has returned PENDING as status; it delivers the status of sending the message
3993 over the BUS */
3994 WDI_ReqStatusCb wdiReqStatusCB;
3995 /*The user data passed in by UMAC, it will be sent back when the above
3996 function pointer will be called */
3997 void* pUserData;
3998}WDI_EnterUapsdReqParamsType;
3999
4000/*---------------------------------------------------------------------------
4001 WDI_UpdateUapsdReqinfoType
4002 Update UAPSD parameters passed to WDA from UMAC
4003---------------------------------------------------------------------------*/
4004typedef struct
4005{
4006 wpt_uint8 ucSTAIdx;
4007 wpt_uint8 ucUapsdACMask;
4008 wpt_uint32 uMaxSpLen;
4009}WDI_UpdateUapsdReqinfoType;
4010
4011/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004012 WDI_ExitUapsdReqinfoType
4013 Exit UAPSD parameters passed to WDA from UMAC
4014---------------------------------------------------------------------------*/
4015typedef struct
4016{
4017 wpt_uint8 bssIdx;
4018}WDI_ExitUapsdReqinfoType;
4019
4020/*---------------------------------------------------------------------------
4021 WDI_ExitUapsdReqParamsType
4022 Exit UAPSD parameters passed to WDI from WDA
4023---------------------------------------------------------------------------*/
4024typedef struct
4025{
4026 /*Exit UAPSD Info Type, same as tUapsdParams */
4027 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
4028 /*Request status callback offered by UMAC - it is called if the current req
4029 has returned PENDING as status; it delivers the status of sending the message
4030 over the BUS */
4031 WDI_ReqStatusCb wdiReqStatusCB;
4032 /*The user data passed in by UMAC, it will be sent back when the above
4033 function pointer will be called */
4034 void* pUserData;
4035}WDI_ExitUapsdReqParamsType;
4036
4037/*---------------------------------------------------------------------------
4038 WDI_ExitUapsdRspParamsType
4039 Exit UAPSD parameters passed from WDI to WDA
4040---------------------------------------------------------------------------*/
4041typedef struct
4042{
4043 /*Status of the response*/
4044 WDI_Status wdiStatus;
4045
4046 /*BssIDX of the session*/
4047 wpt_uint8 bssIdx;
4048}WDI_ExitUapsdRspParamsType;
4049
4050/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004051 WDI_UpdateUapsdReqParamsType
4052 Update UAPSD parameters passed to WDI form WDA
4053---------------------------------------------------------------------------*/
4054typedef struct
4055{
4056 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
4057 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
4058 /*Request status callback offered by UMAC - it is called if the current req
4059 has returned PENDING as status; it delivers the status of sending the message
4060 over the BUS */
4061 WDI_ReqStatusCb wdiReqStatusCB;
4062 /*The user data passed in by UMAC, it will be sent back when the above
4063 function pointer will be called */
4064 void* pUserData;
4065}WDI_UpdateUapsdReqParamsType;
4066
4067/*---------------------------------------------------------------------------
4068 WDI_ConfigureRxpFilterReqParamsType
4069 RXP filter parameters passed to WDI form WDA
4070---------------------------------------------------------------------------*/
4071typedef struct
4072{
4073 /* Mode of Mcast and Bcast filters configured */
4074 wpt_uint8 ucSetMcstBcstFilterSetting;
4075
4076 /* Mcast Bcast Filters enable/disable*/
4077 wpt_uint8 ucSetMcstBcstFilter;
4078}WDI_RxpFilterReqParamsType;
4079
4080typedef struct
4081{
4082 /* Rxp Filter */
4083 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4084
4085 /*Request status callback offered by UMAC - it is called if the current req
4086 has returned PENDING as status; it delivers the status of sending the message
4087 over the BUS */
4088 WDI_ReqStatusCb wdiReqStatusCB;
4089 /*The user data passed in by UMAC, it will be sent back when the above
4090 function pointer will be called */
4091 void* pUserData;
4092}WDI_ConfigureRxpFilterReqParamsType;
4093
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304094typedef struct
4095{
4096 wpt_uint8 enableFlag;
4097 wpt_uint8 frameType;
4098 wpt_uint8 frameSize;
4099 wpt_uint8 bufferMode;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304100 wpt_uint8 continuousFrameLogging;
4101 wpt_uint8 minLogBufferSize;
4102 wpt_uint8 maxLogBufferSize;
4103}WDI_FWLoggingInitReqInfoType;
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304104
Siddharth Bhal64246172015-02-27 01:04:37 +05304105typedef struct
4106{
Sachin Ahuja715aafc2015-07-21 23:35:10 +05304107 wpt_uint32 reason_code;
4108}WDI_FatalEventLogsReqInfoType;
4109
4110
4111typedef struct
4112{
Siddharth Bhal64246172015-02-27 01:04:37 +05304113 wpt_uint8 flags;
4114}WDI_GetFrameLogReqInfoType;
4115
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304116typedef struct
4117{
4118 wpt_uint64 logBuffAddress[MAX_NUM_OF_BUFFER];
4119 wpt_uint32 status;
4120 wpt_uint32 logBuffLength[MAX_NUM_OF_BUFFER];
4121}WDI_FWLoggingDXEdoneIndInfoType;
4122
Jeff Johnson295189b2012-06-20 16:38:30 -07004123/*---------------------------------------------------------------------------
4124 WDI_BeaconFilterInfoType
4125 Beacon Filtering data structures passed to WDA form UMAC
4126---------------------------------------------------------------------------*/
4127typedef struct
4128{
4129 wpt_uint16 usCapabilityInfo;
4130 wpt_uint16 usCapabilityMask;
4131 wpt_uint16 usBeaconInterval;
4132 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004133 wpt_uint8 bssIdx;
4134 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004135}WDI_BeaconFilterInfoType;
4136
4137/*---------------------------------------------------------------------------
4138 WDI_BeaconFilterReqParamsType
4139 Beacon Filtering parameters passed to WDI form WDA
4140---------------------------------------------------------------------------*/
4141typedef struct
4142{
4143 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4144 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4145 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4146 copy of params from WDA to WDI */
4147 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4148 /*Request status callback offered by UMAC - it is called if the current req
4149 has returned PENDING as status; it delivers the status of sending the message
4150 over the BUS */
4151 WDI_ReqStatusCb wdiReqStatusCB;
4152 /*The user data passed in by UMAC, it will be sent back when the above
4153 function pointer will be called */
4154 void* pUserData;
4155}WDI_BeaconFilterReqParamsType;
4156
4157/*---------------------------------------------------------------------------
4158 WDI_RemBeaconFilterInfoType
4159 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4160---------------------------------------------------------------------------*/
4161typedef struct
4162{
4163 wpt_uint8 ucIeCount;
4164 wpt_uint8 ucRemIeId[1];
4165}WDI_RemBeaconFilterInfoType;
4166
4167/*---------------------------------------------------------------------------
4168 WDI_RemBeaconFilterReqParamsType
4169 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4170---------------------------------------------------------------------------*/
4171typedef struct
4172{
4173 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4174 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4175 /*Request status callback offered by UMAC - it is called if the current req
4176 has returned PENDING as status; it delivers the status of sending the message
4177 over the BUS */
4178 WDI_ReqStatusCb wdiReqStatusCB;
4179 /*The user data passed in by UMAC, it will be sent back when the above
4180 function pointer will be called */
4181 void* pUserData;
4182}WDI_RemBeaconFilterReqParamsType;
4183
4184/*---------------------------------------------------------------------------
4185 WDI_RSSIThresholdsType
4186 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4187---------------------------------------------------------------------------*/
4188typedef struct
4189{
4190 wpt_int8 ucRssiThreshold1 : 8;
4191 wpt_int8 ucRssiThreshold2 : 8;
4192 wpt_int8 ucRssiThreshold3 : 8;
4193 wpt_uint8 bRssiThres1PosNotify : 1;
4194 wpt_uint8 bRssiThres1NegNotify : 1;
4195 wpt_uint8 bRssiThres2PosNotify : 1;
4196 wpt_uint8 bRssiThres2NegNotify : 1;
4197 wpt_uint8 bRssiThres3PosNotify : 1;
4198 wpt_uint8 bRssiThres3NegNotify : 1;
4199 wpt_uint8 bReserved10 : 2;
4200} WDI_RSSIThresholdsType;
4201
4202/*---------------------------------------------------------------------------
4203 WDI_SetRSSIThresholdsReqParamsType
4204 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4205---------------------------------------------------------------------------*/
4206typedef struct
4207{
4208 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4209 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4210 /*Request status callback offered by UMAC - it is called if the current req
4211 has returned PENDING as status; it delivers the status of sending the message
4212 over the BUS */
4213 WDI_ReqStatusCb wdiReqStatusCB;
4214 /*The user data passed in by UMAC, it will be sent back when the above
4215 function pointer will be called */
4216 void* pUserData;
4217}WDI_SetRSSIThresholdsReqParamsType;
4218
4219/*---------------------------------------------------------------------------
4220 WDI_HostOffloadReqType
4221 host offload info passed to WDA form UMAC
4222---------------------------------------------------------------------------*/
4223#ifdef WLAN_NS_OFFLOAD
4224typedef struct
4225{
4226 wpt_uint8 srcIPv6Addr[16];
4227 wpt_uint8 selfIPv6Addr[16];
4228 //Only support 2 possible Network Advertisement IPv6 address
4229 wpt_uint8 targetIPv6Addr1[16];
4230 wpt_uint8 targetIPv6Addr2[16];
4231 wpt_uint8 selfMacAddr[6];
4232 wpt_uint8 srcIPv6AddrValid : 1;
4233 wpt_uint8 targetIPv6Addr1Valid : 1;
4234 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304235 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004236} WDI_NSOffloadParams;
4237#endif //WLAN_NS_OFFLOAD
4238
4239typedef struct
4240{
4241 wpt_uint8 ucOffloadType;
4242 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004243 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004244 union
4245 {
4246 wpt_uint8 aHostIpv4Addr [4];
4247 wpt_uint8 aHostIpv6Addr [16];
4248 } params;
4249} WDI_HostOffloadReqType;
4250
4251/*---------------------------------------------------------------------------
4252 WDI_HostOffloadReqParamsType
4253 host offload info passed to WDI form WDA
4254---------------------------------------------------------------------------*/
4255typedef struct
4256{
4257 /*Host offload Info Type, same as tHalHostOffloadReq */
4258 WDI_HostOffloadReqType wdiHostOffloadInfo;
4259#ifdef WLAN_NS_OFFLOAD
4260 WDI_NSOffloadParams wdiNsOffloadParams;
4261#endif //WLAN_NS_OFFLOAD
4262 /*Request status callback offered by UMAC - it is called if the current req
4263 has returned PENDING as status; it delivers the status of sending the message
4264 over the BUS */
4265 WDI_ReqStatusCb wdiReqStatusCB;
4266 /*The user data passed in by UMAC, it will be sent back when the above
4267 function pointer will be called */
4268 void* pUserData;
4269}WDI_HostOffloadReqParamsType;
4270
4271/*---------------------------------------------------------------------------
4272 WDI_KeepAliveReqType
4273 Keep Alive info passed to WDA form UMAC
4274---------------------------------------------------------------------------*/
4275typedef struct
4276{
4277 wpt_uint8 ucPacketType;
4278 wpt_uint32 ucTimePeriod;
4279 wpt_uint8 aHostIpv4Addr[4];
4280 wpt_uint8 aDestIpv4Addr[4];
4281 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004282 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004283} WDI_KeepAliveReqType;
4284
4285/*---------------------------------------------------------------------------
4286 WDI_KeepAliveReqParamsType
4287 Keep Alive passed to WDI form WDA
4288---------------------------------------------------------------------------*/
4289typedef struct
4290{
4291 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4292 WDI_KeepAliveReqType wdiKeepAliveInfo;
4293 /*Request status callback offered by UMAC - it is called if the current req
4294 has returned PENDING as status; it delivers the status of sending the message
4295 over the BUS */
4296 WDI_ReqStatusCb wdiReqStatusCB;
4297 /*The user data passed in by UMAC, it will be sent back when the above
4298 function pointer will be called */
4299 void* pUserData;
4300}WDI_KeepAliveReqParamsType;
4301
4302/*---------------------------------------------------------------------------
4303 WDI_WowlAddBcPtrnInfoType
4304 Wowl add ptrn info passed to WDA form UMAC
4305---------------------------------------------------------------------------*/
4306typedef struct
4307{
4308 wpt_uint8 ucPatternId; // Pattern ID
4309 // Pattern byte offset from beginning of the 802.11 packet to start of the
4310 // wake-up pattern
4311 wpt_uint8 ucPatternByteOffset;
4312 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4313 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4314 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4315 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4316 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4317 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004318 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004319} WDI_WowlAddBcPtrnInfoType;
4320
4321/*---------------------------------------------------------------------------
4322 WDI_WowlAddBcPtrnReqParamsType
4323 Wowl add ptrn info passed to WDI form WDA
4324---------------------------------------------------------------------------*/
4325typedef struct
4326{
4327 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4328 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4329 /*Request status callback offered by UMAC - it is called if the current req
4330 has returned PENDING as status; it delivers the status of sending the message
4331 over the BUS */
4332 WDI_ReqStatusCb wdiReqStatusCB;
4333 /*The user data passed in by UMAC, it will be sent back when the above
4334 function pointer will be called */
4335 void* pUserData;
4336}WDI_WowlAddBcPtrnReqParamsType;
4337
4338/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004339 WDI_WowlAddBcPtrnRspParamsType
4340 Wowl add ptrn info passed from WDI to WDA
4341---------------------------------------------------------------------------*/
4342typedef struct
4343{
4344 /*Status of the response*/
4345 WDI_Status wdiStatus;
4346 /*BssIDX of the session*/
4347 wpt_uint8 bssIdx;
4348}WDI_WowlAddBcPtrnRspParamsType;
4349
4350/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004351 WDI_WowlDelBcPtrnInfoType
4352 Wowl add ptrn info passed to WDA form UMAC
4353---------------------------------------------------------------------------*/
4354typedef struct
4355{
4356 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004357 wpt_uint8 ucPatternId;
4358 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004359} WDI_WowlDelBcPtrnInfoType;
4360
4361/*---------------------------------------------------------------------------
4362 WDI_WowlDelBcPtrnReqParamsType
4363 Wowl add ptrn info passed to WDI form WDA
4364---------------------------------------------------------------------------*/
4365typedef struct
4366{
4367 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4368 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4369 /*Request status callback offered by UMAC - it is called if the current req
4370 has returned PENDING as status; it delivers the status of sending the message
4371 over the BUS */
4372 WDI_ReqStatusCb wdiReqStatusCB;
4373 /*The user data passed in by UMAC, it will be sent back when the above
4374 function pointer will be called */
4375 void* pUserData;
4376}WDI_WowlDelBcPtrnReqParamsType;
4377
4378/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004379 WDI_WowlDelBcPtrnRspParamsType
4380 Wowl Del ptrn info passed from WDI to WDA
4381---------------------------------------------------------------------------*/
4382typedef struct
4383{
4384 /*Status of the response*/
4385 WDI_Status wdiStatus;
4386 /*BssIDX of the session*/
4387 wpt_uint8 bssIdx;
4388}WDI_WowlDelBcPtrnRspParamsType;
4389
4390/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004391 WDI_WowlEnterInfoType
4392 Wowl enter info passed to WDA form UMAC
4393---------------------------------------------------------------------------*/
4394typedef struct
4395{
4396 /* Enables/disables magic packet filtering */
4397 wpt_uint8 ucMagicPktEnable;
4398
4399 /* Magic pattern */
4400 wpt_macAddr magicPtrn;
4401
4402 /* Enables/disables packet pattern filtering in firmware.
4403 Enabling this flag enables broadcast pattern matching
4404 in Firmware. If unicast pattern matching is also desired,
4405 ucUcastPatternFilteringEnable flag must be set tot true
4406 as well
4407 */
4408 wpt_uint8 ucPatternFilteringEnable;
4409
4410 /* Enables/disables unicast packet pattern filtering.
4411 This flag specifies whether we want to do pattern match
4412 on unicast packets as well and not just broadcast packets.
4413 This flag has no effect if the ucPatternFilteringEnable
4414 (main controlling flag) is set to false
4415 */
4416 wpt_uint8 ucUcastPatternFilteringEnable;
4417
4418 /* This configuration is valid only when magicPktEnable=1.
4419 * It requests hardware to wake up when it receives the
4420 * Channel Switch Action Frame.
4421 */
4422 wpt_uint8 ucWowChnlSwitchRcv;
4423
4424 /* This configuration is valid only when magicPktEnable=1.
4425 * It requests hardware to wake up when it receives the
4426 * Deauthentication Frame.
4427 */
4428 wpt_uint8 ucWowDeauthRcv;
4429
4430 /* This configuration is valid only when magicPktEnable=1.
4431 * It requests hardware to wake up when it receives the
4432 * Disassociation Frame.
4433 */
4434 wpt_uint8 ucWowDisassocRcv;
4435
4436 /* This configuration is valid only when magicPktEnable=1.
4437 * It requests hardware to wake up when it has missed
4438 * consecutive beacons. This is a hardware register
4439 * configuration (NOT a firmware configuration).
4440 */
4441 wpt_uint8 ucWowMaxMissedBeacons;
4442
4443 /* This configuration is valid only when magicPktEnable=1.
4444 * This is a timeout value in units of microsec. It requests
4445 * hardware to unconditionally wake up after it has stayed
4446 * in WoWLAN mode for some time. Set 0 to disable this feature.
4447 */
4448 wpt_uint8 ucWowMaxSleepUsec;
4449
4450#ifdef WLAN_WAKEUP_EVENTS
4451 /* This configuration directs the WoW packet filtering to look for EAP-ID
4452 * requests embedded in EAPOL frames and use this as a wake source.
4453 */
4454 wpt_uint8 ucWoWEAPIDRequestEnable;
4455
4456 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4457 * requests and use this as a wake source.
4458 */
4459 wpt_uint8 ucWoWEAPOL4WayEnable;
4460
4461 /* This configuration allows a host wakeup on an network scan offload match.
4462 */
4463 wpt_uint8 ucWowNetScanOffloadMatch;
4464
4465 /* This configuration allows a host wakeup on any GTK rekeying error.
4466 */
4467 wpt_uint8 ucWowGTKRekeyError;
4468
4469 /* This configuration allows a host wakeup on BSS connection loss.
4470 */
4471 wpt_uint8 ucWoWBSSConnLoss;
4472#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004473
4474 /* BSSIDX used to find the current session
4475 */
4476 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004477} WDI_WowlEnterInfoType;
4478
4479/*---------------------------------------------------------------------------
4480 WDI_WowlEnterReqParamsType
4481 Wowl enter info passed to WDI form WDA
4482---------------------------------------------------------------------------*/
4483typedef struct
4484{
4485 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4486 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4487 /*Request status callback offered by UMAC - it is called if the current req
4488 has returned PENDING as status; it delivers the status of sending the message
4489 over the BUS */
4490 WDI_ReqStatusCb wdiReqStatusCB;
4491 /*The user data passed in by UMAC, it will be sent back when the above
4492 function pointer will be called */
4493 void* pUserData;
4494}WDI_WowlEnterReqParamsType;
4495
4496/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004497 WDI_WowlEnterRsqParamsType
4498 Wowl enter info passed from WDI to WDA
4499---------------------------------------------------------------------------*/
4500typedef struct
4501{
4502 /*Status of the response message*/
4503 WDI_Status status;
4504
4505 /* BSSIDX used to find the current session
4506 */
4507 wpt_uint8 bssIdx;
4508}WDI_WowlEnterRspParamsType;
4509
4510/*---------------------------------------------------------------------------
4511 WDI_WowlExitInfoType
4512 Wowl exit info passed to WDA form UMAC
4513 ---------------------------------------------------------------------------*/
4514typedef struct
4515{
4516 /* BSSIDX used to find the current session
4517 */
4518 wpt_uint8 bssIdx;
4519} WDI_WowlExitInfoType;
4520
4521/*---------------------------------------------------------------------------
4522 WDI_WowlExitReqParamsType
4523 Wowl exit info passed to WDI form WDA
4524---------------------------------------------------------------------------*/
4525typedef struct
4526{
4527 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4528 WDI_WowlExitInfoType wdiWowlExitInfo;
4529 /*Request status callback offered by UMAC - it is called if the current req
4530 has returned PENDING as status; it delivers the status of sending the message
4531 over the BUS */
4532 WDI_ReqStatusCb wdiReqStatusCB;
4533 /*The user data passed in by UMAC, it will be sent back when the above
4534 function pointer will be called */
4535 void* pUserData;
4536}WDI_WowlExitReqParamsType;
4537
4538/*---------------------------------------------------------------------------
4539 WDI_WowlExitRspParamsType
4540 Wowl exit info passed from WDI to WDA
4541---------------------------------------------------------------------------*/
4542typedef struct
4543{
4544 /*Status of the response message*/
4545 WDI_Status status;
4546
4547 /* BSSIDX used to find the current session
4548 */
4549 wpt_uint8 bssIdx;
4550}WDI_WowlExitRspParamsType;
4551
4552/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004553 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4554 Apps Cpu Wakeup State parameters passed to WDI form WDA
4555---------------------------------------------------------------------------*/
4556typedef struct
4557{
4558 /*Depicts the state of the Apps CPU */
4559 wpt_boolean bIsAppsAwake;
4560 /*Request status callback offered by UMAC - it is called if the current req
4561 has returned PENDING as status; it delivers the status of sending the message
4562 over the BUS */
4563 WDI_ReqStatusCb wdiReqStatusCB;
4564 /*The user data passed in by UMAC, it will be sent back when the above
4565 function pointer will be called */
4566 void* pUserData;
4567}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4568/*---------------------------------------------------------------------------
4569 WDI_FlushAcReqinfoType
4570---------------------------------------------------------------------------*/
4571typedef struct
4572{
4573 // Message Type
4574 wpt_uint16 usMesgType;
4575
4576 // Message Length
4577 wpt_uint16 usMesgLen;
4578
4579 // Station Index. originates from HAL
4580 wpt_uint8 ucSTAId;
4581
4582 // TID for which the transmit queue is being flushed
4583 wpt_uint8 ucTid;
4584
4585}WDI_FlushAcReqinfoType;
4586
4587/*---------------------------------------------------------------------------
4588 WDI_FlushAcReqParamsType
4589---------------------------------------------------------------------------*/
4590typedef struct
4591{
4592 /*AC Info */
4593 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4594
4595 /*Request status callback offered by UMAC - it is called if the current
4596 req has returned PENDING as status; it delivers the status of sending
4597 the message over the BUS */
4598 WDI_ReqStatusCb wdiReqStatusCB;
4599
4600 /*The user data passed in by UMAC, it will be sent back when the above
4601 function pointer will be called */
4602 void* pUserData;
4603}WDI_FlushAcReqParamsType;
4604
4605/*---------------------------------------------------------------------------
4606 WDI_BtAmpEventinfoType
4607 BT-AMP Event Structure
4608---------------------------------------------------------------------------*/
4609typedef struct
4610{
4611 wpt_uint8 ucBtAmpEventType;
4612
4613} WDI_BtAmpEventinfoType;
4614
4615/*---------------------------------------------------------------------------
4616 WDI_BtAmpEventParamsType
4617---------------------------------------------------------------------------*/
4618typedef struct
4619{
4620 /*BT AMP event Info */
4621 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4622
4623 /*Request status callback offered by UMAC - it is called if the current
4624 req has returned PENDING as status; it delivers the status of sending
4625 the message over the BUS */
4626 WDI_ReqStatusCb wdiReqStatusCB;
4627
4628 /*The user data passed in by UMAC, it will be sent back when the above
4629 function pointer will be called */
4630 void* pUserData;
4631}WDI_BtAmpEventParamsType;
4632
Jeff Johnsone7245742012-09-05 17:12:55 -07004633#ifdef FEATURE_OEM_DATA_SUPPORT
4634
4635#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004636#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004637#endif
4638#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004639#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004640#endif
4641
4642/*----------------------------------------------------------------------------
4643 WDI_oemDataReqInfoType
4644----------------------------------------------------------------------------*/
4645typedef struct
4646{
4647 wpt_macAddr selfMacAddr;
4648 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4649}WDI_oemDataReqInfoType;
4650
4651/*----------------------------------------------------------------------------
4652 WDI_oemDataReqParamsType
4653----------------------------------------------------------------------------*/
4654typedef struct
4655{
4656 /*Request status callback offered by UMAC - it is called if the current
4657 req has returned PENDING as status; it delivers the status of sending
4658 the message over the BUS */
4659 WDI_ReqStatusCb wdiReqStatusCB;
4660
4661 /*The user data passed in by UMAC, it will be sent back when the above
4662 function pointer will be called */
4663 void* pUserData;
4664
4665 /*OEM DATA REQ Info */
4666 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4667
4668}WDI_oemDataReqParamsType;
4669
4670/*----------------------------------------------------------------------------
4671 WDI_oemDataRspParamsType
4672----------------------------------------------------------------------------*/
4673typedef struct
4674{
4675 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4676}WDI_oemDataRspParamsType;
4677
4678#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004679
4680#ifdef WLAN_FEATURE_VOWIFI_11R
4681/*---------------------------------------------------------------------------
4682 WDI_AggrAddTSReqInfoType
4683---------------------------------------------------------------------------*/
4684typedef struct
4685{
4686 /*STA Index*/
4687 wpt_uint8 ucSTAIdx;
4688
4689 /*Identifier for TSpec*/
4690 wpt_uint8 ucTspecIdx;
4691
4692 /*Tspec IE negotiated OTA*/
4693 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4694
4695 /*UAPSD delivery and trigger enabled flags */
4696 wpt_uint8 ucUapsdFlags;
4697
4698 /*SI for each AC*/
4699 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4700
4701 /*Suspend Interval for each AC*/
4702 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4703
4704 /*DI for each AC*/
4705 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4706
4707}WDI_AggrAddTSReqInfoType;
4708
4709
4710/*---------------------------------------------------------------------------
4711 WDI_AggrAddTSReqParamsType
4712---------------------------------------------------------------------------*/
4713typedef struct
4714{
4715 /*TSpec Info */
4716 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4717
4718 /*Request status callback offered by UMAC - it is called if the current
4719 req has returned PENDING as status; it delivers the status of sending
4720 the message over the BUS */
4721 WDI_ReqStatusCb wdiReqStatusCB;
4722
4723 /*The user data passed in by UMAC, it will be sent back when the above
4724 function pointer will be called */
4725 void* pUserData;
4726}WDI_AggrAddTSReqParamsType;
4727
4728#endif /* WLAN_FEATURE_VOWIFI_11R */
4729
Jeff Johnson295189b2012-06-20 16:38:30 -07004730/*---------------------------------------------------------------------------
4731 WDI_FTMCommandReqType
4732---------------------------------------------------------------------------*/
4733typedef struct
4734{
4735 /* FTM Command Body length */
4736 wpt_uint32 bodyLength;
4737 /* Actual FTM Command body */
4738 void *FTMCommandBody;
4739}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004740
4741/*---------------------------------------------------------------------------
4742 WDI_WlanSuspendInfoType
4743---------------------------------------------------------------------------*/
4744typedef struct
4745{
4746 /* Mode of Mcast and Bcast filters configured */
4747 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4748}WDI_WlanSuspendInfoType;
4749
4750/*---------------------------------------------------------------------------
4751 WDI_SuspendParamsType
4752---------------------------------------------------------------------------*/
4753typedef struct
4754{
4755 WDI_WlanSuspendInfoType wdiSuspendParams;
4756
4757 /*Request status callback offered by UMAC - it is called if the current
4758 req has returned PENDING as status; it delivers the status of sending
4759 the message over the BUS */
4760 WDI_ReqStatusCb wdiReqStatusCB;
4761
4762 /*The user data passed in by UMAC, it will be sent back when the above
4763 function pointer will be called */
4764 void* pUserData;
4765
4766}WDI_SuspendParamsType;
4767
4768/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004769 WDI_TrafficStatsType - This is collected for each STA
4770---------------------------------------------------------------------------*/
4771
4772typedef struct
4773{
4774 /* TX stats */
4775 wpt_uint32 txBytesPushed;
4776 wpt_uint32 txPacketsPushed;
4777
4778 /* RX stats */
4779 wpt_uint32 rxBytesRcvd;
4780 wpt_uint32 rxPacketsRcvd;
4781 wpt_uint32 rxTimeTotal;
4782}WDI_TrafficStatsType;
4783
4784typedef struct
4785{
4786 WDI_TrafficStatsType *pTrafficStats;
4787 wpt_uint32 length;
4788 wpt_uint32 duration;
4789
4790 /*Request status callback offered by UMAC - it is called if the current
4791 req has returned PENDING as status; it delivers the status of sending
4792 the message over the BUS */
4793 WDI_ReqStatusCb wdiReqStatusCB;
4794
4795 /*The user data passed in by UMAC, it will be sent back when the above
4796 function pointer will be called */
4797 void* pUserData;
4798}WDI_TrafficStatsIndType;
4799
Chet Lanctot186b5732013-03-18 10:26:30 -07004800#ifdef WLAN_FEATURE_11W
4801typedef struct
4802{
4803
4804 wpt_boolean bExcludeUnencrypt;
4805 wpt_macAddr bssid;
4806 /*Request status callback offered by UMAC - it is called if the current
4807 req has returned PENDING as status; it delivers the status of sending
4808 the message over the BUS */
4809 WDI_ReqStatusCb wdiReqStatusCB;
4810
4811 /*The user data passed in by UMAC, it will be sent back when the above
4812 function pointer will be called */
4813 void* pUserData;
4814}WDI_ExcludeUnencryptIndType;
4815#endif
4816
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004817/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004818 WDI_WlanResumeInfoType
4819---------------------------------------------------------------------------*/
4820typedef struct
4821{
4822 /* Mode of Mcast and Bcast filters configured */
4823 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4824}WDI_WlanResumeInfoType;
4825
4826/*---------------------------------------------------------------------------
4827 WDI_ResumeParamsType
4828---------------------------------------------------------------------------*/
4829typedef struct
4830{
4831 WDI_WlanResumeInfoType wdiResumeParams;
4832
4833 /*Request status callback offered by UMAC - it is called if the current
4834 req has returned PENDING as status; it delivers the status of sending
4835 the message over the BUS */
4836 WDI_ReqStatusCb wdiReqStatusCB;
4837
4838 /*The user data passed in by UMAC, it will be sent back when the above
4839 function pointer will be called */
4840 void* pUserData;
4841
4842}WDI_ResumeParamsType;
4843
4844#ifdef WLAN_FEATURE_GTK_OFFLOAD
4845/*---------------------------------------------------------------------------
4846 * WDI_GTK_OFFLOAD_REQ
4847 *--------------------------------------------------------------------------*/
4848
4849typedef struct
4850{
4851 wpt_uint32 ulFlags; /* optional flags */
4852 wpt_uint8 aKCK[16]; /* Key confirmation key */
4853 wpt_uint8 aKEK[16]; /* key encryption key */
4854 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004855 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004856} WDI_GtkOffloadReqParams;
4857
4858typedef struct
4859{
4860 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4861
4862 /*Request status callback offered by UMAC - it is called if the current
4863 req has returned PENDING as status; it delivers the status of sending
4864 the message over the BUS */
4865 WDI_ReqStatusCb wdiReqStatusCB;
4866
4867 /*The user data passed in by UMAC, it will be sent back when the above
4868 function pointer will be called */
4869 void* pUserData;
4870} WDI_GtkOffloadReqMsg;
4871
4872/*---------------------------------------------------------------------------
4873 * WDI_GTK_OFFLOAD_RSP
4874 *--------------------------------------------------------------------------*/
4875typedef struct
4876{
4877 /* success or failure */
4878 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004879 /*BssIdx of the response */
4880 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004881} WDI_GtkOffloadRspParams;
4882
4883typedef struct
4884{
4885 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4886
4887 /*Request status callback offered by UMAC - it is called if the current
4888 req has returned PENDING as status; it delivers the status of sending
4889 the message over the BUS */
4890 WDI_ReqStatusCb wdiReqStatusCB;
4891
4892 /*The user data passed in by UMAC, it will be sent back when the above
4893 function pointer will be called */
4894 void* pUserData;
4895} WDI_GtkOffloadRspMsg;
4896
4897
4898/*---------------------------------------------------------------------------
4899* WDI_GTK_OFFLOAD_GETINFO_REQ
4900*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004901typedef struct
4902{
4903 /*BssIdx of the response */
4904 wpt_macAddr bssId;
4905} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004906
4907typedef struct
4908{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004909
4910 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004911 /*Request status callback offered by UMAC - it is called if the current
4912 req has returned PENDING as status; it delivers the status of sending
4913 the message over the BUS */
4914 WDI_ReqStatusCb wdiReqStatusCB;
4915
4916 /*The user data passed in by UMAC, it will be sent back when the above
4917 function pointer will be called */
4918 void* pUserData;
4919} WDI_GtkOffloadGetInfoReqMsg;
4920
4921/*---------------------------------------------------------------------------
4922* WDI_GTK_OFFLOAD_GETINFO_RSP
4923*--------------------------------------------------------------------------*/
4924typedef struct
4925{
4926 wpt_uint32 ulStatus; /* success or failure */
4927 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4928 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4929 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4930 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304931 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004932} WDI_GtkOffloadGetInfoRspParams;
4933
4934typedef struct
4935{
4936 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4937
4938 /*Request status callback offered by UMAC - it is called if the current
4939 req has returned PENDING as status; it delivers the status of sending
4940 the message over the BUS */
4941 WDI_ReqStatusCb wdiReqStatusCB;
4942
4943 /*The user data passed in by UMAC, it will be sent back when the above
4944 function pointer will be called */
4945 void* pUserData;
4946} WDI_GtkOffloadGetInfoRspMsg;
4947#endif // WLAN_FEATURE_GTK_OFFLOAD
4948
4949/*---------------------------------------------------------------------------
4950 WDI_SuspendResumeRspParamsType
4951---------------------------------------------------------------------------*/
4952typedef struct
4953{
4954 /*Status of the response*/
4955 WDI_Status wdiStatus;
4956}WDI_SuspendResumeRspParamsType;
4957
Leo Chang9056f462013-08-01 19:21:11 -07004958#ifdef FEATURE_WLAN_LPHB
4959/*---------------------------------------------------------------------------
4960 WDI Low Power Heart Beat Config request
4961 Copy from sirApi.h to avoid compile error
4962---------------------------------------------------------------------------*/
4963#define WDI_LPHB_FILTER_LEN 64
4964
4965typedef enum
4966{
4967 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4968 WDI_LPHB_SET_TCP_PARAMS_INDID,
4969 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4970 WDI_LPHB_SET_UDP_PARAMS_INDID,
4971 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4972 WDI_LPHB_SET_NETWORK_INFO_INDID,
4973} WDI_LPHBIndType;
4974
4975typedef struct
4976{
4977 wpt_uint8 enable;
4978 wpt_uint8 item;
4979 wpt_uint8 session;
4980} WDI_LPHBEnableStruct;
4981
4982typedef struct
4983{
4984 wpt_uint32 srv_ip;
4985 wpt_uint32 dev_ip;
4986 wpt_uint16 src_port;
4987 wpt_uint16 dst_port;
4988 wpt_uint16 timeout;
4989 wpt_uint8 session;
4990 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004991 wpt_uint16 timePeriodSec; // in seconds
4992 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004993} WDI_LPHBTcpParamStruct;
4994
4995typedef struct
4996{
4997 wpt_uint16 length;
4998 wpt_uint8 offset;
4999 wpt_uint8 session;
5000 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5001} WDI_LPHBTcpFilterStruct;
5002
5003typedef struct
5004{
5005 wpt_uint32 srv_ip;
5006 wpt_uint32 dev_ip;
5007 wpt_uint16 src_port;
5008 wpt_uint16 dst_port;
5009 wpt_uint16 interval;
5010 wpt_uint16 timeout;
5011 wpt_uint8 session;
5012 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
5013} WDI_LPHBUdpParamStruct;
5014
5015typedef struct
5016{
5017 wpt_uint16 length;
5018 wpt_uint8 offset;
5019 wpt_uint8 session;
5020 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5021} WDI_LPHBUdpFilterStruct;
5022
5023typedef struct
5024{
5025 wpt_uint16 cmd;
5026 wpt_uint16 dummy;
5027 union
5028 {
5029 WDI_LPHBEnableStruct lphbEnableReq;
5030 WDI_LPHBTcpParamStruct lphbTcpParamReq;
5031 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
5032 WDI_LPHBUdpParamStruct lphbUdpParamReq;
5033 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
5034 } params;
5035} WDI_LPHBReq;
5036#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07005037
Jeff Johnson295189b2012-06-20 16:38:30 -07005038/*---------------------------------------------------------------------------
5039 WDI_AuthType
5040---------------------------------------------------------------------------*/
5041typedef enum
5042{
5043 WDI_AUTH_TYPE_ANY = 0,
5044
5045 WDI_AUTH_TYPE_NONE,
5046 WDI_AUTH_TYPE_OPEN_SYSTEM,
5047 WDI_AUTH_TYPE_SHARED_KEY,
5048
5049 WDI_AUTH_TYPE_WPA,
5050 WDI_AUTH_TYPE_WPA_PSK,
5051 WDI_AUTH_TYPE_WPA_NONE,
5052
5053 WDI_AUTH_TYPE_RSN,
5054 WDI_AUTH_TYPE_RSN_PSK,
5055 WDI_AUTH_TYPE_FT_RSN,
5056 WDI_AUTH_TYPE_FT_RSN_PSK,
5057 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
5058 WDI_AUTH_TYPE_WAPI_WAI_PSK,
5059 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5060
5061}WDI_AuthType;
5062
5063/*---------------------------------------------------------------------------
5064 WDI_EdType
5065---------------------------------------------------------------------------*/
5066typedef enum
5067{
5068 WDI_ED_ANY = 0,
5069 WDI_ED_NONE,
5070 WDI_ED_WEP40,
5071 WDI_ED_WEP104,
5072 WDI_ED_TKIP,
5073 WDI_ED_CCMP,
5074 WDI_ED_WPI,
5075 WDI_ED_AES_128_CMAC,
5076 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5077} WDI_EdType;
5078
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005079#ifdef FEATURE_WLAN_SCAN_PNO
5080
5081/*Max number of channels for a given network supported by PNO*/
5082#define WDI_PNO_MAX_NETW_CHANNELS 26
5083
5084/*Max number of channels for a given network supported by PNO*/
5085#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
5086
5087/*The max number of programable networks for PNO*/
5088#define WDI_PNO_MAX_SUPP_NETWORKS 16
5089
5090/*The max number of scan timers programable in Riva*/
5091#define WDI_PNO_MAX_SCAN_TIMERS 10
5092
5093#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07005094
5095/*---------------------------------------------------------------------------
5096 WDI_PNOMode
5097---------------------------------------------------------------------------*/
5098typedef enum
5099{
5100 /*Network offload is to start immediately*/
5101 WDI_PNO_MODE_IMMEDIATE,
5102
5103 /*Network offload is to start on host suspend*/
5104 WDI_PNO_MODE_ON_SUSPEND,
5105
5106 /*Network offload is to start on host resume*/
5107 WDI_PNO_MODE_ON_RESUME,
5108 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5109} WDI_PNOMode;
5110
5111/* SSID broadcast type */
5112typedef enum
5113{
5114 WDI_BCAST_UNKNOWN = 0,
5115 WDI_BCAST_NORMAL = 1,
5116 WDI_BCAST_HIDDEN = 2,
5117
5118 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5119} WDI_SSIDBcastType;
5120
5121/*---------------------------------------------------------------------------
5122 WDI_NetworkType
5123---------------------------------------------------------------------------*/
5124typedef struct
5125{
5126 /*The SSID of the preferred network*/
5127 WDI_MacSSid ssId;
5128
5129 /*The authentication method of the preferred network*/
5130 WDI_AuthType wdiAuth;
5131
5132 /*The encryption method of the preferred network*/
5133 WDI_EdType wdiEncryption;
5134
5135 /*SSID broadcast type, normal, hidden or unknown*/
5136 WDI_SSIDBcastType wdiBcastNetworkType;
5137
5138 /*channel count - 0 for all channels*/
5139 wpt_uint8 ucChannelCount;
5140
5141 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305142 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005143
5144 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5145 wpt_uint8 rssiThreshold;
5146} WDI_NetworkType;
5147
5148
5149/*---------------------------------------------------------------------------
5150 WDI_ScanTimer
5151---------------------------------------------------------------------------*/
5152typedef struct
5153{
5154 /*The timer value*/
5155 wpt_uint32 uTimerValue;
5156
5157 /*The amount of time we should be repeating the interval*/
5158 wpt_uint32 uTimerRepeat;
5159} WDI_ScanTimer;
5160
5161/*---------------------------------------------------------------------------
5162 WDI_ScanTimersType
5163---------------------------------------------------------------------------*/
5164typedef struct
5165{
5166 /*The number of value pair intervals present in the array*/
5167 wpt_uint8 ucScanTimersCount;
5168
5169 /*The time-repeat value pairs*/
5170 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5171} WDI_ScanTimersType;
5172
5173/*---------------------------------------------------------------------------
5174 WDI_PNOScanReqType
5175---------------------------------------------------------------------------*/
5176typedef struct
5177{
5178 /*Enable or disable PNO feature*/
5179 wpt_uint8 bEnable;
5180
5181 /*PNO mode requested*/
5182 WDI_PNOMode wdiModePNO;
5183
5184 /*Network count*/
5185 wpt_uint8 ucNetworksCount;
5186
5187 /*The networks to look for*/
5188 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5189
5190 /*Scan timer intervals*/
5191 WDI_ScanTimersType scanTimers;
5192
5193 /*Probe template for 2.4GHz band*/
5194 wpt_uint16 us24GProbeSize;
5195 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5196
5197 /*Probe template for 5GHz band*/
5198 wpt_uint16 us5GProbeSize;
5199 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5200} WDI_PNOScanReqType;
5201
5202/*---------------------------------------------------------------------------
5203 WDI_PNOScanReqParamsType
5204 PNO info passed to WDI form WDA
5205---------------------------------------------------------------------------*/
5206typedef struct
5207{
5208 /* PNO Info Type, same as tPrefNetwListParams */
5209 WDI_PNOScanReqType wdiPNOScanInfo;
5210 /* Request status callback offered by UMAC - it is called if the current req
5211 has returned PENDING as status; it delivers the status of sending the message
5212 over the BUS */
5213 WDI_ReqStatusCb wdiReqStatusCB;
5214 /* The user data passed in by UMAC, it will be sent back when the above
5215 function pointer will be called */
5216 void* pUserData;
5217} WDI_PNOScanReqParamsType;
5218
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005219/*---------------------------------------------------------------------------
5220 WDI_SetRssiFilterReqParamsType
5221 PNO info passed to WDI form WDA
5222---------------------------------------------------------------------------*/
5223typedef struct
5224{
5225 /* RSSI Threshold */
5226 wpt_uint8 rssiThreshold;
5227 /* Request status callback offered by UMAC - it is called if the current req
5228 has returned PENDING as status; it delivers the status of sending the message
5229 over the BUS */
5230 WDI_ReqStatusCb wdiReqStatusCB;
5231 /* The user data passed in by UMAC, it will be sent back when the above
5232 function pointer will be called */
5233 void* pUserData;
5234} WDI_SetRssiFilterReqParamsType;
5235
5236/*---------------------------------------------------------------------------
5237 WDI_UpdateScanParamsInfo
5238---------------------------------------------------------------------------*/
5239typedef struct
5240{
5241 /*Is 11d enabled*/
5242 wpt_uint8 b11dEnabled;
5243
5244 /*Was UMAc able to find the regulatory domain*/
5245 wpt_uint8 b11dResolved;
5246
5247 /*Number of channel allowed in the regulatory domain*/
5248 wpt_uint8 ucChannelCount;
5249
5250 /*The actual channels allowed in the regulatory domain*/
5251 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5252
5253 /*Passive min channel time*/
5254 wpt_uint16 usPassiveMinChTime;
5255
5256 /*Passive max channel time*/
5257 wpt_uint16 usPassiveMaxChTime;
5258
5259 /*Active min channel time*/
5260 wpt_uint16 usActiveMinChTime;
5261
5262 /*Active max channel time*/
5263 wpt_uint16 usActiveMaxChTime;
5264
5265 /*channel bonding info*/
5266 wpt_uint8 cbState;
5267} WDI_UpdateScanParamsInfo;
5268
5269/*---------------------------------------------------------------------------
5270 WDI_UpdateScanParamsInfoType
5271 UpdateScanParams info passed to WDI form WDA
5272---------------------------------------------------------------------------*/
5273typedef struct
5274{
5275 /* PNO Info Type, same as tUpdateScanParams */
5276 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5277 /* Request status callback offered by UMAC - it is called if the current req
5278 has returned PENDING as status; it delivers the status of sending the message
5279 over the BUS */
5280 WDI_ReqStatusCb wdiReqStatusCB;
5281 /* The user data passed in by UMAC, it will be sent back when the above
5282 function pointer will be called */
5283 void* pUserData;
5284} WDI_UpdateScanParamsInfoType;
5285#endif //FEATURE_WLAN_SCAN_PNO
5286
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005287#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5288
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005289#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005290#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005291
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005292typedef struct
5293{
5294 /*The SSID of the preferred network*/
5295 WDI_MacSSid ssId;
5296 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5297
5298 /*The authentication method of the preferred network*/
5299 WDI_AuthType authentication;
5300
5301 /*The encryption method of the preferred network*/
5302 WDI_EdType encryption;
5303 WDI_EdType mcencryption;
5304
5305 /*SSID broadcast type, normal, hidden or unknown*/
5306 //WDI_SSIDBcastType wdiBcastNetworkType;
5307
5308 /*channel count - 0 for all channels*/
5309 wpt_uint8 ChannelCount;
5310
5311 /*the actual channels*/
5312 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5313
5314} WDI_RoamNetworkType;
5315
5316typedef struct WDIMobilityDomainInfo
5317{
5318 wpt_uint8 mdiePresent;
5319 wpt_uint16 mobilityDomain;
5320} WDI_MobilityDomainInfo;
5321
5322/*---------------------------------------------------------------------------
5323 WDI_RoamOffloadScanInfo
5324---------------------------------------------------------------------------*/
5325typedef struct
5326{
5327 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005328 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005329 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005330 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005331 wpt_uint8 RoamRssiDiff;
5332 wpt_uint8 ChannelCacheType;
5333 wpt_uint8 Command;
5334 wpt_uint8 StartScanReason;
5335 wpt_uint16 NeighborScanTimerPeriod;
5336 wpt_uint16 NeighborRoamScanRefreshPeriod;
5337 wpt_uint16 NeighborScanChannelMinTime;
5338 wpt_uint16 NeighborScanChannelMaxTime;
5339 wpt_uint16 EmptyRefreshScanPeriod;
5340 wpt_uint8 ValidChannelCount;
5341 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005342 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005343 /*Probe template for 2.4GHz band*/
5344 wpt_uint16 us24GProbeSize;
5345 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5346
5347 /*Probe template for 5GHz band*/
5348 wpt_uint16 us5GProbeSize;
5349 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005350 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005351 * As per requirement, later, the following structure can be used as an array of networks.*/
5352 WDI_RoamNetworkType ConnectedNetwork;
5353 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005354 wpt_uint8 nProbes;
5355 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005356} WDI_RoamOffloadScanInfo;
5357
5358typedef struct
5359{
5360 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5361 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5362 /* Request status callback offered by UMAC - it is called if the current req
5363 has returned PENDING as status; it delivers the status of sending the message
5364 over the BUS */
5365 WDI_ReqStatusCb wdiReqStatusCB;
5366 /* The user data passed in by UMAC, it will be sent back when the above
5367 function pointer will be called */
5368 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005369} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005370#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005371
5372/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305373 WDI_HT40ObssScanIndType
5374---------------------------------------------------------------------------*/
5375typedef struct
5376{
5377 wpt_uint8 cmdType;
5378 wpt_uint8 scanType;
5379 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5380 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5381 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5382 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5383 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5384 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5385 wpt_uint16 OBSSScanActivityThreshold;
5386 wpt_uint8 selfStaIdx;
5387 wpt_uint8 bssIdx;
5388 wpt_uint8 fortyMHZIntolerent;
5389 wpt_uint8 channelCount;
5390 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5391 wpt_uint8 currentOperatingClass;
5392 wpt_uint16 ieFieldLen;
5393 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5394} WDI_HT40ObssScanIndType;
5395
5396
5397/*---------------------------------------------------------------------------
5398 WDI_OBSSScanIndParamsType
5399---------------------------------------------------------------------------*/
5400typedef struct
5401{
5402 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5403
5404 /*Request status callback offered by UMAC - it is called if the current
5405 req has returned PENDING as status; it delivers the status of sending
5406 the message over the BUS */
5407 WDI_ReqStatusCb wdiReqStatusCB;
5408
5409 /*The user data passed in by UMAC, it will be sent back when the above
5410 function pointer will be called */
5411 void* pUserData;
5412
5413}WDI_HT40ObssScanParamsType;
5414
5415/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005416 WDI_UpdateScanParamsInfo
5417---------------------------------------------------------------------------*/
5418typedef struct
5419{
5420 /* Ignore DTIM */
5421 wpt_uint32 uIgnoreDTIM;
5422
5423 /*DTIM Period*/
5424 wpt_uint32 uDTIMPeriod;
5425
5426 /* Listen Interval */
5427 wpt_uint32 uListenInterval;
5428
5429 /* Broadcast Multicas Filter */
5430 wpt_uint32 uBcastMcastFilter;
5431
5432 /* Beacon Early Termination */
5433 wpt_uint32 uEnableBET;
5434
5435 /* Beacon Early Termination Interval */
5436 wpt_uint32 uBETInterval;
5437
Yue Mac24062f2013-05-13 17:01:29 -07005438 /* MAX LI for modulated DTIM */
5439 wpt_uint32 uMaxLIModulatedDTIM;
5440
Jeff Johnson295189b2012-06-20 16:38:30 -07005441} WDI_SetPowerParamsInfo;
5442
5443/*---------------------------------------------------------------------------
5444 WDI_UpdateScanParamsInfoType
5445 UpdateScanParams info passed to WDI form WDA
5446---------------------------------------------------------------------------*/
5447typedef struct
5448{
5449 /* Power params Info Type, same as tSetPowerParamsReq */
5450 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5451 /* Request status callback offered by UMAC - it is called if the current req
5452 has returned PENDING as status; it delivers the status of sending the message
5453 over the BUS */
5454 WDI_ReqStatusCb wdiReqStatusCB;
5455 /* The user data passed in by UMAC, it will be sent back when the above
5456 function pointer will be called */
5457 void* pUserData;
5458}WDI_SetPowerParamsReqParamsType;
5459
5460/*---------------------------------------------------------------------------
5461 WDI_SetTxPerTrackingConfType
5462 Wowl add ptrn info passed to WDA form UMAC
5463---------------------------------------------------------------------------*/
5464typedef struct
5465{
5466 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5467 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5468 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5469 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5470} WDI_TxPerTrackingParamType;
5471
5472/*---------------------------------------------------------------------------
5473 WDI_SetTxPerTrackingReqParamsType
5474 Tx PER Tracking parameters passed to WDI from WDA
5475---------------------------------------------------------------------------*/
5476typedef struct
5477{
5478 /* Configurations for Tx PER Tracking */
5479 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5480 /*Request status callback offered by UMAC - it is called if the current req
5481 has returned PENDING as status; it delivers the status of sending the message
5482 over the BUS */
5483 WDI_ReqStatusCb wdiReqStatusCB;
5484 /*The user data passed in by UMAC, it will be sent back when the above
5485 function pointer will be called */
5486 void* pUserData;
5487}WDI_SetTxPerTrackingReqParamsType;
5488
5489#ifdef WLAN_FEATURE_PACKET_FILTERING
5490/*---------------------------------------------------------------------------
5491 Packet Filtering Parameters
5492---------------------------------------------------------------------------*/
5493
5494#define WDI_IPV4_ADDR_LEN 4
5495#define WDI_MAC_ADDR_LEN 6
5496#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5497#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5498#define WDI_MAX_NUM_FILTERS 20
5499#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5500
5501//
5502// Receive Filter Parameters
5503//
5504typedef enum
5505{
5506 WDI_RCV_FILTER_TYPE_INVALID,
5507 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5508 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5509 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5510}WDI_ReceivePacketFilterType;
5511
5512typedef enum
5513{
5514 WDI_FILTER_HDR_TYPE_INVALID,
5515 WDI_FILTER_HDR_TYPE_MAC,
5516 WDI_FILTER_HDR_TYPE_ARP,
5517 WDI_FILTER_HDR_TYPE_IPV4,
5518 WDI_FILTER_HDR_TYPE_IPV6,
5519 WDI_FILTER_HDR_TYPE_UDP,
5520 WDI_FILTER_HDR_TYPE_MAX
5521}WDI_RcvPktFltProtocolType;
5522
5523typedef enum
5524{
5525 WDI_FILTER_CMP_TYPE_INVALID,
5526 WDI_FILTER_CMP_TYPE_EQUAL,
5527 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5528 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5529 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5530 WDI_FILTER_CMP_TYPE_MAX
5531}WDI_RcvPktFltCmpFlagType;
5532
5533typedef struct
5534{
5535 WDI_RcvPktFltProtocolType protocolLayer;
5536 WDI_RcvPktFltCmpFlagType cmpFlag;
5537/* Length of the data to compare */
5538 wpt_uint16 dataLength;
5539/* from start of the respective frame header */
5540 wpt_uint8 dataOffset;
5541 wpt_uint8 reserved; /* Reserved field */
5542/* Data to compare */
5543 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5544/* Mask to be applied on the received packet data before compare */
5545 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5546}WDI_RcvPktFilterFieldParams;
5547
5548typedef struct
5549{
5550 wpt_uint8 filterId;
5551 wpt_uint8 filterType;
5552 wpt_uint32 numFieldParams;
5553 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005554 wpt_macAddr selfMacAddr;
5555 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005556 WDI_RcvPktFilterFieldParams paramsData[1];
5557
Jeff Johnson295189b2012-06-20 16:38:30 -07005558}WDI_RcvPktFilterCfgType;
5559
5560typedef struct
5561{
5562 /*Request status callback offered by UMAC - it is called if the current
5563 req has returned PENDING as status; it delivers the status of sending
5564 the message over the BUS */
5565 WDI_ReqStatusCb wdiReqStatusCB;
5566
5567 /*The user data passed in by UMAC, it will be sent back when the above
5568 function pointer will be called */
5569 void* pUserData;
5570
5571 // Variable length packet filter field params
5572 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5573} WDI_SetRcvPktFilterReqParamsType;
5574
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005575typedef struct
5576{
5577 /*Result of the operation*/
5578 WDI_Status wdiStatus;
5579 /* BSSIDX of the Set Receive Filter
5580 */
5581 wpt_uint8 bssIdx;
5582} WDI_SetRcvPktFilterRspParamsType;
5583
Jeff Johnson295189b2012-06-20 16:38:30 -07005584//
5585// Filter Packet Match Count Parameters
5586//
5587typedef struct
5588{
5589 /*Request status callback offered by UMAC - it is called if the current
5590 req has returned PENDING as status; it delivers the status of sending
5591 the message over the BUS */
5592 WDI_ReqStatusCb wdiReqStatusCB;
5593
5594 /*The user data passed in by UMAC, it will be sent back when the above
5595 function pointer will be called */
5596 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005597
5598 /* BSSID of the Match count
5599 */
5600 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005601} WDI_RcvFltPktMatchCntReqParamsType;
5602
5603typedef struct
5604{
5605 wpt_uint8 filterId;
5606 wpt_uint32 matchCnt;
5607} WDI_RcvFltPktMatchCnt;
5608
5609typedef struct
5610{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005611 /*Result of the operation*/
5612 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005613
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005614 /* BSSIDX of the Match count response
5615 */
5616 wpt_uint8 bssIdx;
5617
Jeff Johnson295189b2012-06-20 16:38:30 -07005618} WDI_RcvFltPktMatchCntRspParamsType;
5619
Jeff Johnson295189b2012-06-20 16:38:30 -07005620//
5621// Receive Filter Clear Parameters
5622//
5623typedef struct
5624{
5625 wpt_uint32 status; /* only valid for response message */
5626 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005627 wpt_macAddr selfMacAddr;
5628 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005629}WDI_RcvFltPktClearParam;
5630
5631typedef struct
5632{
5633 WDI_RcvFltPktClearParam filterClearParam;
5634 /*Request status callback offered by UMAC - it is called if the current
5635 req has returned PENDING as status; it delivers the status of sending
5636 the message over the BUS */
5637 WDI_ReqStatusCb wdiReqStatusCB;
5638
5639 /*The user data passed in by UMAC, it will be sent back when the above
5640 function pointer will be called */
5641 void* pUserData;
5642} WDI_RcvFltPktClearReqParamsType;
5643
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005644typedef struct
5645{
5646 /*Result of the operation*/
5647 WDI_Status wdiStatus;
5648 /* BSSIDX of the Match count response
5649 */
5650 wpt_uint8 bssIdx;
5651
5652} WDI_RcvFltPktClearRspParamsType;
5653
Jeff Johnson295189b2012-06-20 16:38:30 -07005654//
5655// Multicast Address List Parameters
5656//
5657typedef struct
5658{
5659 wpt_uint32 ulMulticastAddrCnt;
5660 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005661 wpt_macAddr selfMacAddr;
5662 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005663} WDI_RcvFltMcAddrListType;
5664
5665typedef struct
5666{
5667 WDI_RcvFltMcAddrListType mcAddrList;
5668 /*Request status callback offered by UMAC - it is called if the current
5669 req has returned PENDING as status; it delivers the status of sending
5670 the message over the BUS */
5671 WDI_ReqStatusCb wdiReqStatusCB;
5672
5673 /*The user data passed in by UMAC, it will be sent back when the above
5674 function pointer will be called */
5675 void* pUserData;
5676} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005677
5678typedef struct
5679{
5680 /*Result of the operation*/
5681 WDI_Status wdiStatus;
5682 /* BSSIDX of the Match count response
5683 */
5684 wpt_uint8 bssIdx;
5685} WDI_RcvFltPktSetMcListRspParamsType;
5686
Jeff Johnson295189b2012-06-20 16:38:30 -07005687#endif // WLAN_FEATURE_PACKET_FILTERING
5688
5689/*---------------------------------------------------------------------------
5690 WDI_HALDumpCmdReqInfoType
5691---------------------------------------------------------------------------*/
5692typedef struct
5693{
5694 /*command*/
5695 wpt_uint32 command;
5696
5697 /*Arguments*/
5698 wpt_uint32 argument1;
5699 wpt_uint32 argument2;
5700 wpt_uint32 argument3;
5701 wpt_uint32 argument4;
5702
5703}WDI_HALDumpCmdReqInfoType;
5704
5705/*---------------------------------------------------------------------------
5706 WDI_HALDumpCmdReqParamsType
5707---------------------------------------------------------------------------*/
5708typedef struct
5709{
5710 /*NV Blob Info*/
5711 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5712
5713 /*Request status callback offered by UMAC - it is called if the current
5714 req has returned PENDING as status; it delivers the status of sending
5715 the message over the BUS */
5716 WDI_ReqStatusCb wdiReqStatusCB;
5717
5718 /*The user data passed in by UMAC, it will be sent back when the above
5719 function pointer will be called */
5720 void* pUserData;
5721
5722}WDI_HALDumpCmdReqParamsType;
5723
5724
5725/*---------------------------------------------------------------------------
5726 WDI_HALDumpCmdRspParamsType
5727---------------------------------------------------------------------------*/
5728typedef struct
5729{
5730 /*Result of the operation*/
5731 WDI_Status wdiStatus;
5732
5733 /* length of the buffer */
5734 wpt_uint16 usBufferLen;
5735
5736 /* Buffer */
5737 wpt_uint8 *pBuffer;
5738}WDI_HALDumpCmdRspParamsType;
5739
5740
5741/*---------------------------------------------------------------------------
5742 WDI_SetTmLevelReqType
5743---------------------------------------------------------------------------*/
5744typedef struct
5745{
5746 wpt_uint16 tmMode;
5747 wpt_uint16 tmLevel;
5748 void* pUserData;
5749}WDI_SetTmLevelReqType;
5750
5751/*---------------------------------------------------------------------------
5752 WDI_SetTmLevelRspType
5753---------------------------------------------------------------------------*/
5754typedef struct
5755{
5756 WDI_Status wdiStatus;
5757 void* pUserData;
5758}WDI_SetTmLevelRspType;
5759
Leo Chang9056f462013-08-01 19:21:11 -07005760#ifdef FEATURE_WLAN_LPHB
5761/*---------------------------------------------------------------------------
5762 WDI_LPHBConfigParamsType
5763---------------------------------------------------------------------------*/
5764typedef struct
5765{
5766 void* pLphsConfIndData;
5767}WDI_LPHBConfigParamsType;
5768#endif /* FEATURE_WLAN_LPHB */
5769
Yue Mab9c86f42013-08-14 15:59:08 -07005770/*---------------------------------------------------------------------------
5771 WDI_AddPeriodicTxPtrnInfoType
5772---------------------------------------------------------------------------*/
5773typedef struct
5774{
5775 /* MAC Address for the adapter */
5776 wpt_macAddr macAddr;
5777
5778 wpt_uint8 ucPtrnId; // Pattern ID
5779 wpt_uint16 ucPtrnSize; // Pattern size
5780 wpt_uint32 usPtrnIntervalMs; // In msec
5781 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5782} WDI_AddPeriodicTxPtrnInfoType;
5783
5784/*---------------------------------------------------------------------------
5785 WDI_DelPeriodicTxPtrnInfoType
5786---------------------------------------------------------------------------*/
5787typedef struct
5788{
5789 /* MAC Address for the adapter */
5790 wpt_macAddr macAddr;
5791
5792 /* Bitmap of pattern IDs that needs to be deleted */
5793 wpt_uint32 ucPatternIdBitmap;
5794} WDI_DelPeriodicTxPtrnInfoType;
5795
5796/*---------------------------------------------------------------------------
5797 WDI_AddPeriodicTxPtrnParamsType
5798---------------------------------------------------------------------------*/
5799typedef struct
5800{
5801 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5802
5803 /*Request status callback offered by UMAC - it is called if the current
5804 req has returned PENDING as status; it delivers the status of sending
5805 the message over the BUS */
5806 WDI_ReqStatusCb wdiReqStatusCB;
5807
5808 /*The user data passed in by UMAC, it will be sent back when the above
5809 function pointer will be called */
5810 void* pUserData;
5811} WDI_AddPeriodicTxPtrnParamsType;
5812
5813/*---------------------------------------------------------------------------
Srinivas Dasari32a79262015-02-19 13:04:49 +05305814 WDI_NanRequestType
5815---------------------------------------------------------------------------*/
5816typedef struct
5817{
5818 wpt_uint16 request_data_len;
5819 wpt_uint8 request_data[1];
5820} WDI_NanRequestType;
5821
5822
5823/*---------------------------------------------------------------------------
Yue Mab9c86f42013-08-14 15:59:08 -07005824 WDI_DelPeriodicTxPtrnParamsType
5825---------------------------------------------------------------------------*/
5826typedef struct
5827{
5828 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5829
5830 /*Request status callback offered by UMAC - it is called if the current
5831 req has returned PENDING as status; it delivers the status of sending
5832 the message over the BUS */
5833 WDI_ReqStatusCb wdiReqStatusCB;
5834
5835 /*The user data passed in by UMAC, it will be sent back when the above
5836 function pointer will be called */
5837 void* pUserData;
5838} WDI_DelPeriodicTxPtrnParamsType;
5839
Dino Mycle41bdc942014-06-10 11:30:24 +05305840#ifdef WLAN_FEATURE_EXTSCAN
5841
5842#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5843#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5844#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05305845#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_SSID 8
Dino Mycle41bdc942014-06-10 11:30:24 +05305846
5847typedef enum
5848{
5849 WDI_WIFI_BAND_UNSPECIFIED,
5850 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5851 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5852 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5853 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5854 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5855 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5856
5857 /* Keep it last */
5858 WDI_WIFI_BAND_MAX
5859} WDI_WifiBand;
5860
5861typedef struct
5862{
5863 wpt_uint32 channel; // frequency
5864 wpt_uint32 dwellTimeMs; // dwell time hint
5865 wpt_uint8 passive; // 0 => active,
5866 // 1 => passive scan; ignored for DFS
5867 wpt_uint8 chnlClass;
5868} WDI_WifiScanChannelSpec;
5869
5870typedef struct
5871{
5872 wpt_uint8 bucket; // bucket index, 0 based
5873 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5874
5875 /*
5876 * desired period, in millisecond; if this is too
5877 * low, the firmware should choose to generate results as fast as
5878 * it can instead of failing the command byte
5879 */
5880 wpt_uint32 period;
5881
5882 /*
5883 * 0 => normal reporting (reporting rssi history
5884 * only, when rssi history buffer is % full)
5885 * 1 => same as 0 + report a scan completion event after scanning
5886 * this bucket
5887 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5888 * in real time to HAL
5889 */
5890 wpt_uint8 reportEvents;
5891
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05305892 wpt_uint32 max_period;
5893 wpt_uint32 exponent;
5894 wpt_uint32 step_count;
5895
Dino Mycle41bdc942014-06-10 11:30:24 +05305896 wpt_uint8 numChannels;
5897
5898 /*
5899 * channels to scan; these may include DFS channels
5900 */
5901 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5902} WDI_WifiScanBucketSpec;
5903
5904typedef struct
5905{
5906 wpt_uint32 requestId;
5907 wpt_uint8 sessionId;
5908 wpt_uint32 basePeriod; // base timer period
5909 wpt_uint32 maxAPperScan;
5910
5911 /* in %, when buffer is this much full, wake up host */
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05305912 wpt_uint32 reportThresholdPercent;
5913 wpt_uint32 reportThresholdNumScans;
Dino Mycle41bdc942014-06-10 11:30:24 +05305914
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05305915 wpt_uint32 homeAwayTime; //in units of milliseconds
Dino Mycle41bdc942014-06-10 11:30:24 +05305916 wpt_uint8 numBuckets;
5917 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5918} WDI_EXTScanStartReqParams;
5919
5920typedef struct
5921{
5922 wpt_uint32 requestId;
5923 wpt_uint8 sessionId;
5924} WDI_EXTScanStopReqParams;
5925
5926typedef struct
5927{
5928 wpt_uint32 requestId;
5929 wpt_uint8 sessionId;
5930
5931 /*
5932 * 1 return cached results and flush it
5933 * 0 return cached results and do not flush
5934 */
5935 wpt_boolean flush;
5936} WDI_EXTScanGetCachedResultsReqParams;
5937
5938typedef struct
5939{
5940 wpt_uint32 requestId;
5941 wpt_uint8 sessionId;
5942} WDI_EXTScanGetCapabilitiesReqParams;
5943
5944typedef struct
5945{
5946 wpt_uint8 bssid[6]; /* BSSID */
5947 wpt_int32 low; // low threshold
5948 wpt_int32 high; // high threshold
Dino Mycle41bdc942014-06-10 11:30:24 +05305949} WDI_APThresholdParam;
5950
5951typedef struct
5952{
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05305953 WDI_MacSSid ssid; /* SSID */
5954 wpt_uint8 band; /* band */
5955 wpt_int32 lowRssiThreshold; /* low threshold */
5956 wpt_int32 highRssiThreshold; /* high threshold */
5957} WDI_SSIDThresholdParam;
5958
5959typedef struct
5960{
Dino Mycle41bdc942014-06-10 11:30:24 +05305961 wpt_int32 requestId;
5962 wpt_int8 sessionId; // session Id mapped to vdev_id
Padma, Santhosh Kumar37f4fd12015-08-19 14:37:37 +05305963 wpt_uint32 lostBssidSampleSize;
5964 wpt_int32 numBssid; // number of hotlist APs
Dino Mycle41bdc942014-06-10 11:30:24 +05305965 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5966} WDI_EXTScanSetBSSIDHotlistReqParams;
5967
5968typedef struct
5969{
5970 wpt_uint32 requestId;
5971 wpt_uint8 sessionId;
5972} WDI_EXTScanResetBSSIDHotlistReqParams;
5973
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05305974typedef struct
5975{
5976 wpt_uint32 requestId;
5977 wpt_uint8 sessionId; // session Id mapped to vdev_id
5978 wpt_uint32 lostSsidSampleSize;
5979 wpt_uint32 numSsid; // number of hotlist APs
5980 WDI_SSIDThresholdParam ssid[WDI_WLAN_EXTSCAN_MAX_HOTLIST_SSID]; // hotlist SSIDs
5981} WDI_EXTScanSetSSIDHotlistReqParams;
5982
5983typedef struct
5984{
5985 wpt_uint32 requestId;
5986 wpt_uint8 sessionId;
5987} WDI_EXTScanResetSSIDHotlistReqParams;
5988
Dino Mycle41bdc942014-06-10 11:30:24 +05305989#endif /* WLAN_FEATURE_EXTSCAN */
5990
Sunil Duttbd736ed2014-05-26 21:19:41 +05305991#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5992typedef struct
5993{
5994 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305995 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305996 wpt_uint32 mpduSizeThreshold;
5997 wpt_uint32 aggressiveStatisticsGathering;
5998}WDI_LLStatsSetReqType;
5999
6000typedef struct
6001{
6002 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306003 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306004 wpt_uint32 paramIdMask;
6005}WDI_LLStatsGetReqType;
6006
6007typedef struct
6008{
6009 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306010 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306011 wpt_uint32 statsClearReqMask;
6012 wpt_uint8 stopReq;
6013}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05306014
Sunil Duttbd736ed2014-05-26 21:19:41 +05306015#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
6016
Siddharth Bhal171788a2014-09-29 21:02:40 +05306017/*---------------------------------------------------------------------------
6018 WDI_SPOOF_MAC_ADDR_REQ
6019---------------------------------------------------------------------------*/
6020typedef struct
6021{
6022 /* Spoof MAC Address for FW */
6023 wpt_macAddr macAddr;
6024
6025 /* Reserved Params/fields */
6026 wpt_uint32 params;
6027 wpt_uint32 reserved;
6028} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306029
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05306030//This is to force compiler to use the maximum of an int for enum
6031#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
6032// Enum to specify whether key is used
6033// for TX only, RX only or both
6034typedef enum
6035{
6036 eWDI_TX_ONLY,
6037 eWDI_RX_ONLY,
6038 eWDI_TX_RX,
6039 eWDI_TX_DEFAULT,
6040 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
6041} tWDIKeyDirection;
6042
6043// MAX key length when ULA is used
6044#define SIR_MAC_MAX_KEY_LENGTH 32
6045/* Max key size including the WAPI and TKIP */
6046#define WLAN_MAX_KEY_RSC_LEN 16
6047// Definition for Encryption Keys
6048//typedef struct sSirKeys
6049typedef struct
6050{
6051 wpt_uint8 keyId;
6052 wpt_uint8 unicast; // 0 for multicast
6053 tWDIKeyDirection keyDirection;
6054 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
6055 wpt_uint8 paeRole; // =1 for authenticator,
6056 // =0 for supplicant
6057 wpt_uint16 keyLength;
6058 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
6059} tWDIKeys, *tpWDIKeys;
6060
6061typedef enum
6062{
6063 eWDI_WEP_STATIC,
6064 eWDI_WEP_DYNAMIC,
6065} tWDIWepType;
6066
6067// Encryption type enum used with peer
6068typedef enum
6069{
6070 eWDI_ED_NONE,
6071 eWDI_ED_WEP40,
6072 eWDI_ED_WEP104,
6073 eWDI_ED_TKIP,
6074 eWDI_ED_CCMP,
6075#if defined(FEATURE_WLAN_WAPI)
6076 eWDI_ED_WPI,
6077#endif
6078 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
6079 * Thus while setting BIP encryption mode in corresponding DPU Desc
6080 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
6081 */
6082 eWDI_ED_AES_128_CMAC,
6083 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
6084} tWDIEdType;
6085#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
6086/*
6087 * This is used by PE to configure the key information on a given station.
6088 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
6089 * a preconfigured key from a BSS the station assoicated with; otherwise
6090 * a new key descriptor is created based on the key field.
6091 */
6092typedef struct
6093{
6094 wpt_uint16 staIdx;
6095 tWDIEdType encType; // Encryption/Decryption type
6096 tWDIWepType wepType; // valid only for WEP
6097 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
6098 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
6099 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
6100 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
6101} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
6102
6103typedef struct
6104{
6105 tWDISetStaKeyParams keyParams;
6106 wpt_uint8 pn[6];
6107}wpt_encConfigParams;
6108
6109typedef struct
6110{
6111 wpt_uint16 length;
6112 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6113}wpt_payload;
6114
6115typedef struct
6116{
6117 wpt_80211Header macHeader;
6118 wpt_encConfigParams encParams;
6119 wpt_payload data;
6120}wpt_pkt80211;
6121
Katya Nigamf0511f62015-05-05 16:40:57 +05306122#define NUM_FILTERS_SUPPORTED 1
6123typedef struct
6124{
6125 wpt_macAddr macAddr;
6126 wpt_uint8 isA1filter;
6127 wpt_uint8 isA2filter;
6128 wpt_uint8 isA3filter;
6129}WDI_filter;
6130
6131typedef struct
6132{
6133 /* start or stop */
6134 wpt_uint8 state;
6135 /*Conversion of packet required or not*/
6136 wpt_uint8 is80211to803ConReq;
6137 wpt_uint32 ChannelNo;
6138 wpt_uint32 ChannelBW;
6139 wpt_uint8 crcCheckEnabled;
6140 wpt_uint8 numOfMacFilters;
6141 WDI_filter mmFilters[NUM_FILTERS_SUPPORTED];
6142 wpt_uint64 typeSubtypeBitmap;
6143 wpt_uint64 rsvd;
6144
6145}WDI_MonStartReqType;
6146
Jeff Johnson295189b2012-06-20 16:38:30 -07006147/*----------------------------------------------------------------------------
6148 * WDI callback types
6149 *--------------------------------------------------------------------------*/
6150
6151/*---------------------------------------------------------------------------
6152 WDI_StartRspCb
6153
6154 DESCRIPTION
6155
6156 This callback is invoked by DAL when it has received a Start response from
6157 the underlying device.
6158
6159 PARAMETERS
6160
6161 IN
6162 wdiRspParams: response parameters received from HAL
6163 pUserData: user data
6164
6165
6166 RETURN VALUE
6167 The result code associated with performing the operation
6168---------------------------------------------------------------------------*/
6169typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6170 void* pUserData);
6171
6172/*---------------------------------------------------------------------------
6173 WDI_StartRspCb
6174
6175 DESCRIPTION
6176
6177 This callback is invoked by DAL when it has received a Stop response from
6178 the underlying device.
6179
6180 PARAMETERS
6181
6182 IN
6183 wdiStatus: response status received from HAL
6184 pUserData: user data
6185
6186
6187
6188 RETURN VALUE
6189 The result code associated with performing the operation
6190---------------------------------------------------------------------------*/
6191typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6192 void* pUserData);
6193
6194/*---------------------------------------------------------------------------
6195 WDI_StartRspCb
6196
6197 DESCRIPTION
6198
6199 This callback is invoked by DAL when it has received an Init Scan response
6200 from the underlying device.
6201
6202 PARAMETERS
6203
6204 IN
6205 wdiStatus: response status received from HAL
6206 pUserData: user data
6207
6208
6209
6210 RETURN VALUE
6211 The result code associated with performing the operation
6212---------------------------------------------------------------------------*/
6213typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6214 void* pUserData);
6215
6216
6217/*---------------------------------------------------------------------------
6218 WDI_StartRspCb
6219
6220 DESCRIPTION
6221
6222 This callback is invoked by DAL when it has received a StartScan response
6223 from the underlying device.
6224
6225 PARAMETERS
6226
6227 IN
6228 wdiParams: response params received from HAL
6229 pUserData: user data
6230
6231
6232
6233 RETURN VALUE
6234 The result code associated with performing the operation
6235---------------------------------------------------------------------------*/
6236typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6237 void* pUserData);
6238
6239
6240/*---------------------------------------------------------------------------
6241 WDI_StartRspCb
6242
6243 DESCRIPTION
6244
6245 This callback is invoked by DAL when it has received a End Scan response
6246 from the underlying device.
6247
6248 PARAMETERS
6249
6250 IN
6251 wdiStatus: response status received from HAL
6252 pUserData: user data
6253
6254
6255
6256 RETURN VALUE
6257 The result code associated with performing the operation
6258---------------------------------------------------------------------------*/
6259typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6260 void* pUserData);
6261
6262
6263/*---------------------------------------------------------------------------
6264 WDI_StartRspCb
6265
6266 DESCRIPTION
6267
6268 This callback is invoked by DAL when it has received a Finish Scan response
6269 from the underlying device.
6270
6271 PARAMETERS
6272
6273 IN
6274 wdiStatus: response status received from HAL
6275 pUserData: user data
6276
6277
6278
6279 RETURN VALUE
6280 The result code associated with performing the operation
6281---------------------------------------------------------------------------*/
6282typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6283 void* pUserData);
6284
6285
6286/*---------------------------------------------------------------------------
6287 WDI_StartRspCb
6288
6289 DESCRIPTION
6290
6291 This callback is invoked by DAL when it has received a Join response from
6292 the underlying device.
6293
6294 PARAMETERS
6295
6296 IN
6297 wdiStatus: response status received from HAL
6298 pUserData: user data
6299
6300
6301
6302 RETURN VALUE
6303 The result code associated with performing the operation
6304---------------------------------------------------------------------------*/
6305typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6306 void* pUserData);
6307
6308
6309/*---------------------------------------------------------------------------
6310 WDI_StartRspCb
6311
6312 DESCRIPTION
6313
6314 This callback is invoked by DAL when it has received a Config BSS response
6315 from the underlying device.
6316
6317 PARAMETERS
6318
6319 IN
6320 wdiConfigBSSRsp: response parameters received from HAL
6321 pUserData: user data
6322
6323
6324 RETURN VALUE
6325 The result code associated with performing the operation
6326---------------------------------------------------------------------------*/
6327typedef void (*WDI_ConfigBSSRspCb)(
6328 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6329 void* pUserData);
6330
6331
6332/*---------------------------------------------------------------------------
6333 WDI_StartRspCb
6334
6335 DESCRIPTION
6336
6337 This callback is invoked by DAL when it has received a Del BSS response from
6338 the underlying device.
6339
6340 PARAMETERS
6341
6342 IN
6343 wdiDelBSSRsp: response parameters received from HAL
6344 pUserData: user data
6345
6346
6347 RETURN VALUE
6348 The result code associated with performing the operation
6349---------------------------------------------------------------------------*/
6350typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6351 void* pUserData);
6352
6353
6354/*---------------------------------------------------------------------------
6355 WDI_StartRspCb
6356
6357 DESCRIPTION
6358
6359 This callback is invoked by DAL when it has received a Post Assoc response
6360 from the underlying device.
6361
6362 PARAMETERS
6363
6364 IN
6365 wdiRspParams: response parameters received from HAL
6366 pUserData: user data
6367
6368
6369 RETURN VALUE
6370 The result code associated with performing the operation
6371---------------------------------------------------------------------------*/
6372typedef void (*WDI_PostAssocRspCb)(
6373 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6374 void* pUserData);
6375
6376
6377/*---------------------------------------------------------------------------
6378 WDI_StartRspCb
6379
6380 DESCRIPTION
6381
6382 This callback is invoked by DAL when it has received a Del STA response from
6383 the underlying device.
6384
6385 PARAMETERS
6386
6387 IN
6388 wdiDelSTARsp: response parameters received from HAL
6389 pUserData: user data
6390
6391
6392 RETURN VALUE
6393 The result code associated with performing the operation
6394---------------------------------------------------------------------------*/
6395typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6396 void* pUserData);
6397
6398
6399
6400/*---------------------------------------------------------------------------
6401 WDI_StartRspCb
6402
6403 DESCRIPTION
6404
6405 This callback is invoked by DAL when it has received a Set BSS Key response
6406 from the underlying device.
6407
6408 PARAMETERS
6409
6410 IN
6411 wdiStatus: response status received from HAL
6412 pUserData: user data
6413
6414
6415
6416 RETURN VALUE
6417 The result code associated with performing the operation
6418---------------------------------------------------------------------------*/
6419typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6420 void* pUserData);
6421
6422/*---------------------------------------------------------------------------
6423 WDI_StartRspCb
6424
6425 DESCRIPTION
6426
6427 This callback is invoked by DAL when it has received a Remove BSS Key
6428 response from the underlying device.
6429
6430 PARAMETERS
6431
6432 IN
6433 wdiStatus: response status received from HAL
6434 pUserData: user data
6435
6436
6437
6438 RETURN VALUE
6439 The result code associated with performing the operation
6440---------------------------------------------------------------------------*/
6441typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6442 void* pUserData);
6443
6444/*---------------------------------------------------------------------------
6445 WDI_StartRspCb
6446
6447 DESCRIPTION
6448
6449 This callback is invoked by DAL when it has received a Set STA Key response
6450 from the underlying device.
6451
6452 PARAMETERS
6453
6454 IN
6455 wdiStatus: response status received from HAL
6456 pUserData: user data
6457
6458
Jeff Johnson295189b2012-06-20 16:38:30 -07006459 RETURN VALUE
6460 The result code associated with performing the operation
6461---------------------------------------------------------------------------*/
6462typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6463 void* pUserData);
6464
Jeff Johnson295189b2012-06-20 16:38:30 -07006465/*---------------------------------------------------------------------------
6466 WDI_StartRspCb
6467
6468 DESCRIPTION
6469
6470 This callback is invoked by DAL when it has received a Remove STA Key
6471 response from the underlying device.
6472
6473 PARAMETERS
6474
6475 IN
6476 wdiStatus: response status received from HAL
6477 pUserData: user data
6478
Siddharth Bhal171788a2014-09-29 21:02:40 +05306479
Jeff Johnson295189b2012-06-20 16:38:30 -07006480 RETURN VALUE
6481 The result code associated with performing the operation
6482---------------------------------------------------------------------------*/
6483typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6484 void* pUserData);
6485
6486
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006487#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006488/*---------------------------------------------------------------------------
6489 WDI_TsmRspCb
6490
6491 DESCRIPTION
6492
6493 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6494
6495 PARAMETERS
6496
6497 IN
6498 pTSMStats: response status received from HAL
6499 pUserData: user data
6500
6501
6502
6503 RETURN VALUE
6504 The result code associated with performing the operation
6505---------------------------------------------------------------------------*/
6506typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6507 void* pUserData);
6508#endif
6509
6510/*---------------------------------------------------------------------------
6511 WDI_StartRspCb
6512
6513 DESCRIPTION
6514
6515 This callback is invoked by DAL when it has received a Add TS response from
6516 the underlying device.
6517
6518 PARAMETERS
6519
6520 IN
6521 wdiStatus: response status received from HAL
6522 pUserData: user data
6523
6524
6525
6526 RETURN VALUE
6527 The result code associated with performing the operation
6528---------------------------------------------------------------------------*/
6529typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6530 void* pUserData);
6531
6532/*---------------------------------------------------------------------------
6533 WDI_StartRspCb
6534
6535 DESCRIPTION
6536
6537 This callback is invoked by DAL when it has received a Del TS response from
6538 the underlying device.
6539
6540 PARAMETERS
6541
6542 IN
6543 wdiStatus: response status received from HAL
6544 pUserData: user data
6545
6546
6547
6548 RETURN VALUE
6549 The result code associated with performing the operation
6550---------------------------------------------------------------------------*/
6551typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6552 void* pUserData);
6553
6554/*---------------------------------------------------------------------------
6555 WDI_StartRspCb
6556
6557 DESCRIPTION
6558
6559 This callback is invoked by DAL when it has received an Update EDCA Params
6560 response from the underlying device.
6561
6562 PARAMETERS
6563
6564 IN
6565 wdiStatus: response status received from HAL
6566 pUserData: user data
6567
6568
6569
6570 RETURN VALUE
6571 The result code associated with performing the operation
6572---------------------------------------------------------------------------*/
6573typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6574 void* pUserData);
6575
6576/*---------------------------------------------------------------------------
6577 WDI_StartRspCb
6578
6579 DESCRIPTION
6580
6581 This callback is invoked by DAL when it has received a Add BA response from
6582 the underlying device.
6583
6584 PARAMETERS
6585
6586 IN
6587 wdiStatus: response status received from HAL
6588 pUserData: user data
6589
6590
6591
6592 RETURN VALUE
6593 The result code associated with performing the operation
6594---------------------------------------------------------------------------*/
6595typedef void (*WDI_AddBASessionRspCb)(
6596 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6597 void* pUserData);
6598
6599
6600/*---------------------------------------------------------------------------
6601 WDI_StartRspCb
6602
6603 DESCRIPTION
6604
6605 This callback is invoked by DAL when it has received a Del BA response from
6606 the underlying device.
6607
6608 PARAMETERS
6609
6610 IN
6611 wdiStatus: response status received from HAL
6612 pUserData: user data
6613
6614
6615
6616 RETURN VALUE
6617 The result code associated with performing the operation
6618---------------------------------------------------------------------------*/
6619typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6620 void* pUserData);
6621
6622
6623/*---------------------------------------------------------------------------
6624 WDI_StartRspCb
6625
6626 DESCRIPTION
6627
6628 This callback is invoked by DAL when it has received a Switch Ch response
6629 from the underlying device.
6630
6631 PARAMETERS
6632
6633 IN
6634 wdiRspParams: response parameters received from HAL
6635 pUserData: user data
6636
6637
6638 RETURN VALUE
6639 The result code associated with performing the operation
6640---------------------------------------------------------------------------*/
6641typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6642 void* pUserData);
6643
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006644typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6645 void* pUserData);
6646
Jeff Johnson295189b2012-06-20 16:38:30 -07006647
6648/*---------------------------------------------------------------------------
6649 WDI_StartRspCb
6650
6651 DESCRIPTION
6652
6653 This callback is invoked by DAL when it has received a Config STA response
6654 from the underlying device.
6655
6656 PARAMETERS
6657
6658 IN
6659 wdiRspParams: response parameters received from HAL
6660 pUserData: user data
6661
6662
6663 RETURN VALUE
6664 The result code associated with performing the operation
6665---------------------------------------------------------------------------*/
6666typedef void (*WDI_ConfigSTARspCb)(
6667 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6668 void* pUserData);
6669
6670
6671/*---------------------------------------------------------------------------
6672 WDI_StartRspCb
6673
6674 DESCRIPTION
6675
6676 This callback is invoked by DAL when it has received a Set Link State
6677 response from the underlying device.
6678
6679 PARAMETERS
6680
6681 IN
6682 wdiRspParams: response parameters received from HAL
6683 pUserData: user data
6684
6685
6686 RETURN VALUE
6687 The result code associated with performing the operation
6688---------------------------------------------------------------------------*/
6689typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6690 void* pUserData);
6691
6692
6693/*---------------------------------------------------------------------------
6694 WDI_StartRspCb
6695
6696 DESCRIPTION
6697
6698 This callback is invoked by DAL when it has received a Get Stats response
6699 from the underlying device.
6700
6701 PARAMETERS
6702
6703 IN
6704 wdiRspParams: response parameters received from HAL
6705 pUserData: user data
6706
6707
6708 RETURN VALUE
6709 The result code associated with performing the operation
6710---------------------------------------------------------------------------*/
6711typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6712 void* pUserData);
6713
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006714#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006715/*---------------------------------------------------------------------------
6716 WDI_GetRoamRssiRspCb
6717
6718 DESCRIPTION
6719
6720 This callback is invoked by DAL when it has received a Get Roam Rssi response
6721 from the underlying device.
6722
6723 PARAMETERS
6724
6725 IN
6726 wdiRspParams: response parameters received from HAL
6727 pUserData: user data
6728
6729
6730 RETURN VALUE
6731 The result code associated with performing the operation
6732---------------------------------------------------------------------------*/
6733typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6734 void* pUserData);
6735#endif
6736
Jeff Johnson295189b2012-06-20 16:38:30 -07006737
6738/*---------------------------------------------------------------------------
6739 WDI_StartRspCb
6740
6741 DESCRIPTION
6742
6743 This callback is invoked by DAL when it has received a Update Cfg response
6744 from the underlying device.
6745
6746 PARAMETERS
6747
6748 IN
6749 wdiStatus: response status received from HAL
6750 pUserData: user data
6751
6752
6753 RETURN VALUE
6754 The result code associated with performing the operation
6755---------------------------------------------------------------------------*/
6756typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6757 void* pUserData);
6758
6759/*---------------------------------------------------------------------------
6760 WDI_AddBARspCb
6761
6762 DESCRIPTION
6763
6764 This callback is invoked by DAL when it has received a ADD BA response
6765 from the underlying device.
6766
6767 PARAMETERS
6768
6769 IN
6770 wdiStatus: response status received from HAL
6771 pUserData: user data
6772
6773
6774 RETURN VALUE
6775 The result code associated with performing the operation
6776---------------------------------------------------------------------------*/
6777typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6778 void* pUserData);
6779
6780/*---------------------------------------------------------------------------
6781 WDI_TriggerBARspCb
6782
6783 DESCRIPTION
6784
6785 This callback is invoked by DAL when it has received a ADD BA response
6786 from the underlying device.
6787
6788 PARAMETERS
6789
6790 IN
6791 wdiStatus: response status received from HAL
6792 pUserData: user data
6793
6794
6795 RETURN VALUE
6796 The result code associated with performing the operation
6797---------------------------------------------------------------------------*/
6798typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6799 void* pUserData);
6800
6801
6802/*---------------------------------------------------------------------------
6803 WDI_UpdateBeaconParamsRspCb
6804
6805 DESCRIPTION
6806
6807 This callback is invoked by DAL when it has received a Update Beacon Params response from
6808 the underlying device.
6809
6810 PARAMETERS
6811
6812 IN
6813 wdiStatus: response status received from HAL
6814 pUserData: user data
6815
6816
6817
6818 RETURN VALUE
6819 The result code associated with performing the operation
6820---------------------------------------------------------------------------*/
6821typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6822 void* pUserData);
6823
6824/*---------------------------------------------------------------------------
6825 WDI_SendBeaconParamsRspCb
6826
6827 DESCRIPTION
6828
6829 This callback is invoked by DAL when it has received a Send Beacon Params response from
6830 the underlying device.
6831
6832 PARAMETERS
6833
6834 IN
6835 wdiStatus: response status received from HAL
6836 pUserData: user data
6837
6838
6839
6840 RETURN VALUE
6841 The result code associated with performing the operation
6842---------------------------------------------------------------------------*/
6843typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6844 void* pUserData);
6845
6846/*---------------------------------------------------------------------------
6847 WDA_SetMaxTxPowerRspCb
6848
6849 DESCRIPTION
6850
6851 This callback is invoked by DAL when it has received a set max Tx Power response from
6852 the underlying device.
6853
6854 PARAMETERS
6855
6856 IN
6857 wdiStatus: response status received from HAL
6858 pUserData: user data
6859
6860
6861
6862 RETURN VALUE
6863 The result code associated with performing the operation
6864---------------------------------------------------------------------------*/
6865typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6866 void* pUserData);
6867
6868/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006869 WDA_SetMaxTxPowerPerBandRspCb
6870
6871 DESCRIPTION
6872
6873 This callback is invoked by DAL when it has received a
6874 set max Tx Power Per Band response from the underlying device.
6875
6876 PARAMETERS
6877
6878 IN
6879 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6880 pUserData: user data
6881
6882 RETURN VALUE
6883 The result code associated with performing the operation
6884---------------------------------------------------------------------------*/
6885typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6886 *wdiSetMaxTxPowerPerBandRsp,
6887 void* pUserData);
6888
6889/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006890 WDA_SetTxPowerRspCb
6891
6892 DESCRIPTION
6893
6894 This callback is invoked by DAL when it has received a set max Tx Power response from
6895 the underlying device.
6896
6897 PARAMETERS
6898
6899 IN
6900 wdiStatus: response status received from HAL
6901 pUserData: user data
6902
6903 RETURN VALUE
6904 The result code associated with performing the operation
6905---------------------------------------------------------------------------*/
6906typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6907 void* pUserData);
6908
6909/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006910 WDI_UpdateProbeRspTemplateRspCb
6911
6912 DESCRIPTION
6913
6914 This callback is invoked by DAL when it has received a Probe RSP Template
6915 Update response from the underlying device.
6916
6917 PARAMETERS
6918
6919 IN
6920 wdiStatus: response status received from HAL
6921 pUserData: user data
6922
6923
6924
6925 RETURN VALUE
6926 The result code associated with performing the operation
6927---------------------------------------------------------------------------*/
6928typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6929 void* pUserData);
6930
Jeff Johnson295189b2012-06-20 16:38:30 -07006931/*---------------------------------------------------------------------------
6932 WDI_SetP2PGONOAReqParamsRspCb
6933
6934 DESCRIPTION
6935
6936 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6937 the underlying device.
6938
6939 PARAMETERS
6940
6941 IN
6942 wdiStatus: response status received from HAL
6943 pUserData: user data
6944
6945
6946
6947 RETURN VALUE
6948 The result code associated with performing the operation
6949---------------------------------------------------------------------------*/
6950typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6951 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006952
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306953/*---------------------------------------------------------------------------
6954 WDI_SetTDLSLinkEstablishReqParamsRspCb
6955
6956 DESCRIPTION
6957
6958 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6959 the underlying device.
6960
6961 PARAMETERS
6962
6963 IN
6964 wdiStatus: response status received from HAL
6965 pUserData: user data
6966
6967
6968
6969 RETURN VALUE
6970 The result code associated with performing the operation
6971---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306972typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6973 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306974 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006975
6976/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05306977 WDI_SetTDLSChanSwitchReqParamsRspCb
6978
6979 DESCRIPTION
6980
6981 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6982 the underlying device.
6983
6984 PARAMETERS
6985
6986 IN
6987 wdiStatus: response status received from HAL
6988 pUserData: user data
6989
6990
6991
6992 RETURN VALUE
6993 The result code associated with performing the operation
6994---------------------------------------------------------------------------*/
6995typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
6996 wdiSetTdlsChanSwitchReqRsp,
6997 void* pUserData);
6998/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006999 WDI_SetPwrSaveCfgCb
7000
7001 DESCRIPTION
7002
7003 This callback is invoked by DAL when it has received a set Power Save CFG
7004 response from the underlying device.
7005
7006 PARAMETERS
7007
7008 IN
7009 wdiStatus: response status received from HAL
7010 pUserData: user data
7011
7012
7013
7014 RETURN VALUE
7015 The result code associated with performing the operation
7016---------------------------------------------------------------------------*/
7017typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
7018 void* pUserData);
7019
7020/*---------------------------------------------------------------------------
7021 WDI_SetUapsdAcParamsCb
7022
7023 DESCRIPTION
7024
7025 This callback is invoked by DAL when it has received a set UAPSD params
7026 response from the underlying device.
7027
7028 PARAMETERS
7029
7030 IN
7031 wdiStatus: response status received from HAL
7032 pUserData: user data
7033
7034
7035
7036 RETURN VALUE
7037 The result code associated with performing the operation
7038---------------------------------------------------------------------------*/
7039typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
7040 void* pUserData);
7041
7042/*---------------------------------------------------------------------------
7043 WDI_EnterImpsRspCb
7044
7045 DESCRIPTION
7046
7047 This callback is invoked by DAL when it has received a Enter IMPS response
7048 from the underlying device.
7049
7050 PARAMETERS
7051
7052 IN
7053 wdiStatus: response status received from HAL
7054 pUserData: user data
7055
7056
7057
7058 RETURN VALUE
7059 The result code associated with performing the operation
7060---------------------------------------------------------------------------*/
7061typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
7062 void* pUserData);
7063
7064/*---------------------------------------------------------------------------
7065 WDI_ExitImpsRspCb
7066
7067 DESCRIPTION
7068
7069 This callback is invoked by DAL when it has received a Exit IMPS response
7070 from the underlying device.
7071
7072 PARAMETERS
7073
7074 IN
7075 wdiStatus: response status received from HAL
7076 pUserData: user data
7077
7078
7079
7080 RETURN VALUE
7081 The result code associated with performing the operation
7082---------------------------------------------------------------------------*/
7083typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
7084 void* pUserData);
7085
7086/*---------------------------------------------------------------------------
7087 WDI_EnterBmpsRspCb
7088
7089 DESCRIPTION
7090
7091 This callback is invoked by DAL when it has received a enter BMPS response
7092 from the underlying device.
7093
7094 PARAMETERS
7095
7096 IN
7097 wdiStatus: response status received from HAL
7098 pUserData: user data
7099
7100
7101
7102 RETURN VALUE
7103 The result code associated with performing the operation
7104---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007105typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007106 void* pUserData);
7107
7108/*---------------------------------------------------------------------------
7109 WDI_ExitBmpsRspCb
7110
7111 DESCRIPTION
7112
7113 This callback is invoked by DAL when it has received a exit BMPS response
7114 from the underlying device.
7115
7116 PARAMETERS
7117
7118 IN
7119 wdiStatus: response status received from HAL
7120 pUserData: user data
7121
7122
7123
7124 RETURN VALUE
7125 The result code associated with performing the operation
7126---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007127typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007128 void* pUserData);
7129
7130/*---------------------------------------------------------------------------
7131 WDI_EnterUapsdRspCb
7132
7133 DESCRIPTION
7134
7135 This callback is invoked by DAL when it has received a enter UAPSD response
7136 from the underlying device.
7137
7138 PARAMETERS
7139
7140 IN
7141 wdiStatus: response status received from HAL
7142 pUserData: user data
7143
7144
7145
7146 RETURN VALUE
7147 The result code associated with performing the operation
7148---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007149typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007150 void* pUserData);
7151
7152/*---------------------------------------------------------------------------
7153 WDI_ExitUapsdRspCb
7154
7155 DESCRIPTION
7156
7157 This callback is invoked by DAL when it has received a exit UAPSD response
7158 from the underlying device.
7159
7160 PARAMETERS
7161
7162 IN
7163 wdiStatus: response status received from HAL
7164 pUserData: user data
7165
7166
7167
7168 RETURN VALUE
7169 The result code associated with performing the operation
7170---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007171typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007172 void* pUserData);
7173
7174/*---------------------------------------------------------------------------
7175 WDI_UpdateUapsdParamsCb
7176
7177 DESCRIPTION
7178
7179 This callback is invoked by DAL when it has received a update UAPSD params
7180 response from the underlying device.
7181
7182 PARAMETERS
7183
7184 IN
7185 wdiStatus: response status received from HAL
7186 pUserData: user data
7187
7188
7189
7190 RETURN VALUE
7191 The result code associated with performing the operation
7192---------------------------------------------------------------------------*/
7193typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7194 void* pUserData);
7195
7196/*---------------------------------------------------------------------------
7197 WDI_ConfigureRxpFilterCb
7198
7199 DESCRIPTION
7200
7201 This callback is invoked by DAL when it has received a config RXP filter
7202 response from the underlying device.
7203
7204 PARAMETERS
7205
7206 IN
7207 wdiStatus: response status received from HAL
7208 pUserData: user data
7209
7210
7211
7212 RETURN VALUE
7213 The result code associated with performing the operation
7214---------------------------------------------------------------------------*/
7215typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7216 void* pUserData);
7217
7218/*---------------------------------------------------------------------------
7219 WDI_SetBeaconFilterCb
7220
7221 DESCRIPTION
7222
7223 This callback is invoked by DAL when it has received a set beacon filter
7224 response from the underlying device.
7225
7226 PARAMETERS
7227
7228 IN
7229 wdiStatus: response status received from HAL
7230 pUserData: user data
7231
7232
7233
7234 RETURN VALUE
7235 The result code associated with performing the operation
7236---------------------------------------------------------------------------*/
7237typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7238 void* pUserData);
7239
7240/*---------------------------------------------------------------------------
7241 WDI_RemBeaconFilterCb
7242
7243 DESCRIPTION
7244
7245 This callback is invoked by DAL when it has received a remove beacon filter
7246 response from the underlying device.
7247
7248 PARAMETERS
7249
7250 IN
7251 wdiStatus: response status received from HAL
7252 pUserData: user data
7253
7254
7255
7256 RETURN VALUE
7257 The result code associated with performing the operation
7258---------------------------------------------------------------------------*/
7259typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7260 void* pUserData);
7261
7262/*---------------------------------------------------------------------------
7263 WDI_SetRSSIThresholdsCb
7264
7265 DESCRIPTION
7266
7267 This callback is invoked by DAL when it has received a set RSSI thresholds
7268 response from the underlying device.
7269
7270 PARAMETERS
7271
7272 IN
7273 wdiStatus: response status received from HAL
7274 pUserData: user data
7275
7276
7277
7278 RETURN VALUE
7279 The result code associated with performing the operation
7280---------------------------------------------------------------------------*/
7281typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7282 void* pUserData);
7283
7284/*---------------------------------------------------------------------------
7285 WDI_HostOffloadCb
7286
7287 DESCRIPTION
7288
7289 This callback is invoked by DAL when it has received a host offload
7290 response from the underlying device.
7291
7292 PARAMETERS
7293
7294 IN
7295 wdiStatus: response status received from HAL
7296 pUserData: user data
7297
7298
7299
7300 RETURN VALUE
7301 The result code associated with performing the operation
7302---------------------------------------------------------------------------*/
7303typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7304 void* pUserData);
7305
7306/*---------------------------------------------------------------------------
7307 WDI_KeepAliveCb
7308
7309 DESCRIPTION
7310
7311 This callback is invoked by DAL when it has received a Keep Alive
7312 response from the underlying device.
7313
7314 PARAMETERS
7315
7316 IN
7317 wdiStatus: response status received from HAL
7318 pUserData: user data
7319
7320
7321
7322 RETURN VALUE
7323 The result code associated with performing the operation
7324---------------------------------------------------------------------------*/
7325typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7326 void* pUserData);
7327
7328/*---------------------------------------------------------------------------
7329 WDI_WowlAddBcPtrnCb
7330
7331 DESCRIPTION
7332
7333 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7334 response from the underlying device.
7335
7336 PARAMETERS
7337
7338 IN
7339 wdiStatus: response status received from HAL
7340 pUserData: user data
7341
7342
7343
7344 RETURN VALUE
7345 The result code associated with performing the operation
7346---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007347typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007348 void* pUserData);
7349
7350/*---------------------------------------------------------------------------
7351 WDI_WowlDelBcPtrnCb
7352
7353 DESCRIPTION
7354
7355 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7356 response from the underlying device.
7357
7358 PARAMETERS
7359
7360 IN
7361 wdiStatus: response status received from HAL
7362 pUserData: user data
7363
7364
7365
7366 RETURN VALUE
7367 The result code associated with performing the operation
7368---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007369typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007370 void* pUserData);
7371
7372/*---------------------------------------------------------------------------
7373 WDI_WowlEnterReqCb
7374
7375 DESCRIPTION
7376
7377 This callback is invoked by DAL when it has received a Wowl enter
7378 response from the underlying device.
7379
7380 PARAMETERS
7381
7382 IN
7383 wdiStatus: response status received from HAL
7384 pUserData: user data
7385
7386
7387
7388 RETURN VALUE
7389 The result code associated with performing the operation
7390---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007391typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7392 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007393
7394/*---------------------------------------------------------------------------
7395 WDI_WowlExitReqCb
7396
7397 DESCRIPTION
7398
7399 This callback is invoked by DAL when it has received a Wowl exit
7400 response from the underlying device.
7401
7402 PARAMETERS
7403
7404 IN
7405 wdiStatus: response status received from HAL
7406 pUserData: user data
7407
7408
7409
7410 RETURN VALUE
7411 The result code associated with performing the operation
7412---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007413typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007414 void* pUserData);
7415
7416/*---------------------------------------------------------------------------
7417 WDI_ConfigureAppsCpuWakeupStateCb
7418
7419 DESCRIPTION
7420
7421 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7422 State response from the underlying device.
7423
7424 PARAMETERS
7425
7426 IN
7427 wdiStatus: response status received from HAL
7428 pUserData: user data
7429
7430
7431
7432 RETURN VALUE
7433 The result code associated with performing the operation
7434---------------------------------------------------------------------------*/
7435typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7436 void* pUserData);
7437/*---------------------------------------------------------------------------
7438 WDI_NvDownloadRspCb
7439
7440 DESCRIPTION
7441
7442 This callback is invoked by DAL when it has received a NV Download response
7443 from the underlying device.
7444
7445 PARAMETERS
7446
7447 IN
7448 wdiStatus:response status received from HAL
7449 pUserData:user data
7450
7451 RETURN VALUE
7452 The result code associated with performing the operation
7453---------------------------------------------------------------------------*/
7454typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7455 void* pUserData);
7456/*---------------------------------------------------------------------------
7457 WDI_FlushAcRspCb
7458
7459 DESCRIPTION
7460
7461 This callback is invoked by DAL when it has received a Flush AC response from
7462 the underlying device.
7463
7464 PARAMETERS
7465
7466 IN
7467 wdiStatus: response status received from HAL
7468 pUserData: user data
7469
7470
7471
7472 RETURN VALUE
7473 The result code associated with performing the operation
7474---------------------------------------------------------------------------*/
7475typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7476 void* pUserData);
7477
7478/*---------------------------------------------------------------------------
7479 WDI_BtAmpEventRspCb
7480
7481 DESCRIPTION
7482
7483 This callback is invoked by DAL when it has received a Bt AMP event response
7484 from the underlying device.
7485
7486 PARAMETERS
7487
7488 IN
7489 wdiStatus: response status received from HAL
7490 pUserData: user data
7491
7492
7493
7494 RETURN VALUE
7495 The result code associated with performing the operation
7496---------------------------------------------------------------------------*/
7497typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7498 void* pUserData);
7499
Jeff Johnsone7245742012-09-05 17:12:55 -07007500#ifdef FEATURE_OEM_DATA_SUPPORT
7501/*---------------------------------------------------------------------------
7502 WDI_oemDataRspCb
7503
7504 DESCRIPTION
7505
7506 This callback is invoked by DAL when it has received a Start oem data response from
7507 the underlying device.
7508
7509 PARAMETERS
7510
7511 IN
7512 wdiStatus: response status received from HAL
7513 pUserData: user data
7514
7515
7516
7517 RETURN VALUE
7518 The result code associated with performing the operation
7519---------------------------------------------------------------------------*/
7520typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7521 void* pUserData);
7522
7523#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007524
7525/*---------------------------------------------------------------------------
7526 WDI_HostResumeEventRspCb
7527
7528 DESCRIPTION
7529
7530 This callback is invoked by DAL when it has received a Bt AMP event response
7531 from the underlying device.
7532
7533 PARAMETERS
7534
7535 IN
7536 wdiStatus: response status received from HAL
7537 pUserData: user data
7538
7539
7540
7541 RETURN VALUE
7542 The result code associated with performing the operation
7543---------------------------------------------------------------------------*/
7544typedef void (*WDI_HostResumeEventRspCb)(
7545 WDI_SuspendResumeRspParamsType *resumeRspParams,
7546 void* pUserData);
7547
7548
7549#ifdef WLAN_FEATURE_VOWIFI_11R
7550/*---------------------------------------------------------------------------
7551 WDI_AggrAddTsRspCb
7552
7553 DESCRIPTION
7554
7555 This callback is invoked by DAL when it has received a Aggregated Add TS
7556 response from the underlying device.
7557
7558 PARAMETERS
7559
7560 IN
7561 wdiStatus: response status received from HAL
7562 pUserData: user data
7563
7564
7565
7566 RETURN VALUE
7567 The result code associated with performing the operation
7568---------------------------------------------------------------------------*/
7569typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7570 void* pUserData);
7571#endif /* WLAN_FEATURE_VOWIFI_11R */
7572
Jeff Johnson295189b2012-06-20 16:38:30 -07007573/*---------------------------------------------------------------------------
7574 WDI_FTMCommandRspCb
7575
7576 DESCRIPTION
7577
7578 FTM Command response CB
7579
7580 PARAMETERS
7581
7582 IN
7583 ftmCMDRspdata: FTM response data from HAL
7584 pUserData: user data
7585
7586
7587 RETURN VALUE
7588 NONE
7589---------------------------------------------------------------------------*/
7590typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7591 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007592
7593/*---------------------------------------------------------------------------
7594 WDI_AddSTASelfParamsRspCb
7595
7596 DESCRIPTION
7597
7598 This callback is invoked by DAL when it has received a Add Sta Self Params
7599 response from the underlying device.
7600
7601 PARAMETERS
7602
7603 IN
7604 wdiAddSelfSTARsp: response status received from HAL
7605 pUserData: user data
7606
7607
7608
7609 RETURN VALUE
7610 The result code associated with performing the operation
7611---------------------------------------------------------------------------*/
7612typedef void (*WDI_AddSTASelfParamsRspCb)(
7613 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7614 void* pUserData);
7615
7616
7617/*---------------------------------------------------------------------------
7618 WDI_DelSTASelfRspCb
7619
7620 DESCRIPTION
7621
7622 This callback is invoked by DAL when it has received a host offload
7623 response from the underlying device.
7624
7625 PARAMETERS
7626
7627 IN
7628 wdiStatus: response status received from HAL
7629 pUserData: user data
7630
7631
7632
7633 RETURN VALUE
7634 The result code associated with performing the operation
7635---------------------------------------------------------------------------*/
7636typedef void (*WDI_DelSTASelfRspCb)
7637(
7638WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7639void* pUserData
7640);
7641
7642#ifdef FEATURE_WLAN_SCAN_PNO
7643/*---------------------------------------------------------------------------
7644 WDI_PNOScanCb
7645
7646 DESCRIPTION
7647
7648 This callback is invoked by DAL when it has received a Set PNO
7649 response from the underlying device.
7650
7651 PARAMETERS
7652
7653 IN
7654 wdiStatus: response status received from HAL
7655 pUserData: user data
7656
7657
7658
7659 RETURN VALUE
7660 The result code associated with performing the operation
7661---------------------------------------------------------------------------*/
7662typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7663 void* pUserData);
7664
7665/*---------------------------------------------------------------------------
7666 WDI_PNOScanCb
7667
7668 DESCRIPTION
7669
7670 This callback is invoked by DAL when it has received a Set PNO
7671 response from the underlying device.
7672
7673 PARAMETERS
7674
7675 IN
7676 wdiStatus: response status received from HAL
7677 pUserData: user data
7678
7679
7680
7681 RETURN VALUE
7682 The result code associated with performing the operation
7683---------------------------------------------------------------------------*/
7684typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7685 void* pUserData);
7686
7687/*---------------------------------------------------------------------------
7688 WDI_UpdateScanParamsCb
7689
7690 DESCRIPTION
7691
7692 This callback is invoked by DAL when it has received a Update Scan Params
7693 response from the underlying device.
7694
7695 PARAMETERS
7696
7697 IN
7698 wdiStatus: response status received from HAL
7699 pUserData: user data
7700
7701
7702
7703 RETURN VALUE
7704 The result code associated with performing the operation
7705---------------------------------------------------------------------------*/
7706typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7707 void* pUserData);
7708#endif // FEATURE_WLAN_SCAN_PNO
7709
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007710typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7711 void* pUserData);
7712
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007713#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7714/*---------------------------------------------------------------------------
7715 WDI_RoamOffloadScanCb
7716
7717 DESCRIPTION
7718
7719 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7720 response from the underlying device.
7721
7722 PARAMETERS
7723
7724 IN
7725 wdiStatus: response status received from HAL
7726 pUserData: user data
7727
7728
7729
7730 RETURN VALUE
7731 The result code associated with performing the operation
7732---------------------------------------------------------------------------*/
7733typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7734 void* pUserData);
7735
7736#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007737/*---------------------------------------------------------------------------
7738 WDI_SetTxPerTrackingRspCb
7739
7740 DESCRIPTION
7741
7742 This callback is invoked by DAL when it has received a Tx PER Tracking
7743 response from the underlying device.
7744
7745 PARAMETERS
7746
7747 IN
7748 wdiStatus: response status received from HAL
7749 pUserData: user data
7750
7751
7752
7753 RETURN VALUE
7754 The result code associated with performing the operation
7755---------------------------------------------------------------------------*/
7756typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7757 void* pUserData);
7758
7759#ifdef WLAN_FEATURE_PACKET_FILTERING
7760/*---------------------------------------------------------------------------
7761 WDI_8023MulticastListCb
7762
7763 DESCRIPTION
7764
7765 This callback is invoked by DAL when it has received a 8023 Multicast List
7766 response from the underlying device.
7767
7768 PARAMETERS
7769
7770 IN
7771 wdiStatus: response status received from HAL
7772 pUserData: user data
7773
7774
7775
7776 RETURN VALUE
7777 The result code associated with performing the operation
7778---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007779typedef void (*WDI_8023MulticastListCb)(
7780 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7781 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007782
7783/*---------------------------------------------------------------------------
7784 WDI_ReceiveFilterSetFilterCb
7785
7786 DESCRIPTION
7787
7788 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7789 response from the underlying device.
7790
7791 PARAMETERS
7792
7793 IN
7794 wdiStatus: response status received from HAL
7795 pUserData: user data
7796
7797
7798
7799 RETURN VALUE
7800 The result code associated with performing the operation
7801---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007802typedef void (*WDI_ReceiveFilterSetFilterCb)(
7803 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7804 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007805
7806/*---------------------------------------------------------------------------
7807 WDI_FilterMatchCountCb
7808
7809 DESCRIPTION
7810
7811 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7812 response from the underlying device.
7813
7814 PARAMETERS
7815
7816 IN
7817 wdiStatus: response status received from HAL
7818 pUserData: user data
7819
7820
7821
7822 RETURN VALUE
7823 The result code associated with performing the operation
7824---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007825typedef void (*WDI_FilterMatchCountCb)(
7826 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7827 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007828
7829/*---------------------------------------------------------------------------
7830 WDI_ReceiveFilterClearFilterCb
7831
7832 DESCRIPTION
7833
7834 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7835 response from the underlying device.
7836
7837 PARAMETERS
7838
7839 IN
7840 wdiStatus: response status received from HAL
7841 pUserData: user data
7842
7843
7844
7845 RETURN VALUE
7846 The result code associated with performing the operation
7847---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007848typedef void (*WDI_ReceiveFilterClearFilterCb)(
7849 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7850 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007851#endif // WLAN_FEATURE_PACKET_FILTERING
7852
7853/*---------------------------------------------------------------------------
7854 WDI_HALDumpCmdRspCb
7855
7856 DESCRIPTION
7857
7858 This callback is invoked by DAL when it has received a HAL DUMP Command
7859response from
7860 the HAL layer.
7861
7862 PARAMETERS
7863
7864 IN
7865 wdiHalDumpCmdRsp: response status received from HAL
7866 pUserData: user data
7867
7868
7869
7870 RETURN VALUE
7871 The result code associated with performing the operation
7872---------------------------------------------------------------------------*/
7873typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7874 void* pUserData);
7875
7876/*---------------------------------------------------------------------------
7877 WDI_SetPowerParamsCb
7878
7879 DESCRIPTION
7880
7881 This callback is invoked by DAL when it has received a Set Power Param
7882 response from the underlying device.
7883
7884 PARAMETERS
7885
7886 IN
7887 wdiStatus: response status received from HAL
7888 pUserData: user data
7889
7890
7891
7892 RETURN VALUE
7893 The result code associated with performing the operation
7894---------------------------------------------------------------------------*/
7895typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7896 void* pUserData);
7897
7898#ifdef WLAN_FEATURE_GTK_OFFLOAD
7899/*---------------------------------------------------------------------------
7900 WDI_GtkOffloadCb
7901
7902 DESCRIPTION
7903
7904 This callback is invoked by DAL when it has received a GTK offload
7905 response from the underlying device.
7906
7907 PARAMETERS
7908
7909 IN
7910 wdiStatus: response status received from HAL
7911 pUserData: user data
7912
7913
7914
7915 RETURN VALUE
7916 The result code associated with performing the operation
7917---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007918typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007919 void* pUserData);
7920
7921/*---------------------------------------------------------------------------
7922 WDI_GtkOffloadGetInfoCb
7923
7924 DESCRIPTION
7925
7926 This callback is invoked by DAL when it has received a GTK offload
7927 information response from the underlying device.
7928
7929 PARAMETERS
7930
7931 IN
7932 wdiStatus: response status received from HAL
7933 pUserData: user data
7934
7935
7936
7937 RETURN VALUE
7938 The result code associated with performing the operation
7939---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007940typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007941 void* pUserData);
7942#endif // WLAN_FEATURE_GTK_OFFLOAD
7943
7944/*---------------------------------------------------------------------------
7945 WDI_SetTmLevelCb
7946
7947 DESCRIPTION
7948
7949 This callback is invoked by DAL when it has received a Set New TM Level
7950 done response from the underlying device.
7951
7952 PARAMETERS
7953
7954 IN
7955 wdiStatus: response status received from HAL
7956 pUserData: user data
7957
7958
7959
7960 RETURN VALUE
7961 The result code associated with performing the operation
7962---------------------------------------------------------------------------*/
7963typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7964 void* pUserData);
7965
7966/*---------------------------------------------------------------------------
7967 WDI_featureCapsExchangeCb
7968
7969 DESCRIPTION
7970
7971 This callback is invoked by DAL when it has received a HAL Feature Capbility
7972 Exchange Response the HAL layer. This callback is put to mantain code
7973 similarity and is not being used right now.
7974
7975 PARAMETERS
7976
7977 IN
7978 wdiFeatCapRspParams: response parameters received from HAL
7979 pUserData: user data
7980
7981 RETURN VALUE
7982 The result code associated with performing the operation
7983---------------------------------------------------------------------------*/
7984typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7985 void* pUserData);
7986
Mohit Khanna4a70d262012-09-11 16:30:12 -07007987#ifdef WLAN_FEATURE_11AC
7988typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7989 void* pUserData);
7990#endif
7991
Leo Chang9056f462013-08-01 19:21:11 -07007992#ifdef FEATURE_WLAN_LPHB
7993typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7994 void* pUserData);
7995#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007996
Rajeev79dbe4c2013-10-05 11:03:42 +05307997#ifdef FEATURE_WLAN_BATCH_SCAN
7998/*---------------------------------------------------------------------------
7999 WDI_SetBatchScanCb
8000
8001 DESCRIPTION
8002
8003 This callback is invoked by DAL when it has received a get batch scan
8004 response from the underlying device.
8005
8006 PARAMETERS
8007
8008 IN
8009 wdiStatus: response status received from HAL
8010 pUserData: user data
8011
8012
8013
8014 RETURN VALUE
8015 The result code associated with performing the operation
8016---------------------------------------------------------------------------*/
8017typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
8018
8019#endif
8020
c_hpothu92367912014-05-01 15:18:17 +05308021typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
8022 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05308023
Dino Mycle41bdc942014-06-10 11:30:24 +05308024#ifdef WLAN_FEATURE_EXTSCAN
8025typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
8026 void *pUserData);
8027typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
8028 void *pUserData);
8029typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
8030 void *pUserData);
8031typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
8032 void *pUserData);
8033typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
8034 void *pUserData);
8035typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
8036 void *pUserData);
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05308037typedef void (*WDI_EXTScanSetSSIDHotlistRspCb)(void *pEventData,
8038 void *pUserData);
8039typedef void (*WDI_EXTScanResetSSIDHotlistRspCb)(void *pEventData,
8040 void *pUserData);
8041
8042
Dino Mycle41bdc942014-06-10 11:30:24 +05308043#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05308044
8045#ifdef WLAN_FEATURE_LINK_LAYER_STATS
8046typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
8047 void *pUserData);
8048typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
8049 void *pUserData);
8050typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
8051 void *pUserData);
8052#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05308053
8054typedef void (*WDI_SetSpoofMacAddrRspCb)(
8055 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308056
Abhishek Singh85b74712014-10-08 11:38:19 +05308057typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
8058 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308059
8060typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Siddharth Bhald1be97f2015-05-27 22:39:59 +05308061typedef void (*WDI_FWLoggingInitRspCb)(
8062 WDI_FWLoggingInitRspParamType *wdiRsp, void *pUserData);
Siddharth Bhal64246172015-02-27 01:04:37 +05308063typedef void (*WDI_GetFrameLogRspCb)(
8064 WDI_GetFrameLogRspParamType *wdiRsp, void *pUserData);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05308065typedef void (*WDI_FatalEventLogsRspCb)(
8066 WDI_FatalEventLogsRspParamType *wdiRsp, void *pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05308067
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +05308068typedef void (*WDI_MonModeRspCb)(void *pEventData,void *pUserData);
Katya Nigamf0511f62015-05-05 16:40:57 +05308069
Jeff Johnson295189b2012-06-20 16:38:30 -07008070/*========================================================================
8071 * Function Declarations and Documentation
8072 ==========================================================================*/
8073
8074/*========================================================================
8075
8076 INITIALIZATION APIs
8077
8078==========================================================================*/
8079
8080/**
8081 @brief WDI_Init is used to initialize the DAL.
8082
8083 DAL will allocate all the resources it needs. It will open PAL, it will also
8084 open both the data and the control transport which in their turn will open
8085 DXE/SMD or any other drivers that they need.
8086
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308087 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07008088 ppWDIGlobalCtx: output pointer of Global Context
8089 pWdiDevCapability: output pointer of device capability
8090
8091 @return Result of the function call
8092*/
8093WDI_Status
8094WDI_Init
8095(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308096 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07008097 void** ppWDIGlobalCtx,
8098 WDI_DeviceCapabilityType* pWdiDevCapability,
8099 unsigned int driverType
8100);
8101
8102/**
8103 @brief WDI_Start will be called when the upper MAC is ready to
8104 commence operation with the WLAN Device. Upon the call
8105 of this API the WLAN DAL will pack and send a HAL Start
8106 message to the lower RIVA sub-system if the SMD channel
8107 has been fully opened and the RIVA subsystem is up.
8108
8109 If the RIVA sub-system is not yet up and running DAL
8110 will queue the request for Open and will wait for the
8111 SMD notification before attempting to send down the
8112 message to HAL.
8113
8114 WDI_Init must have been called.
8115
8116 @param wdiStartParams: the start parameters as specified by
8117 the Device Interface
8118
8119 wdiStartRspCb: callback for passing back the response of
8120 the start operation received from the device
8121
8122 pUserData: user data will be passed back with the
8123 callback
8124
8125 @see WDI_Start
8126 @return Result of the function call
8127*/
8128WDI_Status
8129WDI_Start
8130(
8131 WDI_StartReqParamsType* pwdiStartParams,
8132 WDI_StartRspCb wdiStartRspCb,
8133 void* pUserData
8134);
8135
8136
8137/**
8138 @brief WDI_Stop will be called when the upper MAC is ready to
8139 stop any operation with the WLAN Device. Upon the call
8140 of this API the WLAN DAL will pack and send a HAL Stop
8141 message to the lower RIVA sub-system if the DAL Core is
8142 in started state.
8143
8144 In state BUSY this request will be queued.
8145
8146 Request will not be accepted in any other state.
8147
8148 WDI_Start must have been called.
8149
8150 @param wdiStopParams: the stop parameters as specified by
8151 the Device Interface
8152
8153 wdiStopRspCb: callback for passing back the response of
8154 the stop operation received from the device
8155
8156 pUserData: user data will be passed back with the
8157 callback
8158
8159 @see WDI_Start
8160 @return Result of the function call
8161*/
8162WDI_Status
8163WDI_Stop
8164(
8165 WDI_StopReqParamsType* pwdiStopParams,
8166 WDI_StopRspCb wdiStopRspCb,
8167 void* pUserData
8168);
8169
8170/**
8171 @brief WDI_Close will be called when the upper MAC no longer
8172 needs to interract with DAL. DAL will free its control
8173 block.
8174
8175 It is only accepted in state STOPPED.
8176
8177 WDI_Stop must have been called.
8178
8179 @param none
8180
8181 @see WDI_Stop
8182 @return Result of the function call
8183*/
8184WDI_Status
8185WDI_Close
8186(
8187 void
8188);
8189
8190
8191/**
8192 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8193 This will do most of the WDI stop & close
8194 operations without doing any handshake with Riva
8195
8196 This will also make sure that the control transport
8197 will NOT be closed.
8198
8199 This request will not be queued.
8200
8201
8202 WDI_Start must have been called.
8203
8204 @param closeTransport: Close control channel if this is set
8205
8206 @return Result of the function call
8207*/
8208WDI_Status
8209WDI_Shutdown
8210(
8211 wpt_boolean closeTransport
8212);
8213
8214/*========================================================================
8215
8216 SCAN APIs
8217
8218==========================================================================*/
8219
8220/**
8221 @brief WDI_InitScanReq will be called when the upper MAC wants
8222 the WLAN Device to get ready for a scan procedure. Upon
8223 the call of this API the WLAN DAL will pack and send a
8224 HAL Init Scan request message to the lower RIVA
8225 sub-system if DAL is in state STARTED.
8226
8227 In state BUSY this request will be queued. Request won't
8228 be allowed in any other state.
8229
8230 WDI_Start must have been called.
8231
8232 @param wdiInitScanParams: the init scan parameters as specified
8233 by the Device Interface
8234
8235 wdiInitScanRspCb: callback for passing back the response
8236 of the init scan operation received from the device
8237
8238 pUserData: user data will be passed back with the
8239 callback
8240
8241 @see WDI_Start
8242 @return Result of the function call
8243*/
8244WDI_Status
8245WDI_InitScanReq
8246(
8247 WDI_InitScanReqParamsType* pwdiInitScanParams,
8248 WDI_InitScanRspCb wdiInitScanRspCb,
8249 void* pUserData
8250);
8251
8252/**
8253 @brief WDI_StartScanReq will be called when the upper MAC
8254 wishes to change the Scan channel on the WLAN Device.
8255 Upon the call of this API the WLAN DAL will pack and
8256 send a HAL Start Scan request message to the lower RIVA
8257 sub-system if DAL is in state STARTED.
8258
8259 In state BUSY this request will be queued. Request won't
8260 be allowed in any other state.
8261
8262 WDI_InitScanReq must have been called.
8263
8264 @param wdiStartScanParams: the start scan parameters as
8265 specified by the Device Interface
8266
8267 wdiStartScanRspCb: callback for passing back the
8268 response of the start scan operation received from the
8269 device
8270
8271 pUserData: user data will be passed back with the
8272 callback
8273
8274 @see WDI_InitScanReq
8275 @return Result of the function call
8276*/
8277WDI_Status
8278WDI_StartScanReq
8279(
8280 WDI_StartScanReqParamsType* pwdiStartScanParams,
8281 WDI_StartScanRspCb wdiStartScanRspCb,
8282 void* pUserData
8283);
8284
8285
8286/**
8287 @brief WDI_EndScanReq will be called when the upper MAC is
8288 wants to end scanning for a particular channel that it
8289 had set before by calling Scan Start on the WLAN Device.
8290 Upon the call of this API the WLAN DAL will pack and
8291 send a HAL End Scan request message to the lower RIVA
8292 sub-system if DAL is in state STARTED.
8293
8294 In state BUSY this request will be queued. Request won't
8295 be allowed in any other state.
8296
8297 WDI_StartScanReq must have been called.
8298
8299 @param wdiEndScanParams: the end scan parameters as specified
8300 by the Device Interface
8301
8302 wdiEndScanRspCb: callback for passing back the response
8303 of the end scan operation received from the device
8304
8305 pUserData: user data will be passed back with the
8306 callback
8307
8308 @see WDI_StartScanReq
8309 @return Result of the function call
8310*/
8311WDI_Status
8312WDI_EndScanReq
8313(
8314 WDI_EndScanReqParamsType* pwdiEndScanParams,
8315 WDI_EndScanRspCb wdiEndScanRspCb,
8316 void* pUserData
8317);
8318
8319
8320/**
8321 @brief WDI_FinishScanReq will be called when the upper MAC has
8322 completed the scan process on the WLAN Device. Upon the
8323 call of this API the WLAN DAL will pack and send a HAL
8324 Finish Scan Request request message to the lower RIVA
8325 sub-system if DAL is in state STARTED.
8326
8327 In state BUSY this request will be queued. Request won't
8328 be allowed in any other state.
8329
8330 WDI_InitScanReq must have been called.
8331
8332 @param wdiFinishScanParams: the finish scan parameters as
8333 specified by the Device Interface
8334
8335 wdiFinishScanRspCb: callback for passing back the
8336 response of the finish scan operation received from the
8337 device
8338
8339 pUserData: user data will be passed back with the
8340 callback
8341
8342 @see WDI_InitScanReq
8343 @return Result of the function call
8344*/
8345WDI_Status
8346WDI_FinishScanReq
8347(
8348 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8349 WDI_FinishScanRspCb wdiFinishScanRspCb,
8350 void* pUserData
8351);
8352
8353/*========================================================================
8354
8355 ASSOCIATION APIs
8356
8357==========================================================================*/
8358
8359/**
8360 @brief WDI_JoinReq will be called when the upper MAC is ready
8361 to start an association procedure to a BSS. Upon the
8362 call of this API the WLAN DAL will pack and send a HAL
8363 Join request message to the lower RIVA sub-system if
8364 DAL is in state STARTED.
8365
8366 In state BUSY this request will be queued. Request won't
8367 be allowed in any other state.
8368
8369 WDI_Start must have been called.
8370
8371 @param wdiJoinParams: the join parameters as specified by
8372 the Device Interface
8373
8374 wdiJoinRspCb: callback for passing back the response of
8375 the join operation received from the device
8376
8377 pUserData: user data will be passed back with the
8378 callback
8379
8380 @see WDI_Start
8381 @return Result of the function call
8382*/
8383WDI_Status
8384WDI_JoinReq
8385(
8386 WDI_JoinReqParamsType* pwdiJoinParams,
8387 WDI_JoinRspCb wdiJoinRspCb,
8388 void* pUserData
8389);
8390
8391/**
8392 @brief WDI_ConfigBSSReq will be called when the upper MAC
8393 wishes to configure the newly acquired or in process of
8394 being acquired BSS to the HW . Upon the call of this API
8395 the WLAN DAL will pack and send a HAL Config BSS request
8396 message to the lower RIVA sub-system if DAL is in state
8397 STARTED.
8398
8399 In state BUSY this request will be queued. Request won't
8400 be allowed in any other state.
8401
8402 WDI_JoinReq must have been called.
8403
8404 @param wdiConfigBSSParams: the config BSS parameters as
8405 specified by the Device Interface
8406
8407 wdiConfigBSSRspCb: callback for passing back the
8408 response of the config BSS operation received from the
8409 device
8410
8411 pUserData: user data will be passed back with the
8412 callback
8413
8414 @see WDI_JoinReq
8415 @return Result of the function call
8416*/
8417WDI_Status
8418WDI_ConfigBSSReq
8419(
8420 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8421 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8422 void* pUserData
8423);
8424
8425/**
8426 @brief WDI_DelBSSReq will be called when the upper MAC is
8427 dissasociating from the BSS and wishes to notify HW.
8428 Upon the call of this API the WLAN DAL will pack and
8429 send a HAL Del BSS request message to the lower RIVA
8430 sub-system if DAL is in state STARTED.
8431
8432 In state BUSY this request will be queued. Request won't
8433 be allowed in any other state.
8434
8435 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8436
8437 @param wdiDelBSSParams: the del BSS parameters as specified by
8438 the Device Interface
8439
8440 wdiDelBSSRspCb: callback for passing back the response
8441 of the del bss operation received from the device
8442
8443 pUserData: user data will be passed back with the
8444 callback
8445
8446 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8447 @return Result of the function call
8448*/
8449WDI_Status
8450WDI_DelBSSReq
8451(
8452 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8453 WDI_DelBSSRspCb wdiDelBSSRspCb,
8454 void* pUserData
8455);
8456
8457/**
8458 @brief WDI_PostAssocReq will be called when the upper MAC has
8459 associated to a BSS and wishes to configure HW for
8460 associated state. Upon the call of this API the WLAN DAL
8461 will pack and send a HAL Post Assoc request message to
8462 the lower RIVA sub-system if DAL is in state STARTED.
8463
8464 In state BUSY this request will be queued. Request won't
8465 be allowed in any other state.
8466
8467 WDI_JoinReq must have been called.
8468
8469 @param wdiPostAssocReqParams: the assoc parameters as specified
8470 by the Device Interface
8471
8472 wdiPostAssocRspCb: callback for passing back the
8473 response of the post assoc operation received from the
8474 device
8475
8476 pUserData: user data will be passed back with the
8477 callback
8478
8479 @see WDI_JoinReq
8480 @return Result of the function call
8481*/
8482WDI_Status
8483WDI_PostAssocReq
8484(
8485 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8486 WDI_PostAssocRspCb wdiPostAssocRspCb,
8487 void* pUserData
8488);
8489
8490/**
8491 @brief WDI_DelSTAReq will be called when the upper MAC when an
8492 association with another STA has ended and the station
8493 must be deleted from HW. Upon the call of this API the
8494 WLAN DAL will pack and send a HAL Del STA request
8495 message to the lower RIVA sub-system if DAL is in state
8496 STARTED.
8497
8498 In state BUSY this request will be queued. Request won't
8499 be allowed in any other state.
8500
8501 WDI_PostAssocReq must have been called.
8502
8503 @param wdiDelSTAParams: the Del STA parameters as specified by
8504 the Device Interface
8505
8506 wdiDelSTARspCb: callback for passing back the response
8507 of the del STA operation received from the device
8508
8509 pUserData: user data will be passed back with the
8510 callback
8511
8512 @see WDI_PostAssocReq
8513 @return Result of the function call
8514*/
8515WDI_Status
8516WDI_DelSTAReq
8517(
8518 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8519 WDI_DelSTARspCb wdiDelSTARspCb,
8520 void* pUserData
8521);
8522
8523/*========================================================================
8524
8525 SECURITY APIs
8526
8527==========================================================================*/
8528
8529/**
8530 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8531 install a BSS encryption key on the HW. Upon the call of
8532 this API the WLAN DAL will pack and send a HAL Start
8533 request message to the lower RIVA sub-system if DAL is
8534 in state STARTED.
8535
8536 In state BUSY this request will be queued. Request won't
8537 be allowed in any other state.
8538
8539 WDI_PostAssocReq must have been called.
8540
8541 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8542 specified by the Device Interface
8543
8544 wdiSetBSSKeyRspCb: callback for passing back the
8545 response of the set BSS Key operation received from the
8546 device
8547
8548 pUserData: user data will be passed back with the
8549 callback
8550
8551 @see WDI_PostAssocReq
8552 @return Result of the function call
8553*/
8554WDI_Status
8555WDI_SetBSSKeyReq
8556(
8557 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8558 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8559 void* pUserData
8560);
8561
8562
8563/**
8564 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8565 uninstall a BSS key from HW. Upon the call of this API
8566 the WLAN DAL will pack and send a HAL Remove BSS Key
8567 request message to the lower RIVA sub-system if DAL is
8568 in state STARTED.
8569
8570 In state BUSY this request will be queued. Request won't
8571 be allowed in any other state.
8572
8573 WDI_SetBSSKeyReq must have been called.
8574
8575 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8576 specified by the Device Interface
8577
8578 wdiRemoveBSSKeyRspCb: callback for passing back the
8579 response of the remove BSS key operation received from
8580 the device
8581
8582 pUserData: user data will be passed back with the
8583 callback
8584
8585 @see WDI_SetBSSKeyReq
8586 @return Result of the function call
8587*/
8588WDI_Status
8589WDI_RemoveBSSKeyReq
8590(
8591 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8592 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8593 void* pUserData
8594);
8595
8596
8597/**
8598 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8599 ready to install a STA(ast) encryption key in HW. Upon
8600 the call of this API the WLAN DAL will pack and send a
8601 HAL Set STA Key request message to the lower RIVA
8602 sub-system if DAL is in state STARTED.
8603
8604 In state BUSY this request will be queued. Request won't
8605 be allowed in any other state.
8606
8607 WDI_PostAssocReq must have been called.
8608
8609 @param wdiSetSTAKeyParams: the set STA key parameters as
8610 specified by the Device Interface
8611
8612 wdiSetSTAKeyRspCb: callback for passing back the
8613 response of the set STA key operation received from the
8614 device
8615
8616 pUserData: user data will be passed back with the
8617 callback
8618
8619 @see WDI_PostAssocReq
8620 @return Result of the function call
8621*/
8622WDI_Status
8623WDI_SetSTAKeyReq
8624(
8625 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8626 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8627 void* pUserData
8628);
8629
8630
8631/**
8632 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8633 wants to unistall a previously set STA key in HW. Upon
8634 the call of this API the WLAN DAL will pack and send a
8635 HAL Remove STA Key request message to the lower RIVA
8636 sub-system if DAL is in state STARTED.
8637
8638 In state BUSY this request will be queued. Request won't
8639 be allowed in any other state.
8640
8641 WDI_SetSTAKeyReq must have been called.
8642
8643 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8644 specified by the Device Interface
8645
8646 wdiRemoveSTAKeyRspCb: callback for passing back the
8647 response of the remove STA key operation received from
8648 the device
8649
8650 pUserData: user data will be passed back with the
8651 callback
8652
8653 @see WDI_SetSTAKeyReq
8654 @return Result of the function call
8655*/
8656WDI_Status
8657WDI_RemoveSTAKeyReq
8658(
8659 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8660 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8661 void* pUserData
8662);
8663
8664/**
8665 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8666 wants to install a STA Bcast encryption key on the HW.
8667 Upon the call of this API the WLAN DAL will pack and
8668 send a HAL Start request message to the lower RIVA
8669 sub-system if DAL is in state STARTED.
8670
8671 In state BUSY this request will be queued. Request won't
8672 be allowed in any other state.
8673
8674 WDI_PostAssocReq must have been called.
8675
8676 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8677 specified by the Device Interface
8678
8679 wdiSetSTABcastKeyRspCb: callback for passing back the
8680 response of the set BSS Key operation received from the
8681 device
8682
8683 pUserData: user data will be passed back with the
8684 callback
8685
8686 @see WDI_PostAssocReq
8687 @return Result of the function call
8688*/
8689WDI_Status
8690WDI_SetSTABcastKeyReq
8691(
8692 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8693 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8694 void* pUserData
8695);
8696
8697
8698/**
8699 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8700 MAC to uninstall a STA Bcast key from HW. Upon the call
8701 of this API the WLAN DAL will pack and send a HAL Remove
8702 STA Bcast Key request message to the lower RIVA
8703 sub-system if DAL is in state STARTED.
8704
8705 In state BUSY this request will be queued. Request won't
8706 be allowed in any other state.
8707
8708 WDI_SetSTABcastKeyReq must have been called.
8709
8710 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8711 parameters as specified by the Device
8712 Interface
8713
8714 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8715 response of the remove STA Bcast key operation received
8716 from the device
8717
8718 pUserData: user data will be passed back with the
8719 callback
8720
8721 @see WDI_SetSTABcastKeyReq
8722 @return Result of the function call
8723*/
8724WDI_Status
8725WDI_RemoveSTABcastKeyReq
8726(
8727 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8728 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8729 void* pUserData
8730);
8731
schang86c22c42013-03-13 18:41:24 -07008732
8733/**
8734 @brief WDI_SetTxPowerReq will be called when the upper
8735 MAC wants to set Tx Power to HW.
8736 In state BUSY this request will be queued. Request won't
8737 be allowed in any other state.
8738
8739
8740 @param pwdiSetTxPowerParams: set TS Power parameters
8741 BSSID and target TX Power with dbm included
8742
8743 wdiReqStatusCb: callback for passing back the response
8744
8745 pUserData: user data will be passed back with the
8746 callback
8747
8748 @return Result of the function call
8749*/
8750WDI_Status
8751WDI_SetTxPowerReq
8752(
8753 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8754 WDA_SetTxPowerRspCb wdiReqStatusCb,
8755 void* pUserData
8756);
8757
Jeff Johnson295189b2012-06-20 16:38:30 -07008758/**
8759 @brief WDI_SetMaxTxPowerReq will be called when the upper
8760 MAC wants to set Max Tx Power to HW. Upon the
8761 call of this API the WLAN DAL will pack and send a HAL
8762 Remove STA Bcast Key request message to the lower RIVA
8763 sub-system if DAL is in state STARTED.
8764
8765 In state BUSY this request will be queued. Request won't
8766 be allowed in any other state.
8767
8768 WDI_SetSTABcastKeyReq must have been called.
8769
8770 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8771 parameters as specified by the Device
8772 Interface
8773
8774 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8775 response of the remove STA Bcast key operation received
8776 from the device
8777
8778 pUserData: user data will be passed back with the
8779 callback
8780
8781 @see WDI_SetMaxTxPowerReq
8782 @return Result of the function call
8783*/
8784WDI_Status
8785WDI_SetMaxTxPowerReq
8786(
8787 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8788 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8789 void* pUserData
8790);
8791
Arif Hussaina5ebce02013-08-09 15:09:58 -07008792/**
8793 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8794 MAC wants to set Max Tx Power to HW for specific band. Upon the
8795 call of this API the WLAN DAL will pack and send a HAL
8796 Set Max Tx Power Per Band request message to the lower RIVA
8797 sub-system if DAL is in state STARTED.
8798
8799 In state BUSY this request will be queued. Request won't
8800 be allowed in any other state.
8801
8802
8803 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8804
8805 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8806 when it has received a set max Tx Power Per Band response from
8807 the underlying device.
8808
8809 pUserData: user data will be passed back with the
8810 callback
8811
8812 @see WDI_SetMaxTxPowerPerBandReq
8813 @return Result of the function call
8814*/
8815WDI_Status
8816WDI_SetMaxTxPowerPerBandReq
8817(
8818 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8819 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8820 void* pUserData
8821);
8822
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008823#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008824/**
8825 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8826 Traffic Stream metrics.
8827 In state BUSY this request will be queued. Request won't
8828 be allowed in any other state.
8829
8830 @param wdiAddTsReqParams: the add TS parameters as specified by
8831 the Device Interface
8832
8833 wdiAddTsRspCb: callback for passing back the response of
8834 the add TS operation received from the device
8835
8836 pUserData: user data will be passed back with the
8837 callback
8838
8839 @see WDI_PostAssocReq
8840 @return Result of the function call
8841*/
8842WDI_Status
8843WDI_TSMStatsReq
8844(
8845 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8846 WDI_TsmRspCb wdiTsmStatsRspCb,
8847 void* pUserData
8848);
8849
8850
8851#endif
8852
8853/*========================================================================
8854
8855 QoS and BA APIs
8856
8857==========================================================================*/
8858
8859/**
8860 @brief WDI_AddTSReq will be called when the upper MAC to inform
8861 the device of a successful add TSpec negotiation. HW
8862 needs to receive the TSpec Info from the UMAC in order
8863 to configure properly the QoS data traffic. Upon the
8864 call of this API the WLAN DAL will pack and send a HAL
8865 Add TS request message to the lower RIVA sub-system if
8866 DAL is in state STARTED.
8867
8868 In state BUSY this request will be queued. Request won't
8869 be allowed in any other state.
8870
8871 WDI_PostAssocReq must have been called.
8872
8873 @param wdiAddTsReqParams: the add TS parameters as specified by
8874 the Device Interface
8875
8876 wdiAddTsRspCb: callback for passing back the response of
8877 the add TS operation received from the device
8878
8879 pUserData: user data will be passed back with the
8880 callback
8881
8882 @see WDI_PostAssocReq
8883 @return Result of the function call
8884*/
8885WDI_Status
8886WDI_AddTSReq
8887(
8888 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8889 WDI_AddTsRspCb wdiAddTsRspCb,
8890 void* pUserData
8891);
8892
8893
8894
8895/**
8896 @brief WDI_DelTSReq will be called when the upper MAC has ended
8897 admission on a specific AC. This is to inform HW that
8898 QoS traffic parameters must be rest. Upon the call of
8899 this API the WLAN DAL will pack and send a HAL Del TS
8900 request message to the lower RIVA sub-system if DAL is
8901 in state STARTED.
8902
8903 In state BUSY this request will be queued. Request won't
8904 be allowed in any other state.
8905
8906 WDI_AddTSReq must have been called.
8907
8908 @param wdiDelTsReqParams: the del TS parameters as specified by
8909 the Device Interface
8910
8911 wdiDelTsRspCb: callback for passing back the response of
8912 the del TS operation received from the device
8913
8914 pUserData: user data will be passed back with the
8915 callback
8916
8917 @see WDI_AddTSReq
8918 @return Result of the function call
8919*/
8920WDI_Status
8921WDI_DelTSReq
8922(
8923 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8924 WDI_DelTsRspCb wdiDelTsRspCb,
8925 void* pUserData
8926);
8927
8928
8929
8930/**
8931 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8932 wishes to update the EDCA parameters used by HW for QoS
8933 data traffic. Upon the call of this API the WLAN DAL
8934 will pack and send a HAL Update EDCA Params request
8935 message to the lower RIVA sub-system if DAL is in state
8936 STARTED.
8937
8938 In state BUSY this request will be queued. Request won't
8939 be allowed in any other state.
8940
8941 WDI_PostAssocReq must have been called.
8942
8943 @param wdiUpdateEDCAParams: the start parameters as specified
8944 by the Device Interface
8945
8946 wdiUpdateEDCAParamsRspCb: callback for passing back the
8947 response of the start operation received from the device
8948
8949 pUserData: user data will be passed back with the
8950 callback
8951
8952 @see WDI_PostAssocReq
8953 @return Result of the function call
8954*/
8955WDI_Status
8956WDI_UpdateEDCAParams
8957(
8958 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8959 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8960 void* pUserData
8961);
8962
8963
8964
8965/**
8966 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8967 successfully a BA session and needs to notify the HW for
8968 the appropriate settings to take place. Upon the call of
8969 this API the WLAN DAL will pack and send a HAL Add BA
8970 request message to the lower RIVA sub-system if DAL is
8971 in state STARTED.
8972
8973 In state BUSY this request will be queued. Request won't
8974 be allowed in any other state.
8975
8976 WDI_PostAssocReq must have been called.
8977
8978 @param wdiAddBAReqParams: the add BA parameters as specified by
8979 the Device Interface
8980
8981 wdiAddBARspCb: callback for passing back the response of
8982 the add BA operation received from the device
8983
8984 pUserData: user data will be passed back with the
8985 callback
8986
8987 @see WDI_PostAssocReq
8988 @return Result of the function call
8989*/
8990WDI_Status
8991WDI_AddBASessionReq
8992(
8993 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8994 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8995 void* pUserData
8996);
8997
8998
8999/**
9000 @brief WDI_DelBAReq will be called when the upper MAC wants to
9001 inform HW that it has deleted a previously created BA
9002 session. Upon the call of this API the WLAN DAL will
9003 pack and send a HAL Del BA request message to the lower
9004 RIVA sub-system if DAL is in state STARTED.
9005
9006 In state BUSY this request will be queued. Request won't
9007 be allowed in any other state.
9008
9009 WDI_AddBAReq must have been called.
9010
9011 @param wdiDelBAReqParams: the del BA parameters as specified by
9012 the Device Interface
9013
9014 wdiDelBARspCb: callback for passing back the response of
9015 the del BA operation received from the device
9016
9017 pUserData: user data will be passed back with the
9018 callback
9019
9020 @see WDI_AddBAReq
9021 @return Result of the function call
9022*/
9023WDI_Status
9024WDI_DelBAReq
9025(
9026 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
9027 WDI_DelBARspCb wdiDelBARspCb,
9028 void* pUserData
9029);
9030
9031/**
9032 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
9033 inform HW that there is a change in the beacon parameters
9034 Upon the call of this API the WLAN DAL will
9035 pack and send a UpdateBeacon Params message to the lower
9036 RIVA sub-system if DAL is in state STARTED.
9037
9038 In state BUSY this request will be queued. Request won't
9039 be allowed in any other state.
9040
9041 WDI_UpdateBeaconParamsReq must have been called.
9042
9043 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
9044 the Device Interface
9045
9046 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
9047 the Update Beacon Params operation received from the device
9048
9049 pUserData: user data will be passed back with the
9050 callback
9051
9052 @see WDI_AddBAReq
9053 @return Result of the function call
9054*/
9055
9056WDI_Status
9057WDI_UpdateBeaconParamsReq
9058(
9059 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
9060 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
9061 void* pUserData
9062);
9063
9064
9065/**
9066 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
9067 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
9068 Upon the call of this API the WLAN DAL will
9069 pack and send the beacon Template message to the lower
9070 RIVA sub-system if DAL is in state STARTED.
9071
9072 In state BUSY this request will be queued. Request won't
9073 be allowed in any other state.
9074
9075 WDI_SendBeaconParamsReq must have been called.
9076
9077 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
9078 the Device Interface
9079
9080 WDI_SendBeaconParamsRspCb: callback for passing back the response of
9081 the Send Beacon Params operation received from the device
9082
9083 pUserData: user data will be passed back with the
9084 callback
9085
9086 @see WDI_AddBAReq
9087 @return Result of the function call
9088*/
9089
9090WDI_Status
9091WDI_SendBeaconParamsReq
9092(
9093 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
9094 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
9095 void* pUserData
9096);
9097
9098
9099/**
9100 @brief WDI_UpdateProbeRspTemplateReq will be called when the
9101 upper MAC wants to update the probe response template to
9102 be transmitted as Soft AP
9103 Upon the call of this API the WLAN DAL will
9104 pack and send the probe rsp template message to the
9105 lower RIVA sub-system if DAL is in state STARTED.
9106
9107 In state BUSY this request will be queued. Request won't
9108 be allowed in any other state.
9109
9110
9111 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9112 specified by the Device Interface
9113
9114 wdiSendBeaconParamsRspCb: callback for passing back the
9115 response of the Send Beacon Params operation received
9116 from the device
9117
9118 pUserData: user data will be passed back with the
9119 callback
9120
9121 @see WDI_AddBAReq
9122 @return Result of the function call
9123*/
9124
9125WDI_Status
9126WDI_UpdateProbeRspTemplateReq
9127(
9128 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9129 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9130 void* pUserData
9131);
9132
Jeff Johnson295189b2012-06-20 16:38:30 -07009133/**
9134 @brief WDI_SetP2PGONOAReq will be called when the
9135 upper MAC wants to send Notice of Absence
9136 Upon the call of this API the WLAN DAL will
9137 pack and send the probe rsp template message to the
9138 lower RIVA sub-system if DAL is in state STARTED.
9139
9140 In state BUSY this request will be queued. Request won't
9141 be allowed in any other state.
9142
9143
9144 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9145 specified by the Device Interface
9146
9147 wdiSendBeaconParamsRspCb: callback for passing back the
9148 response of the Send Beacon Params operation received
9149 from the device
9150
9151 pUserData: user data will be passed back with the
9152 callback
9153
9154 @see WDI_AddBAReq
9155 @return Result of the function call
9156*/
9157WDI_Status
9158WDI_SetP2PGONOAReq
9159(
9160 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9161 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9162 void* pUserData
9163);
Jeff Johnson295189b2012-06-20 16:38:30 -07009164
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309165/**
9166 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9167 upper MAC wants to send TDLS Link Establish Request Parameters
9168 Upon the call of this API the WLAN DAL will
9169 pack and send the TDLS Link Establish Request message to the
9170 lower RIVA sub-system if DAL is in state STARTED.
9171
9172 In state BUSY this request will be queued. Request won't
9173 be allowed in any other state.
9174
9175
9176 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9177 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9178
9179 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9180 response of the TDLS Link Establish request received
9181 from the device
9182
9183 pUserData: user data will be passed back with the
9184 callback
9185
9186 @see
9187 @return Result of the function call
9188*/
9189WDI_Status
9190WDI_SetTDLSLinkEstablishReq
9191(
9192 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9193 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9194 void* pUserData
9195);
Jeff Johnson295189b2012-06-20 16:38:30 -07009196
Atul Mittalc0f739f2014-07-31 13:47:47 +05309197WDI_Status
9198WDI_SetTDLSChanSwitchReq
9199(
9200 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9201 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9202 void* pUserData
9203);
Jeff Johnson295189b2012-06-20 16:38:30 -07009204/*========================================================================
9205
9206 Power Save APIs
9207
9208==========================================================================*/
9209
9210/**
9211 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9212 wants to set the power save related configurations of
9213 the WLAN Device. Upon the call of this API the WLAN DAL
9214 will pack and send a HAL Update CFG request message to
9215 the lower RIVA sub-system if DAL is in state STARTED.
9216
9217 In state BUSY this request will be queued. Request won't
9218 be allowed in any other state.
9219
9220 WDI_Start must have been called.
9221
9222 @param pwdiPowerSaveCfg: the power save cfg parameters as
9223 specified by the Device Interface
9224
9225 wdiSetPwrSaveCfgCb: callback for passing back the
9226 response of the set power save cfg operation received
9227 from the device
9228
9229 pUserData: user data will be passed back with the
9230 callback
9231
9232 @see WDI_Start
9233 @return Result of the function call
9234*/
9235WDI_Status
9236WDI_SetPwrSaveCfgReq
9237(
9238 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9239 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9240 void* pUserData
9241);
9242
9243/**
9244 @brief WDI_EnterImpsReq will be called when the upper MAC to
9245 request the device to get into IMPS power state. Upon
9246 the call of this API the WLAN DAL will send a HAL Enter
9247 IMPS request message to the lower RIVA sub-system if DAL
9248 is in state STARTED.
9249
9250 In state BUSY this request will be queued. Request won't
9251 be allowed in any other state.
9252
9253
9254 @param wdiEnterImpsRspCb: callback for passing back the
9255 response of the Enter IMPS operation received from the
9256 device
9257
9258 pUserData: user data will be passed back with the
9259 callback
9260
9261 @see WDI_Start
9262 @return Result of the function call
9263*/
9264WDI_Status
9265WDI_EnterImpsReq
9266(
Mihir Shetea4306052014-03-25 00:02:54 +05309267 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009268 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9269 void* pUserData
9270);
9271
9272/**
9273 @brief WDI_ExitImpsReq will be called when the upper MAC to
9274 request the device to get out of IMPS power state. Upon
9275 the call of this API the WLAN DAL will send a HAL Exit
9276 IMPS request message to the lower RIVA sub-system if DAL
9277 is in state STARTED.
9278
9279 In state BUSY this request will be queued. Request won't
9280 be allowed in any other state.
9281
9282
9283
9284 @param wdiExitImpsRspCb: callback for passing back the response
9285 of the Exit IMPS operation received from the device
9286
9287 pUserData: user data will be passed back with the
9288 callback
9289
9290 @see WDI_Start
9291 @return Result of the function call
9292*/
9293WDI_Status
9294WDI_ExitImpsReq
9295(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309296 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009297 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9298 void* pUserData
9299);
9300
9301/**
9302 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9303 request the device to get into BMPS power state. Upon
9304 the call of this API the WLAN DAL will pack and send a
9305 HAL Enter BMPS request message to the lower RIVA
9306 sub-system if DAL is in state STARTED.
9307
9308 In state BUSY this request will be queued. Request won't
9309 be allowed in any other state.
9310
9311 WDI_PostAssocReq must have been called.
9312
9313 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9314 specified by the Device Interface
9315
9316 wdiEnterBmpsRspCb: callback for passing back the
9317 response of the Enter BMPS operation received from the
9318 device
9319
9320 pUserData: user data will be passed back with the
9321 callback
9322
9323 @see WDI_PostAssocReq
9324 @return Result of the function call
9325*/
9326WDI_Status
9327WDI_EnterBmpsReq
9328(
9329 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9330 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9331 void* pUserData
9332);
9333
9334/**
9335 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9336 request the device to get out of BMPS power state. Upon
9337 the call of this API the WLAN DAL will pack and send a
9338 HAL Exit BMPS request message to the lower RIVA
9339 sub-system if DAL is in state STARTED.
9340
9341 In state BUSY this request will be queued. Request won't
9342 be allowed in any other state.
9343
9344 WDI_PostAssocReq must have been called.
9345
9346 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9347 specified by the Device Interface
9348
9349 wdiExitBmpsRspCb: callback for passing back the response
9350 of the Exit BMPS operation received from the device
9351
9352 pUserData: user data will be passed back with the
9353 callback
9354
9355 @see WDI_PostAssocReq
9356 @return Result of the function call
9357*/
9358WDI_Status
9359WDI_ExitBmpsReq
9360(
9361 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9362 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9363 void* pUserData
9364);
9365
9366/**
9367 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9368 request the device to get into UAPSD power state. Upon
9369 the call of this API the WLAN DAL will pack and send a
9370 HAL Enter UAPSD request message to the lower RIVA
9371 sub-system if DAL is in state STARTED.
9372
9373 In state BUSY this request will be queued. Request won't
9374 be allowed in any other state.
9375
9376 WDI_PostAssocReq must have been called.
9377 WDI_SetUapsdAcParamsReq must have been called.
9378
9379 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9380 specified by the Device Interface
9381
9382 wdiEnterUapsdRspCb: callback for passing back the
9383 response of the Enter UAPSD operation received from the
9384 device
9385
9386 pUserData: user data will be passed back with the
9387 callback
9388
9389 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9390 @return Result of the function call
9391*/
9392WDI_Status
9393WDI_EnterUapsdReq
9394(
9395 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9396 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9397 void* pUserData
9398);
9399
9400/**
9401 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9402 request the device to get out of UAPSD power state. Upon
9403 the call of this API the WLAN DAL will send a HAL Exit
9404 UAPSD request message to the lower RIVA sub-system if
9405 DAL is in state STARTED.
9406
9407 In state BUSY this request will be queued. Request won't
9408 be allowed in any other state.
9409
9410 WDI_PostAssocReq must have been called.
9411
9412 @param wdiExitUapsdRspCb: callback for passing back the
9413 response of the Exit UAPSD operation received from the
9414 device
9415
9416 pUserData: user data will be passed back with the
9417 callback
9418
9419 @see WDI_PostAssocReq
9420 @return Result of the function call
9421*/
9422WDI_Status
9423WDI_ExitUapsdReq
9424(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009425 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009426 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9427 void* pUserData
9428);
9429
9430/**
9431 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9432 MAC wants to set the UAPSD related configurations
9433 of an associated STA (while acting as an AP) to the WLAN
9434 Device. Upon the call of this API the WLAN DAL will pack
9435 and send a HAL Update UAPSD params request message to
9436 the lower RIVA sub-system if DAL is in state STARTED.
9437
9438 In state BUSY this request will be queued. Request won't
9439 be allowed in any other state.
9440
9441 WDI_ConfigBSSReq must have been called.
9442
9443 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9444 as specified by the Device Interface
9445
9446 wdiUpdateUapsdParamsCb: callback for passing back the
9447 response of the update UAPSD params operation received
9448 from the device
9449
9450 pUserData: user data will be passed back with the
9451 callback
9452
9453 @see WDI_ConfigBSSReq
9454 @return Result of the function call
9455*/
9456WDI_Status
9457WDI_UpdateUapsdParamsReq
9458(
9459 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9460 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9461 void* pUserData
9462);
9463
9464/**
9465 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9466 MAC wants to set the UAPSD related configurations before
9467 requesting for enter UAPSD power state to the WLAN
9468 Device. Upon the call of this API the WLAN DAL will pack
9469 and send a HAL Set UAPSD params request message to
9470 the lower RIVA sub-system if DAL is in state STARTED.
9471
9472 In state BUSY this request will be queued. Request won't
9473 be allowed in any other state.
9474
9475 WDI_PostAssocReq must have been called.
9476
9477 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9478 the Device Interface
9479
9480 wdiSetUapsdAcParamsCb: callback for passing back the
9481 response of the set UAPSD params operation received from
9482 the device
9483
9484 pUserData: user data will be passed back with the
9485 callback
9486
9487 @see WDI_PostAssocReq
9488 @return Result of the function call
9489*/
9490WDI_Status
9491WDI_SetUapsdAcParamsReq
9492(
9493 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9494 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9495 void* pUserData
9496);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05309497
9498
9499/**
9500 @brief WDI_FatalEventLogsReq will be called when the upper
9501 MAC wants to send the fatal event req. Upon the call of
9502 this API the WLAN DAL will pack and send a HAL
9503 Fatal event request message to the lower RIVA sub-system.
9504
9505 In state BUSY this request will be queued. Request won't
9506 be allowed in any other state.
9507
9508
9509 @param pwdiFatalEventLogsReqInfo: the Fatal event logs params
9510 as specified by the Device Interface
9511
9512 wdiFatalEventLogsRspCb: callback for passing back the
9513 response of the fatal event operation received
9514 from the device
9515
9516 pUserData: user data will be passed back with the
9517 callback
9518
9519 @return Result of the function call
9520*/
9521
9522WDI_Status
9523WDI_FatalEventLogsReq
9524(
9525 WDI_FatalEventLogsReqInfoType *pwdiFatalEventLogsReqInfo,
9526 WDI_FatalEventLogsRspCb wdiFatalEventLogsRspCb,
9527 void* pUserData
9528);
9529
Siddharth Bhal64246172015-02-27 01:04:37 +05309530/**
9531 @brief WDI_GetFrameLogReq will be called when the upper
9532 MAC wants to initialize frame logging. Upon the call of
9533 this API the WLAN DAL will pack and send a HAL
9534 Frame logging init request message to
9535 the lower RIVA sub-system.
9536
9537 In state BUSY this request will be queued. Request won't
9538 be allowed in any other state.
9539
9540
9541 @param pwdiGetFrameLogReqInfo: the Frame Logging params
9542 as specified by the Device Interface
9543
9544 wdiGetFrameLogReqCb: callback for passing back the
9545 response of the frame logging init operation received
9546 from the device
9547
9548 pUserData: user data will be passed back with the
9549 callback
9550
9551 @return Result of the function call
9552*/
9553WDI_Status
9554WDI_GetFrameLogReq
9555(
9556 WDI_GetFrameLogReqInfoType *pwdiGetFrameLogReqInfo,
9557 WDI_GetFrameLogRspCb wdiGetFrameLogReqCb,
9558 void* pUserData
9559);
Jeff Johnson295189b2012-06-20 16:38:30 -07009560
9561/**
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309562 @brief WDI_FWLoggingInitReq will be called when the upper
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309563 MAC wants to initialize frame logging. Upon the call of
9564 this API the WLAN DAL will pack and send a HAL
9565 Frame logging init request message to
9566 the lower RIVA sub-system.
9567
9568 In state BUSY this request will be queued. Request won't
9569 be allowed in any other state.
9570
9571
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309572 @param pwdiFWLoggingInitReqParams: the Frame Logging params
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309573 as specified by the Device Interface
9574
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309575 wdiFWLoggingInitReqCb: callback for passing back the
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309576 response of the frame logging init operation received
9577 from the device
9578
9579 pUserData: user data will be passed back with the
9580 callback
9581
9582 @return Result of the function call
9583*/
9584WDI_Status
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309585WDI_FWLoggingInitReq
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309586(
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309587 WDI_FWLoggingInitReqInfoType *pwdiFWLoggingInitReqInfo,
9588 WDI_FWLoggingInitRspCb wdiFWLoggingInitReqCb,
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309589 void* pUserData
9590);
9591
9592/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009593 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9594 MAC wants to set/reset the RXP filters for received pkts
9595 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9596 and send a HAL configure RXP filter request message to
9597 the lower RIVA sub-system.
9598
9599 In state BUSY this request will be queued. Request won't
9600 be allowed in any other state.
9601
9602
9603 @param pwdiConfigureRxpFilterReqParams: the RXP
9604 filter as specified by the Device
9605 Interface
9606
9607 wdiConfigureRxpFilterCb: callback for passing back the
9608 response of the configure RXP filter operation received
9609 from the device
9610
9611 pUserData: user data will be passed back with the
9612 callback
9613
9614 @return Result of the function call
9615*/
9616WDI_Status
9617WDI_ConfigureRxpFilterReq
9618(
9619 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9620 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9621 void* pUserData
9622);
9623
9624/**
9625 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9626 wants to set the beacon filters while in power save.
9627 Upon the call of this API the WLAN DAL will pack and
9628 send a Beacon filter request message to the
9629 lower RIVA sub-system.
9630
9631 In state BUSY this request will be queued. Request won't
9632 be allowed in any other state.
9633
9634
9635 @param pwdiBeaconFilterReqParams: the beacon
9636 filter as specified by the Device
9637 Interface
9638
9639 wdiBeaconFilterCb: callback for passing back the
9640 response of the set beacon filter operation received
9641 from the device
9642
9643 pUserData: user data will be passed back with the
9644 callback
9645
9646 @return Result of the function call
9647*/
9648WDI_Status
9649WDI_SetBeaconFilterReq
9650(
9651 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9652 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9653 void* pUserData
9654);
9655
9656/**
9657 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9658 wants to remove the beacon filter for perticular IE
9659 while in power save. Upon the call of this API the WLAN
9660 DAL will pack and send a remove Beacon filter request
9661 message to the lower RIVA sub-system.
9662
9663 In state BUSY this request will be queued. Request won't
9664 be allowed in any other state.
9665
9666
9667 @param pwdiBeaconFilterReqParams: the beacon
9668 filter as specified by the Device
9669 Interface
9670
9671 wdiBeaconFilterCb: callback for passing back the
9672 response of the remove beacon filter operation received
9673 from the device
9674
9675 pUserData: user data will be passed back with the
9676 callback
9677
9678 @return Result of the function call
9679*/
9680WDI_Status
9681WDI_RemBeaconFilterReq
9682(
9683 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9684 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9685 void* pUserData
9686);
9687
9688/**
9689 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9690 MAC wants to set the RSSI thresholds related
9691 configurations while in power save. Upon the call of
9692 this API the WLAN DAL will pack and send a HAL Set RSSI
9693 thresholds 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_PostAssocReq must have been called.
9700
9701 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9702 the Device Interface
9703
9704 wdiSetUapsdAcParamsCb: callback for passing back the
9705 response of the set UAPSD params operation received from
9706 the device
9707
9708 pUserData: user data will be passed back with the
9709 callback
9710
9711 @see WDI_PostAssocReq
9712 @return Result of the function call
9713*/
9714WDI_Status
9715WDI_SetRSSIThresholdsReq
9716(
9717 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9718 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9719 void* pUserData
9720);
9721
9722/**
9723 @brief WDI_HostOffloadReq will be called when the upper MAC
9724 wants to set the filter to minimize unnecessary host
9725 wakeup due to broadcast traffic while in power save.
9726 Upon the call of this API the WLAN DAL will pack and
9727 send a HAL host offload request message to the
9728 lower RIVA sub-system if DAL is in state STARTED.
9729
9730 In state BUSY this request will be queued. Request won't
9731 be allowed in any other state.
9732
9733 WDI_PostAssocReq must have been called.
9734
9735 @param pwdiHostOffloadParams: the host offload as specified
9736 by the Device Interface
9737
9738 wdiHostOffloadCb: callback for passing back the response
9739 of the host offload operation received from the
9740 device
9741
9742 pUserData: user data will be passed back with the
9743 callback
9744
9745 @see WDI_PostAssocReq
9746 @return Result of the function call
9747*/
9748WDI_Status
9749WDI_HostOffloadReq
9750(
9751 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9752 WDI_HostOffloadCb wdiHostOffloadCb,
9753 void* pUserData
9754);
9755
9756/**
9757 @brief WDI_KeepAliveReq will be called when the upper MAC
9758 wants to set the filter to send NULL or unsolicited ARP responses
9759 and minimize unnecessary host wakeups due to while in power save.
9760 Upon the call of this API the WLAN DAL will pack and
9761 send a HAL Keep Alive request message to the
9762 lower RIVA sub-system if DAL is in state STARTED.
9763
9764 In state BUSY this request will be queued. Request won't
9765 be allowed in any other state.
9766
9767 WDI_PostAssocReq must have been called.
9768
9769 @param pwdiKeepAliveParams: the Keep Alive as specified
9770 by the Device Interface
9771
9772 wdiKeepAliveCb: callback for passing back the response
9773 of the Keep Alive operation received from the
9774 device
9775
9776 pUserData: user data will be passed back with the
9777 callback
9778
9779 @see WDI_PostAssocReq
9780 @return Result of the function call
9781*/
9782WDI_Status
9783WDI_KeepAliveReq
9784(
9785 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9786 WDI_KeepAliveCb wdiKeepAliveCb,
9787 void* pUserData
9788);
9789
9790/**
9791 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9792 wants to set the Wowl Bcast ptrn to minimize unnecessary
9793 host wakeup due to broadcast traffic while in power
9794 save. Upon the call of this API the WLAN DAL will pack
9795 and send a HAL Wowl Bcast ptrn request message to the
9796 lower RIVA sub-system if DAL is in state STARTED.
9797
9798 In state BUSY this request will be queued. Request won't
9799 be allowed in any other state.
9800
9801 WDI_PostAssocReq must have been called.
9802
9803 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9804 specified by the Device Interface
9805
9806 wdiWowlAddBcPtrnCb: callback for passing back the
9807 response of the add Wowl bcast ptrn operation received
9808 from the device
9809
9810 pUserData: user data will be passed back with the
9811 callback
9812
9813 @see WDI_PostAssocReq
9814 @return Result of the function call
9815*/
9816WDI_Status
9817WDI_WowlAddBcPtrnReq
9818(
9819 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9820 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9821 void* pUserData
9822);
9823
9824/**
9825 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9826 wants to clear the Wowl Bcast ptrn. Upon the call of
9827 this API the WLAN DAL will pack and send a HAL delete
9828 Wowl Bcast ptrn request message to the lower RIVA
9829 sub-system if DAL is in state STARTED.
9830
9831 In state BUSY this request will be queued. Request won't
9832 be allowed in any other state.
9833
9834 WDI_WowlAddBcPtrnReq must have been called.
9835
9836 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9837 specified by the Device Interface
9838
9839 wdiWowlDelBcPtrnCb: callback for passing back the
9840 response of the del Wowl bcast ptrn operation received
9841 from the device
9842
9843 pUserData: user data will be passed back with the
9844 callback
9845
9846 @see WDI_WowlAddBcPtrnReq
9847 @return Result of the function call
9848*/
9849WDI_Status
9850WDI_WowlDelBcPtrnReq
9851(
9852 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9853 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9854 void* pUserData
9855);
9856
9857/**
9858 @brief WDI_WowlEnterReq will be called when the upper MAC
9859 wants to enter the Wowl state to minimize unnecessary
9860 host wakeup while in power save. Upon the call of this
9861 API the WLAN DAL will pack and send a HAL Wowl enter
9862 request message to the lower RIVA sub-system if DAL is
9863 in state STARTED.
9864
9865 In state BUSY this request will be queued. Request won't
9866 be allowed in any other state.
9867
9868 WDI_PostAssocReq must have been called.
9869
9870 @param pwdiWowlEnterReqParams: the Wowl enter info as
9871 specified by the Device Interface
9872
9873 wdiWowlEnterReqCb: callback for passing back the
9874 response of the enter Wowl operation received from the
9875 device
9876
9877 pUserData: user data will be passed back with the
9878 callback
9879
9880 @see WDI_PostAssocReq
9881 @return Result of the function call
9882*/
9883WDI_Status
9884WDI_WowlEnterReq
9885(
9886 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9887 WDI_WowlEnterReqCb wdiWowlEnterCb,
9888 void* pUserData
9889);
9890
9891/**
9892 @brief WDI_WowlExitReq will be called when the upper MAC
9893 wants to exit the Wowl state. Upon the call of this API
9894 the WLAN DAL will pack and send a HAL Wowl exit request
9895 message to the lower RIVA sub-system if DAL is in state
9896 STARTED.
9897
9898 In state BUSY this request will be queued. Request won't
9899 be allowed in any other state.
9900
9901 WDI_WowlEnterReq must have been called.
9902
9903 @param pwdiWowlExitReqParams: the Wowl exit info as
9904 specified by the Device Interface
9905
9906 wdiWowlExitReqCb: callback for passing back the response
9907 of the exit Wowl operation received from the device
9908
9909 pUserData: user data will be passed back with the
9910 callback
9911
9912 @see WDI_WowlEnterReq
9913 @return Result of the function call
9914*/
9915WDI_Status
9916WDI_WowlExitReq
9917(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009918 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009919 WDI_WowlExitReqCb wdiWowlExitCb,
9920 void* pUserData
9921);
9922
9923/**
9924 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9925 the upper MAC wants to dynamically adjusts the listen
9926 interval based on the WLAN/MSM activity. Upon the call
9927 of this API the WLAN DAL will pack and send a HAL
9928 configure Apps Cpu Wakeup State request message to the
9929 lower RIVA sub-system.
9930
9931 In state BUSY this request will be queued. Request won't
9932 be allowed in any other state.
9933
9934
9935 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9936 Apps Cpu Wakeup State as specified by the
9937 Device Interface
9938
9939 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9940 back the response of the configure Apps Cpu Wakeup State
9941 operation received from the device
9942
9943 pUserData: user data will be passed back with the
9944 callback
9945
9946 @return Result of the function call
9947*/
9948WDI_Status
9949WDI_ConfigureAppsCpuWakeupStateReq
9950(
9951 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9952 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9953 void* pUserData
9954);
9955/**
9956 @brief WDI_FlushAcReq will be called when the upper MAC wants
9957 to to perform a flush operation on a given AC. Upon the
9958 call of this API the WLAN DAL will pack and send a HAL
9959 Flush AC request message to the lower RIVA sub-system if
9960 DAL is in state STARTED.
9961
9962 In state BUSY this request will be queued. Request won't
9963 be allowed in any other state.
9964
9965
9966 @param pwdiFlushAcReqParams: the Flush AC parameters as
9967 specified by the Device Interface
9968
9969 wdiFlushAcRspCb: callback for passing back the response
9970 of the Flush AC operation received from the device
9971
9972 pUserData: user data will be passed back with the
9973 callback
9974
9975 @return Result of the function call
9976*/
9977WDI_Status
9978WDI_FlushAcReq
9979(
9980 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9981 WDI_FlushAcRspCb wdiFlushAcRspCb,
9982 void* pUserData
9983);
9984
9985/**
9986 @brief WDI_BtAmpEventReq will be called when the upper MAC
9987 wants to notify the lower mac on a BT AMP event. This is
9988 to inform BTC-SLM that some BT AMP event occurred. Upon
9989 the call of this API the WLAN DAL will pack and send a
9990 HAL BT AMP event request message to the lower RIVA
9991 sub-system if DAL is in state STARTED.
9992
9993 In state BUSY this request will be queued. Request won't
9994 be allowed in any other state.
9995
9996
9997 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9998 specified by the Device Interface
9999
10000 wdiBtAmpEventRspCb: callback for passing back the
10001 response of the BT AMP event operation received from the
10002 device
10003
10004 pUserData: user data will be passed back with the
10005 callback
10006
10007 @return Result of the function call
10008*/
10009WDI_Status
10010WDI_BtAmpEventReq
10011(
10012 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
10013 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
10014 void* pUserData
10015);
10016
Jeff Johnsone7245742012-09-05 17:12:55 -070010017#ifdef FEATURE_OEM_DATA_SUPPORT
10018/**
10019 @brief WDI_Start oem data Req will be called when the upper MAC
10020 wants to notify the lower mac on a oem data Req event.Upon
10021 the call of this API the WLAN DAL will pack and send a
10022 HAL OEM Data Req event request message to the lower RIVA
10023 sub-system if DAL is in state STARTED.
10024
10025 In state BUSY this request will be queued. Request won't
10026 be allowed in any other state.
10027
10028
10029 @param pWdiOemDataReqParams: the oem data req parameters as
10030 specified by the Device Interface
10031
10032 wdiStartOemDataRspCb: callback for passing back the
10033 response of the Oem Data Req received from the
10034 device
10035
10036 pUserData: user data will be passed back with the
10037 callback
10038
10039 @return Result of the function call
10040*/
10041WDI_Status
10042WDI_StartOemDataReq
10043(
10044 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
10045 WDI_oemDataRspCb wdiOemDataRspCb,
10046 void* pUserData
10047);
10048#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010049
10050/*========================================================================
10051
10052 CONTROL APIs
10053
10054==========================================================================*/
10055/**
10056 @brief WDI_SwitchChReq will be called when the upper MAC wants
10057 the WLAN HW to change the current channel of operation.
10058 Upon the call of this API the WLAN DAL will pack and
10059 send a HAL Start request message to the lower RIVA
10060 sub-system if DAL is in state STARTED.
10061
10062 In state BUSY this request will be queued. Request won't
10063 be allowed in any other state.
10064
10065 WDI_Start must have been called.
10066
10067 @param wdiSwitchChReqParams: the switch ch parameters as
10068 specified by the Device Interface
10069
10070 wdiSwitchChRspCb: callback for passing back the response
10071 of the switch ch operation received from the device
10072
10073 pUserData: user data will be passed back with the
10074 callback
10075
10076 @see WDI_Start
10077 @return Result of the function call
10078*/
10079WDI_Status
10080WDI_SwitchChReq
10081(
10082 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
10083 WDI_SwitchChRspCb wdiSwitchChRspCb,
10084 void* pUserData
10085);
10086
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010087/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -080010088 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
10089 it also send type source for the channel change.
10090 WDI_Start must have been called.
10091
10092 @param wdiSwitchChReqParams: the switch ch parameters as
10093 specified by the Device Interface
10094
10095 wdiSwitchChRspCb: callback for passing back the response
10096 of the switch ch operation received from the device
10097
10098 pUserData: user data will be passed back with the
10099 callback
10100
10101 @see WDI_Start
10102 @return Result of the function call
10103*/
10104
10105WDI_Status
10106WDI_SwitchChReq_V1
10107(
10108 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
10109 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
10110 void* pUserData
10111);
10112
10113/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010114 @brief WDI_UpdateChannelReq will be called when the upper MAC
10115 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010116 In state BUSY this request will be queued. Request won't
10117 be allowed in any other state.
10118
10119 WDI_UpdateChannelReq must have been called.
10120
10121 @param wdiUpdateChannelReqParams: the updated channel parameters
10122 as specified by the Device Interface
10123
10124 wdiUpdateChannelRspCb: callback for passing back the
10125 response of the update channel operation received from
10126 the device
10127
10128 pUserData: user data will be passed back with the
10129 callback
10130
10131 @return Result of the function call
10132*/
10133WDI_Status
10134WDI_UpdateChannelReq
10135(
10136 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
10137 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
10138 void* pUserData
10139);
Jeff Johnson295189b2012-06-20 16:38:30 -070010140
10141/**
10142 @brief WDI_ConfigSTAReq will be called when the upper MAC
10143 wishes to add or update a STA in HW. Upon the call of
10144 this API the WLAN DAL will pack and send a HAL Start
10145 message request message to the lower RIVA sub-system if
10146 DAL is in state STARTED.
10147
10148 In state BUSY this request will be queued. Request won't
10149 be allowed in any other state.
10150
10151 WDI_Start must have been called.
10152
10153 @param wdiConfigSTAReqParams: the config STA parameters as
10154 specified by the Device Interface
10155
10156 wdiConfigSTARspCb: callback for passing back the
10157 response of the config STA operation received from the
10158 device
10159
10160 pUserData: user data will be passed back with the
10161 callback
10162
10163 @see WDI_Start
10164 @return Result of the function call
10165*/
10166WDI_Status
10167WDI_ConfigSTAReq
10168(
10169 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
10170 WDI_ConfigSTARspCb wdiConfigSTARspCb,
10171 void* pUserData
10172);
10173
10174/**
10175 @brief WDI_SetLinkStateReq will be called when the upper MAC
10176 wants to change the state of an ongoing link. Upon the
10177 call of this API the WLAN DAL will pack and send a HAL
10178 Start message request message to the lower RIVA
10179 sub-system if DAL is in state STARTED.
10180
10181 In state BUSY this request will be queued. Request won't
10182 be allowed in any other state.
10183
10184 WDI_JoinReq must have been called.
10185
10186 @param wdiSetLinkStateReqParams: the set link state parameters
10187 as specified by the Device Interface
10188
10189 wdiSetLinkStateRspCb: callback for passing back the
10190 response of the set link state operation received from
10191 the device
10192
10193 pUserData: user data will be passed back with the
10194 callback
10195
10196 @see WDI_JoinStartReq
10197 @return Result of the function call
10198*/
10199WDI_Status
10200WDI_SetLinkStateReq
10201(
10202 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10203 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10204 void* pUserData
10205);
10206
10207
10208/**
10209 @brief WDI_GetStatsReq will be called when the upper MAC wants
10210 to get statistics (MIB counters) from the device. Upon
10211 the call of this API the WLAN DAL will pack and send a
10212 HAL Start request message to the lower RIVA sub-system
10213 if DAL is in state STARTED.
10214
10215 In state BUSY this request will be queued. Request won't
10216 be allowed in any other state.
10217
10218 WDI_Start must have been called.
10219
10220 @param wdiGetStatsReqParams: the stats parameters to get as
10221 specified by the Device Interface
10222
10223 wdiGetStatsRspCb: callback for passing back the response
10224 of the get stats operation received from the device
10225
10226 pUserData: user data will be passed back with the
10227 callback
10228
10229 @see WDI_Start
10230 @return Result of the function call
10231*/
10232WDI_Status
10233WDI_GetStatsReq
10234(
10235 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10236 WDI_GetStatsRspCb wdiGetStatsRspCb,
10237 void* pUserData
10238);
10239
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010240#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010241/**
10242 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10243 to get roam rssi from the device. Upon
10244 the call of this API the WLAN DAL will pack and send a
10245 HAL Start request message to the lower RIVA sub-system
10246 if DAL is in state STARTED.
10247
10248 In state BUSY this request will be queued. Request won't
10249 be allowed in any other state.
10250
10251 WDI_Start must have been called.
10252
10253 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10254 specified by the Device Interface
10255
10256 wdiGetRoamRssispCb: callback for passing back the response
10257 of the get stats operation received from the device
10258
10259 pUserData: user data will be passed back with the
10260 callback
10261
10262 @see WDI_Start
10263 @return Result of the function call
10264*/
10265WDI_Status
10266WDI_GetRoamRssiReq
10267(
10268 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10269 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10270 void* pUserData
10271);
10272#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010273
10274/**
10275 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10276 it wishes to change the configuration of the WLAN
10277 Device. Upon the call of this API the WLAN DAL will pack
10278 and send a HAL Update CFG request message to the lower
10279 RIVA sub-system if DAL is in state STARTED.
10280
10281 In state BUSY this request will be queued. Request won't
10282 be allowed in any other state.
10283
10284 WDI_Start must have been called.
10285
10286 @param wdiUpdateCfgReqParams: the update cfg parameters as
10287 specified by the Device Interface
10288
10289 wdiUpdateCfgsRspCb: callback for passing back the
10290 response of the update cfg operation received from the
10291 device
10292
10293 pUserData: user data will be passed back with the
10294 callback
10295
10296 @see WDI_Start
10297 @return Result of the function call
10298*/
10299WDI_Status
10300WDI_UpdateCfgReq
10301(
10302 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10303 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10304 void* pUserData
10305);
10306
10307/**
10308 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10309 to the NV memory.
10310
10311 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10312 the Device Interface
10313
10314 wdiNvDownloadRspCb: callback for passing back the response of
10315 the NV Download operation received from the device
10316
10317 pUserData: user data will be passed back with the
10318 callback
10319
10320 @see WDI_PostAssocReq
10321 @return Result of the function call
10322*/
10323WDI_Status
10324WDI_NvDownloadReq
10325(
10326 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10327 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10328 void* pUserData
10329);
10330/**
10331 @brief WDI_AddBAReq will be called when the upper MAC has setup
10332 successfully a BA session and needs to notify the HW for
10333 the appropriate settings to take place. Upon the call of
10334 this API the WLAN DAL will pack and send a HAL Add BA
10335 request message to the lower RIVA sub-system if DAL is
10336 in state STARTED.
10337
10338 In state BUSY this request will be queued. Request won't
10339 be allowed in any other state.
10340
10341 WDI_PostAssocReq must have been called.
10342
10343 @param wdiAddBAReqParams: the add BA parameters as specified by
10344 the Device Interface
10345
10346 wdiAddBARspCb: callback for passing back the response of
10347 the add BA operation received from the device
10348
10349 pUserData: user data will be passed back with the
10350 callback
10351
10352 @see WDI_PostAssocReq
10353 @return Result of the function call
10354*/
10355WDI_Status
10356WDI_AddBAReq
10357(
10358 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10359 WDI_AddBARspCb wdiAddBARspCb,
10360 void* pUserData
10361);
10362
10363/**
10364 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10365 successfully a BA session and needs to notify the HW for
10366 the appropriate settings to take place. Upon the call of
10367 this API the WLAN DAL will pack and send a HAL Add BA
10368 request message to the lower RIVA sub-system if DAL is
10369 in state STARTED.
10370
10371 In state BUSY this request will be queued. Request won't
10372 be allowed in any other state.
10373
10374 WDI_PostAssocReq must have been called.
10375
10376 @param wdiAddBAReqParams: the add BA parameters as specified by
10377 the Device Interface
10378
10379 wdiAddBARspCb: callback for passing back the response of
10380 the add BA operation received from the device
10381
10382 pUserData: user data will be passed back with the
10383 callback
10384
10385 @see WDI_PostAssocReq
10386 @return Result of the function call
10387*/
10388WDI_Status
10389WDI_TriggerBAReq
10390(
10391 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10392 WDI_TriggerBARspCb wdiTriggerBARspCb,
10393 void* pUserData
10394);
10395
10396
10397/**
10398 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10399 frame xtl is enabled for a particular STA.
10400
10401 WDI_PostAssocReq must have been called.
10402
10403 @param uSTAIdx: STA index
10404
10405 @see WDI_PostAssocReq
10406 @return Result of the function call
10407*/
10408wpt_boolean WDI_IsHwFrameTxTranslationCapable
10409(
10410 wpt_uint8 uSTAIdx
10411);
10412
Katya Nigam6201c3e2014-05-27 17:51:42 +053010413
10414/**
10415 @brief WDI_IsSelfSTA - check if staid is self sta index
10416
10417 @param pWDICtx: pointer to the WLAN DAL context
10418 ucSTAIdx: station index
10419
10420 @return Result of the function call
10421*/
10422
10423wpt_boolean
10424WDI_IsSelfSTA
10425(
10426 void* pWDICtx,
10427 wpt_uint8 ucSTAIdx
10428);
10429
10430
Jeff Johnson295189b2012-06-20 16:38:30 -070010431#ifdef WLAN_FEATURE_VOWIFI_11R
10432/**
10433 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10434 the device of a successful add TSpec negotiation for 11r. HW
10435 needs to receive the TSpec Info from the UMAC in order
10436 to configure properly the QoS data traffic. Upon the
10437 call of this API the WLAN DAL will pack and send a HAL
10438 Aggregated Add TS request message to the lower RIVA sub-system if
10439 DAL is in state STARTED.
10440
10441 In state BUSY this request will be queued. Request won't
10442 be allowed in any other state.
10443
10444 WDI_PostAssocReq must have been called.
10445
10446 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10447 the Device Interface
10448
10449 wdiAggrAddTsRspCb: callback for passing back the response of
10450 the add TS operation received from the device
10451
10452 pUserData: user data will be passed back with the
10453 callback
10454
10455 @see WDI_PostAssocReq
10456 @return Result of the function call
10457*/
10458WDI_Status
10459WDI_AggrAddTSReq
10460(
10461 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10462 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10463 void* pUserData
10464);
10465#endif /* WLAN_FEATURE_VOWIFI_11R */
10466/**
10467 @brief WDI_STATableInit - Initializes the STA tables.
10468 Allocates the necesary memory.
10469
10470
10471 @param pWDICtx: pointer to the WLAN DAL context
10472
10473 @see
10474 @return Result of the function call
10475*/
10476
10477WDI_Status WDI_StubRunTest
10478(
10479 wpt_uint8 ucTestNo
10480);
10481
Jeff Johnson295189b2012-06-20 16:38:30 -070010482/**
10483 @brief WDI_FTMCommandReq -
10484 Route FTMRequest Command to HAL
10485
10486 @param ftmCommandReq: FTM request command body
10487 @param ftmCommandRspCb: Response CB
10488 @param pUserData: User data will be included with CB
10489
10490 @return Result of the function call
10491*/
10492WDI_Status WDI_FTMCommandReq
10493(
10494 WDI_FTMCommandReqType *ftmCommandReq,
10495 WDI_FTMCommandRspCb ftmCommandRspCb,
10496 void *pUserData
10497);
Jeff Johnson295189b2012-06-20 16:38:30 -070010498
10499/**
10500 @brief WDI_HostResumeReq will be called
10501
10502 In state BUSY this request will be queued. Request won't
10503 be allowed in any other state.
10504
10505
10506 @param pwdiResumeReqParams: as specified by
10507 the Device Interface
10508
10509 wdiResumeReqRspCb: callback for passing back the response of
10510 the Resume Req received from the device
10511
10512 pUserData: user data will be passed back with the
10513 callback
10514
10515 @see WDI_PostAssocReq
10516 @return Result of the function call
10517*/
10518WDI_Status
10519WDI_HostResumeReq
10520(
10521 WDI_ResumeParamsType* pwdiResumeReqParams,
10522 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10523 void* pUserData
10524);
10525
10526/**
10527 @brief WDI_GetAvailableResCount - Function to get the available resource
10528 for data and managemnt frames.
10529
10530 @param pContext: pointer to the WDI context
10531 @param wdiResPool: type of resource pool requesting
10532 @see
10533 @return Result of the function call
10534*/
10535
10536wpt_uint32 WDI_GetAvailableResCount
10537(
10538 void *pContext,
10539 WDI_ResPoolType wdiResPool
10540);
10541
10542/**
10543 @brief WDI_SetAddSTASelfReq will be called when the
10544 UMAC wanted to add self STA while opening any new session
10545 In state BUSY this request will be queued. Request won't
10546 be allowed in any other state.
10547
10548
10549 @param pwdiAddSTASelfParams: the add self sta parameters as
10550 specified by the Device Interface
10551
10552 pUserData: user data will be passed back with the
10553 callback
10554
10555 @see
10556 @return Result of the function call
10557*/
10558WDI_Status
10559WDI_AddSTASelfReq
10560(
10561 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10562 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10563 void* pUserData
10564);
10565
10566
10567/**
10568 @brief WDI_DelSTASelfReq will be called .
10569
10570 @param WDI_DelSTASelfReqParamsType
10571
10572 WDI_DelSTASelfRspCb: callback for passing back the
10573 response of the del sta self operation received from the
10574 device
10575
10576 pUserData: user data will be passed back with the
10577 callback
10578
10579 @see WDI_PostAssocReq
10580 @return Result of the function call
10581*/
10582WDI_Status
10583WDI_DelSTASelfReq
10584(
10585 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10586 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10587 void* pUserData
10588);
10589
10590/**
10591 @brief WDI_HostSuspendInd
10592
10593 Suspend Indication from the upper layer will be sent
10594 down to HAL
10595
10596 @param WDI_SuspendParamsType
10597
10598 @see
10599
10600 @return Status of the request
10601*/
10602WDI_Status
10603WDI_HostSuspendInd
10604(
10605 WDI_SuspendParamsType* pwdiSuspendIndParams
10606);
10607
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010608/**
10609 @brief WDI_TrafficStatsInd
10610
10611 Traffic Stats from the upper layer will be sent
10612 down to HAL
10613
10614 @param WDI_TrafficStatsIndType
10615
10616 @see
10617
10618 @return Status of the request
10619*/
10620WDI_Status
10621WDI_TrafficStatsInd
10622(
10623 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10624);
10625
Chet Lanctot186b5732013-03-18 10:26:30 -070010626#ifdef WLAN_FEATURE_11W
10627/**
10628 @brief WDI_ExcludeUnencryptedInd
10629 Register with HAL to receive/drop unencrypted frames
10630
10631 @param WDI_ExcludeUnencryptIndType
10632
10633 @see
10634
10635 @return Status of the request
10636*/
10637WDI_Status
10638WDI_ExcludeUnencryptedInd
10639(
10640 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10641);
10642#endif
10643
Yue Mab9c86f42013-08-14 15:59:08 -070010644/**
10645 @brief WDI_AddPeriodicTxPtrnInd
10646
10647 @param WDI_AddPeriodicTxPtrnParamsType
10648
10649 @see
10650
10651 @return Status of the request
10652*/
10653WDI_Status
10654WDI_AddPeriodicTxPtrnInd
10655(
10656 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10657);
10658
10659/**
10660 @brief WDI_DelPeriodicTxPtrnInd
10661
10662 @param WDI_DelPeriodicTxPtrnParamsType
10663
10664 @see
10665
10666 @return Status of the request
10667*/
10668WDI_Status
10669WDI_DelPeriodicTxPtrnInd
10670(
10671 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10672);
10673
Jeff Johnson295189b2012-06-20 16:38:30 -070010674#ifdef FEATURE_WLAN_SCAN_PNO
10675/**
10676 @brief WDI_SetPreferredNetworkList
10677
10678 @param pwdiPNOScanReqParams: the Set PNO as specified
10679 by the Device Interface
10680
10681 wdiPNOScanCb: callback for passing back the response
10682 of the Set PNO operation received from the
10683 device
10684
10685 pUserData: user data will be passed back with the
10686 callback
10687
10688 @see WDI_PostAssocReq
10689 @return Result of the function call
10690*/
10691WDI_Status
10692WDI_SetPreferredNetworkReq
10693(
10694 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10695 WDI_PNOScanCb wdiPNOScanCb,
10696 void* pUserData
10697);
10698
10699/**
10700 @brief WDI_SetRssiFilterReq
10701
10702 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10703 specified by the Device Interface
10704
10705 wdiRssiFilterCb: callback for passing back the response
10706 of the Set RSSI Filter operation received from the
10707 device
10708
10709 pUserData: user data will be passed back with the
10710 callback
10711
10712 @see WDI_PostAssocReq
10713 @return Result of the function call
10714*/
10715WDI_Status
10716WDI_SetRssiFilterReq
10717(
10718 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10719 WDI_RssiFilterCb wdiRssiFilterCb,
10720 void* pUserData
10721);
10722
10723/**
10724 @brief WDI_UpdateScanParams
10725
10726 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10727 by the Device Interface
10728
10729 wdiUpdateScanParamsCb: callback for passing back the response
10730 of the Set PNO operation received from the
10731 device
10732
10733 pUserData: user data will be passed back with the
10734 callback
10735
10736 @see WDI_PostAssocReq
10737 @return Result of the function call
10738*/
10739WDI_Status
10740WDI_UpdateScanParamsReq
10741(
10742 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10743 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10744 void* pUserData
10745);
10746#endif // FEATURE_WLAN_SCAN_PNO
10747
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010748#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10749/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010750 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010751
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010752 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010753 by the Device Interface
10754
10755 wdiRoamOffloadScanCb: callback for passing back the response
10756 of the Start Roam Candidate Lookup operation received from the
10757 device
10758
10759 pUserData: user data will be passed back with the
10760 callback
10761
10762 @return Result of the function call
10763*/
10764WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010765WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010766(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010767 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010768 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10769 void* pUserData
10770);
10771#endif
10772
Jeff Johnson295189b2012-06-20 16:38:30 -070010773/**
10774 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10775 wants to set the Tx Per Tracking configurations.
10776 Upon the call of this API the WLAN DAL will pack
10777 and send a HAL Set Tx Per Tracking request message to the
10778 lower RIVA sub-system if DAL is in state STARTED.
10779
10780 In state BUSY this request will be queued. Request won't
10781 be allowed in any other state.
10782
10783 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10784 specified by the Device Interface
10785
10786 wdiSetTxPerTrackingCb: callback for passing back the
10787 response of the set Tx PER Tracking configurations operation received
10788 from the device
10789
10790 pUserData: user data will be passed back with the
10791 callback
10792
10793 @return Result of the function call
10794*/
10795WDI_Status
10796WDI_SetTxPerTrackingReq
10797(
10798 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10799 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10800 void* pUserData
10801);
10802
10803/**
10804 @brief WDI_SetTmLevelReq
10805 If HW Thermal condition changed, driver should react based on new
10806 HW thermal condition.
10807
10808 @param pwdiSetTmLevelReq: New thermal condition information
10809
10810 pwdiSetTmLevelRspCb: callback
10811
10812 usrData: user data will be passed back with the
10813 callback
10814
10815 @return Result of the function call
10816*/
10817WDI_Status
10818WDI_SetTmLevelReq
10819(
10820 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10821 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10822 void *usrData
10823);
10824
10825#ifdef WLAN_FEATURE_PACKET_FILTERING
10826/**
10827 @brief WDI_8023MulticastListReq
10828
10829 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10830 List as specified by the Device Interface
10831
10832 wdi8023MulticastListCallback: callback for passing back
10833 the response of the Set 8023 Multicast List operation
10834 received from the device
10835
10836 pUserData: user data will be passed back with the
10837 callback
10838
10839 @see WDI_PostAssocReq
10840 @return Result of the function call
10841*/
10842WDI_Status
10843WDI_8023MulticastListReq
10844(
10845 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10846 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10847 void* pUserData
10848);
10849
10850/**
10851 @brief WDI_ReceiveFilterSetFilterReq
10852
10853 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10854 specified by the Device Interface
10855
10856 wdiReceiveFilterSetFilterReqCallback: callback for
10857 passing back the response of the Set Receive Filter
10858 operation received from the device
10859
10860 pUserData: user data will be passed back with the
10861 callback
10862
10863 @see WDI_PostAssocReq
10864 @return Result of the function call
10865*/
10866WDI_Status
10867WDI_ReceiveFilterSetFilterReq
10868(
10869 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10870 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10871 void* pUserData
10872);
10873
10874/**
10875 @brief WDI_PCFilterMatchCountReq
10876
10877 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10878 Count
10879
10880 wdiPCFilterMatchCountCallback: callback for passing back
10881 the response of the D0 PC Filter Match Count operation
10882 received from the device
10883
10884 pUserData: user data will be passed back with the
10885 callback
10886
10887 @see WDI_PostAssocReq
10888 @return Result of the function call
10889*/
10890WDI_Status
10891WDI_FilterMatchCountReq
10892(
10893 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10894 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10895 void* pUserData
10896);
10897
10898/**
10899 @brief WDI_ReceiveFilterClearFilterReq
10900
10901 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10902 specified by the Device Interface
10903
10904 wdiReceiveFilterClearFilterCallback: callback for
10905 passing back the response of the Clear Filter
10906 operation received from the device
10907
10908 pUserData: user data will be passed back with the
10909 callback
10910
10911 @see WDI_PostAssocReq
10912 @return Result of the function call
10913*/
10914WDI_Status
10915WDI_ReceiveFilterClearFilterReq
10916(
10917 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10918 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10919 void* pUserData
10920);
10921#endif // WLAN_FEATURE_PACKET_FILTERING
10922
10923/**
10924 @brief WDI_HALDumpCmdReq
10925 Post HAL DUMP Command Event
10926
10927 @param halDumpCmdReqParams: Hal Dump Command Body
10928 @param halDumpCmdRspCb: callback for passing back the
10929 response
10930 @param pUserData: Client Data
10931
10932 @see
10933 @return Result of the function call
10934*/
10935WDI_Status WDI_HALDumpCmdReq(
10936 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10937 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10938 void *pUserData
10939);
10940
10941
10942/**
10943 @brief WDI_SetPowerParamsReq
10944
10945 @param pwdiPowerParamsReqParams: the Set Power Params as
10946 specified by the Device Interface
10947
10948 wdiPowerParamsCb: callback for passing back the response
10949 of the Set Power Params operation received from the
10950 device
10951
10952 pUserData: user data will be passed back with the
10953 callback
10954
10955 @return Result of the function call
10956*/
10957WDI_Status
10958WDI_SetPowerParamsReq
10959(
10960 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10961 WDI_SetPowerParamsCb wdiPowerParamsCb,
10962 void* pUserData
10963);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010964/**
10965 @brief WDI_dhcpStartInd
10966 Forward the DHCP Start event
10967
10968 @param
10969
10970 wdiDHCPInd: device mode and MAC address is passed
10971
10972 @see
10973 @return Result of the function call
10974*/
10975
10976WDI_Status
10977WDI_dhcpStartInd
10978(
10979 WDI_DHCPInd *wdiDHCPInd
10980);
10981/**
10982 @brief WDI_dhcpStopReq
10983 Forward the DHCP Stop event
10984
10985 @param
10986
10987 wdiDHCPInd: device mode and MAC address is passed
10988
10989 @see
10990 @return Result of the function call
10991*/
10992
10993WDI_Status
10994WDI_dhcpStopInd
10995(
10996 WDI_DHCPInd *wdiDHCPInd
10997);
Jeff Johnson295189b2012-06-20 16:38:30 -070010998
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010999/**
11000 @brief WDI_RateUpdateInd will be called when the upper MAC
11001 requests the device to update rates.
11002
11003 In state BUSY this request will be queued. Request won't
11004 be allowed in any other state.
11005
11006
11007 @param wdiRateUpdateIndParams
11008
11009
11010 @see WDI_Start
11011 @return Result of the function call
11012*/
11013WDI_Status
11014WDI_RateUpdateInd
11015(
11016 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
11017);
11018
Jeff Johnson295189b2012-06-20 16:38:30 -070011019#ifdef WLAN_FEATURE_GTK_OFFLOAD
11020/**
11021 @brief WDI_GTKOffloadReq will be called when the upper MAC
11022 wants to set GTK Rekey Counter while in power save. Upon
11023 the call of this API the WLAN DAL will pack and send a
11024 HAL GTK offload request message to the lower RIVA
11025 sub-system if DAL is in state STARTED.
11026
11027 In state BUSY this request will be queued. Request won't
11028 be allowed in any other state.
11029
11030 WDI_PostAssocReq must have been called.
11031
11032 @param pwdiGtkOffloadParams: the GTK offload as specified
11033 by the Device Interface
11034
11035 wdiGtkOffloadCb: callback for passing back the response
11036 of the GTK offload operation received from the device
11037
11038 pUserData: user data will be passed back with the
11039 callback
11040
11041 @see WDI_PostAssocReq
11042 @return Result of the function call
11043*/
11044WDI_Status
11045WDI_GTKOffloadReq
11046(
11047 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
11048 WDI_GtkOffloadCb wdiGtkOffloadCb,
11049 void* pUserData
11050);
11051
11052/**
11053 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
11054 MAC wants to get GTK Rekey Counter while in power save.
11055 Upon the call of this API the WLAN DAL will pack and
11056 send a HAL GTK offload request message to the lower RIVA
11057 sub-system if DAL is in state STARTED.
11058
11059 In state BUSY this request will be queued. Request won't
11060 be allowed in any other state.
11061
11062 WDI_PostAssocReq must have been called.
11063
11064 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
11065 Information Message as specified by the
11066 Device Interface
11067
11068 wdiGtkOffloadGetInfoCb: callback for passing back the
11069 response of the GTK offload operation received from the
11070 device
11071
11072 pUserData: user data will be passed back with the
11073 callback
11074
11075 @see WDI_PostAssocReq
11076 @return Result of the function call
11077*/
11078WDI_Status
11079WDI_GTKOffloadGetInfoReq
11080(
11081 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
11082 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
11083 void* pUserData
11084);
11085#endif // WLAN_FEATURE_GTK_OFFLOAD
11086
11087/**
11088 @brief WDI_featureCapsExchangeReq
11089 Post feature capability bitmap exchange event.
11090 Host will send its own capability to FW in this req and
11091 expect FW to send its capability back as a bitmap in Response
11092
11093 @param
11094
11095 wdiFeatCapsExcRspCb: callback called on getting the response.
11096 It is kept to mantain similarity between WDI reqs and if needed, can
11097 be used in future. Currently, It is set to NULL
11098
11099 pUserData: user data will be passed back with the
11100 callback
11101
11102 @see
11103 @return Result of the function call
11104*/
11105WDI_Status
11106WDI_featureCapsExchangeReq
11107(
11108 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
11109 void* pUserData
11110);
11111
11112/**
Yathish9f22e662012-12-10 14:21:35 -080011113 @brief Disable Active mode offload in Host
11114
11115 @param void
11116 @see
11117 @return void
11118*/
11119void
11120WDI_disableCapablityFeature(wpt_uint8 feature_index);
11121
11122
11123/**
Jeff Johnson295189b2012-06-20 16:38:30 -070011124 @brief WDI_getHostWlanFeatCaps
11125 WDI API that returns whether the feature passed to it as enum value in
11126 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
11127 variable storing host capability bitmap to find this. This can be used by
11128 other moduels to decide certain things like call different APIs based on
11129 whether a particular feature is supported.
11130
11131 @param
11132
11133 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
11134
11135 @see
11136 @return
11137 0 - if the feature is NOT supported in host
11138 any non-zero value - if the feature is SUPPORTED in host.
11139*/
11140wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
11141
11142/**
11143 @brief WDI_getFwWlanFeatCaps
11144 WDI API that returns whether the feature passed to it as enum value in
11145 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
11146 variable storing host capability bitmap to find this. This can be used by
11147 other moduels to decide certain things like call different APIs based on
11148 whether a particular feature is supported.
11149
11150 @param
11151
Jeff Johnsone7245742012-09-05 17:12:55 -070011152 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
11153 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070011154
11155 @see
11156 @return
11157 0 - if the feature is NOT supported in FW
11158 any non-zero value - if the feature is SUPPORTED in FW.
11159*/
11160wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
11161
11162/**
11163 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
11164 api version
11165
11166 @param WDI_WlanVersionType: Wlan version structure
11167 @see
11168 @return none
11169*/
11170
11171void WDI_GetWcnssCompiledApiVersion
11172(
11173 WDI_WlanVersionType *pWcnssApiVersion
11174);
11175
Mohit Khanna4a70d262012-09-11 16:30:12 -070011176#ifdef WLAN_FEATURE_11AC
11177WDI_Status
11178WDI_UpdateVHTOpModeReq
11179(
11180 WDI_UpdateVHTOpMode *pData,
11181 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
11182 void* pUserData
11183);
Jeff Johnson295189b2012-06-20 16:38:30 -070011184
Mohit Khanna4a70d262012-09-11 16:30:12 -070011185#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011186
11187/**
11188 @brief WDI_TransportChannelDebug -
11189 Display DXE Channel debugging information
11190 User may request to display DXE channel snapshot
11191 Or if host driver detects any abnormal stcuk may display
11192
Jeff Johnsonb88db982012-12-10 13:34:59 -080011193 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011194 @param debugFlags : Enable stall detect features
11195 defined by WPAL_DeviceDebugFlags
11196 These features may effect
11197 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011198 @see
11199 @return none
11200*/
11201void WDI_TransportChannelDebug
11202(
11203 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011204 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011205);
11206
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011207/**
11208 @brief WDI_SsrTimerCB
11209 Callback function for SSR timer, if this is called then the graceful
11210 shutdown for Riva did not happen.
11211
11212 @param pUserData : user data to timer
11213
11214 @see
11215 @return none
11216*/
11217void
11218WDI_SsrTimerCB
11219(
11220 void *pUserData
11221);
11222
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011223/**
11224 @brief WDI_SetEnableSSR -
11225 This API is called to enable/disable SSR on WDI timeout.
11226
11227 @param enableSSR : enable/disable SSR
11228
11229 @see
11230 @return none
11231*/
11232void WDI_SetEnableSSR(wpt_boolean enableSSR);
11233
Leo Chang9056f462013-08-01 19:21:11 -070011234#ifdef FEATURE_WLAN_LPHB
11235/**
11236 @brief WDI_LPHBConfReq
11237 This API is called to config FW LPHB rule
11238
11239 @param lphbconfParam : LPHB rule should config to FW
11240 usrData : Client context
11241 lphbCfgCb : Configuration status callback
11242 @see
11243 @return SUCCESS or FAIL
11244*/
11245WDI_Status WDI_LPHBConfReq
11246(
11247 void *lphbconfParam,
11248 void *usrData,
11249 WDI_LphbCfgCb lphbCfgCb
11250);
11251#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011252
Dino Mycle41bdc942014-06-10 11:30:24 +053011253#ifdef WLAN_FEATURE_EXTSCAN
11254/**
11255 @brief WDI_EXTScanStartReq
11256 This API is called to send EXTScan start request to FW
11257
11258 @param pwdiEXTScanStartReqParams : pointer to the request params.
11259 wdiEXTScanStartRspCb : callback on getting the response.
11260 usrData : Client context
11261 @see
11262 @return SUCCESS or FAIL
11263*/
11264WDI_Status WDI_EXTScanStartReq
11265(
11266 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11267 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11268 void* pUserData
11269);
11270
11271/**
11272 @brief WDI_EXTScanStopReq
11273 This API is called to stop the EXTScan operations in the FW
11274
11275 @param pwdiEXTScanStopReqParams : pointer to the request params.
11276 wdiEXTScanStopRspCb : callback on getting the response.
11277 usrData : Client context
11278 @see
11279 @return SUCCESS or FAIL
11280*/
11281WDI_Status WDI_EXTScanStopReq
11282(
11283 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11284 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11285 void* pUserData
11286);
11287
11288/**
11289 @brief WDI_EXTScanGetCachedResultsReq
11290 This API is called to send get link layer stats request in FW
11291
11292 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11293 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11294 usrData : Client context
11295 @see
11296 @return SUCCESS or FAIL
11297*/
11298WDI_Status WDI_EXTScanGetCachedResultsReq
11299(
11300 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11301 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11302 void* pUserData
11303);
11304
11305/**
11306 @brief WDI_EXTScanGetCapabilitiesReq
11307 This API is called to send get EXTScan capabilities from FW
11308
11309 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11310 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11311 usrData : Client context
11312 @see
11313 @return SUCCESS or FAIL
11314*/
11315WDI_Status WDI_EXTScanGetCapabilitiesReq
11316(
11317 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11318 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11319 void* pUserData
11320);
11321
11322/**
11323 @brief WDI_EXTScanSetBSSIDHotlistReq
11324 This API is called to send Set BSSID Hotlist Request FW
11325
11326 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11327 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11328 usrData : Client context
11329 @see
11330 @return SUCCESS or FAIL
11331*/
11332WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11333(
11334 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11335 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11336 void* pUserData
11337);
11338
11339/**
11340 @brief WDI_EXTScanResetBSSIDHotlistReq
11341 This API is called to send Reset BSSID Hotlist Request FW
11342
11343 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11344 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11345 usrData : Client context
11346 @see
11347 @return SUCCESS or FAIL
11348*/
11349WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11350(
11351 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11352 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11353 void* pUserData
11354);
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +053011355
11356/**
11357 @brief WDI_EXTScanSetSSIDHotlistReq
11358 This API is called to send Set SSID Hotlist Request FW
11359
11360 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11361 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11362 usrData : Client context
11363 @see
11364 @return SUCCESS or FAIL
11365*/
11366WDI_Status WDI_EXTScanSetSSIDHotlistReq
11367(
11368 WDI_EXTScanSetSSIDHotlistReqParams* pwdiEXTScanSetSSIDHotlistReqParams,
11369 WDI_EXTScanSetSSIDHotlistRspCb wdiEXTScanSetSSIDHotlistRspCb,
11370 void* pUserData
11371);
11372
11373/**
11374 @brief WDI_EXTScanResetSSIDHotlistReq
11375 This API is called to send Reset SSID Hotlist Request FW
11376
11377 @param pwdiEXTScanResetSsidHotlistReqParams : pointer to the request params.
11378 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11379 usrData : Client context
11380 @see
11381 @return SUCCESS or FAIL
11382*/
11383WDI_Status WDI_EXTScanResetSSIDHotlistReq
11384(
11385 WDI_EXTScanResetSSIDHotlistReqParams* pwdiEXTScanResetSSIDHotlistReqParams,
11386 WDI_EXTScanResetSSIDHotlistRspCb wdiEXTScanResetSSIDHotlistRspCb,
11387 void* pUserData
11388);
11389
Dino Mycle41bdc942014-06-10 11:30:24 +053011390#endif /* WLAN_FEATURE_EXTSCAN */
11391
Sunil Duttbd736ed2014-05-26 21:19:41 +053011392#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11393/**
11394 @brief WDI_LLStatsSetReq
11395 This API is called to send set link layer stats request to FW
11396
11397 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11398 wdiLLStatsSetRspCb : set link layer stats response callback
11399 usrData : Client context
11400 @see
11401 @return SUCCESS or FAIL
11402*/
11403WDI_Status WDI_LLStatsSetReq
11404(
11405 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11406 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11407 void* pUserData
11408);
11409
11410/**
11411 @brief WDI_LLStatsGetReq
11412 This API is called to send get link layer stats request in FW
11413
11414 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11415 wdiLLStatsGetRspCb : get link layer stats response callback
11416 usrData : Client context
11417 @see
11418 @return SUCCESS or FAIL
11419*/
11420WDI_Status WDI_LLStatsGetReq
11421(
11422 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11423 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11424 void* pUserData
11425);
11426
11427/**
11428 @brief WDI_LLStatsClearReq
11429 This API is called to set clear link layer stats request in FW
11430
11431 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11432 iwdiLLStatsClearRspCb : clear link layer stats response callback
11433 usrData : Client context
11434 @see
11435 @return SUCCESS or FAIL
11436*/
11437WDI_Status WDI_LLStatsClearReq
11438(
11439 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11440 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11441 void* pUserData
11442);
11443#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11444
Abhishek Singh85b74712014-10-08 11:38:19 +053011445WDI_Status WDI_FWStatsGetReq
11446(
11447 void* pwdiFWStatsGetReqParams,
11448 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11449 wpt_uint32 pUserData
11450);
11451
Katya Nigamf0511f62015-05-05 16:40:57 +053011452WDI_Status WDI_MonStartReq
11453(
11454 WDI_MonStartReqType* pwdiMonStartReqParams,
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053011455 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053011456 void* pUserData
11457);
11458
11459WDI_Status WDI_MonStopReq
11460(
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053011461 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053011462 void* pUserData
11463);
11464
Rajeev79dbe4c2013-10-05 11:03:42 +053011465#ifdef FEATURE_WLAN_BATCH_SCAN
11466/**
11467 @brief WDI_SetBatchScanReq
11468 This API is called to set batch scan request in FW
11469
11470 @param pBatchScanReqParam : pointer to set batch scan re param
11471 usrData : Client context
11472 setBatchScanRspCb : set batch scan resp callback
11473 @see
11474 @return SUCCESS or FAIL
11475*/
11476WDI_Status WDI_SetBatchScanReq
11477(
11478 void *pBatchScanReqParam,
11479 void *usrData,
11480 WDI_SetBatchScanCb setBatchScanRspCb
11481);
11482
11483/**
11484 @brief WDI_StopBatchScanInd
11485
11486 @param none
11487
11488 @see
11489
11490 @return Status of the request
11491*/
11492WDI_Status
11493WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11494
11495/**
11496 @brief WDI_TriggerBatchScanResultInd
11497 This API is called to pull batch scan result from FW
11498
11499 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11500 usrData : Client context
11501 setBatchScanRspCb : get batch scan resp callback
11502 @see
11503 @return SUCCESS or FAIL
11504*/
11505WDI_Status
11506WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11507
11508
11509#endif /*FEATURE_WLAN_BATCH_SCAN*/
11510
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011511/**
11512 @brief wdi_HT40OBSSScanInd
11513 This API is called to start OBSS scan
11514
11515 @param pWdiReq : pointer to get ind param
11516 @see
11517 @return SUCCESS or FAIL
11518*/
11519
11520WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11521
11522/**
11523 @brief wdi_HT40OBSSStopScanInd
11524 This API is called to stop OBSS scan
11525
11526 @param bssIdx : bssIdx to stop
11527 @see
11528 @return SUCCESS or FAIL
11529*/
11530
11531WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11532
c_hpothu92367912014-05-01 15:18:17 +053011533
11534WDI_Status WDI_GetBcnMissRate( void *pUserData,
11535 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11536 wpt_uint8 *bssid
11537 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011538WDI_Status
11539WDI_SetSpoofMacAddrReq
11540(
11541WDI_SpoofMacAddrInfoType *pWdiReq,
11542 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11543 void* pUserData
11544);
c_hpothu92367912014-05-01 15:18:17 +053011545
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011546WDI_Status
11547WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11548 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11549 void* pUserData
11550 );
Srinivas Dasari32a79262015-02-19 13:04:49 +053011551
11552/**
11553 @brief WDI_NanRequest
11554 NAN request
11555
11556 @param pwdiNanRequest: data
11557
11558 pwdiNanCb: callback
11559
11560 usrData: user data will be passed back with the
11561 callback
11562
11563 @return Result of the function call
11564*/
11565WDI_Status
11566WDI_NanRequest
11567(
11568 WDI_NanRequestType *pwdiNanRequest,
11569 void *usrData
11570);
11571
Abhishek Singh41988ba2015-05-25 19:42:29 +053011572/**
11573 @brief WDI_SetRtsCtsHTVhtInd
11574 Set RTS/CTS indication for diff modes.
11575
11576 @param rtsCtsVal: Bit mask value to enable RTS/CTS for different modes
11577
11578 @return Result of the function call
11579*/
11580
11581WDI_Status
11582WDI_SetRtsCtsHTVhtInd
11583(
11584 wpt_uint32 rtsCtsVal
11585);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011586
Mihir Shete5affadc2015-05-29 20:54:57 +053011587WDI_Status
11588WDI_FWLoggingDXEdoneInd
11589(
11590 WDI_FWLoggingDXEdoneIndInfoType* pwdiFWLoggingDXEdoneInd
11591);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011592
Mahesh A Saptasagarbeca12c2015-09-07 16:21:06 +053011593/**
11594 @brief WDI_EnableDisableCAEventInd
11595 Enable/Disable Chan Avoidance indication
11596
11597 @param val: Enable/Disable Chan Avoidance indication
11598
11599 @return Result of the function call
11600*/
11601
11602WDI_Status
11603WDI_EnableDisableCAEventInd
11604(
11605wpt_uint32 val
11606);
11607
Jeff Johnson295189b2012-06-20 16:38:30 -070011608#ifdef __cplusplus
11609 }
11610#endif
11611
Jeff Johnson295189b2012-06-20 16:38:30 -070011612#endif /* #ifndef WLAN_QCT_WDI_H */