prima: WLAN Driver Release 3.1.7.9

This is the initial release of the Prima WLAN Driver
diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi_i.h b/CORE/WDI/CP/inc/wlan_qct_wdi_i.h
new file mode 100644
index 0000000..264c907
--- /dev/null
+++ b/CORE/WDI/CP/inc/wlan_qct_wdi_i.h
@@ -0,0 +1,4893 @@
+/*
+ * Copyright (c) 2012, Code Aurora Forum. All rights reserved.
+ *
+ * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
+ *
+ *
+ * Permission to use, copy, modify, and/or distribute this software for
+ * any purpose with or without fee is hereby granted, provided that the
+ * above copyright notice and this permission notice appear in all
+ * copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+ * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef WLAN_QCT_WDI_I_H
+#define WLAN_QCT_WDI_I_H
+
+/*===========================================================================
+
+         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 
+              I N T E R N A L     A P I       F O R    T H E
+                                 D A T A   P A T H 
+                
+                   
+DESCRIPTION
+  This file contains the internal API exposed by the DAL Control Path Core 
+  module to be used by the DAL Data Path Core. 
+  
+      
+  Copyright (c) 2010 QUALCOMM Incorporated. All Rights Reserved.
+  Qualcomm Confidential and Proprietary
+===========================================================================*/
+
+
+/*===========================================================================
+
+                      EDIT HISTORY FOR FILE
+
+
+  This section contains comments describing changes made to the module.
+  Notice that changes are listed in reverse chronological order.
+
+
+  $Header:$ $DateTime: $ $Author: $
+
+
+when        who    what, where, why
+--------    ---    ----------------------------------------------------------
+10/05/11    hap     Adding support for Keep Alive
+08/19/10    lti     Created module.
+
+===========================================================================*/
+
+#include "wlan_qct_pal_type.h"
+#include "wlan_qct_pal_api.h"
+#include "wlan_qct_pal_list.h"
+#include "wlan_qct_pal_sync.h"
+#include "wlan_qct_pal_timer.h"
+#include "wlan_qct_wdi_cts.h" 
+#include "wlan_qct_wdi_bd.h" 
+
+#include "wlan_hal_msg.h"
+#include "wlan_status_code.h"
+#include "wlan_qct_dev_defs.h"
+/*----------------------------------------------------------------------------
+ * Preprocessor Definitions and Constants
+ * -------------------------------------------------------------------------*/
+
+/*Assert macro - redefined for WDI so it is more flexible in disabling*/
+#define WDI_ASSERT(_cond) WPAL_ASSERT(_cond)
+
+/*Error codes that can be returned by WDI - the HAL Error codes are not 
+ propagated outside WDI because they are too explicit when refering to RIVA
+ HW errors - they are masked under dev internal failure*/
+#define WDI_ERR_BASIC_OP_FAILURE           0 
+#define WDI_ERR_TRANSPORT_FAILURE          1 
+#define WDI_ERR_INVALID_RSP_FMT            2 
+#define WDI_ERR_RSP_TIMEOUT                3 
+#define WDI_ERR_DEV_INTERNAL_FAILURE       4
+
+/*In prima 12 HW stations are supported including BCAST STA(staId 0)
+ and SELF STA(staId 1) so total ASSOC stations which can connect to Prima
+ SoftAP = 12 - 1(Self STa) - 1(Bcast Sta) = 10 Stations. */
+#define WDI_MAX_SUPPORTED_STAS    12 
+#define WDI_MAX_SUPPORTED_BSS     5 
+
+/* Control transport channel size*/
+#define WDI_CT_CHANNEL_SIZE 4096
+
+/*Invalid BSS index ! TO DO: Must come from the HAL header file*/
+#define WDI_BSS_INVALID_IDX 0xFF
+
+#ifdef ANI_MANF_DIAG
+#define WDI_FTM_MAX_RECEIVE_BUFFER   6500
+#endif /* ANI_MANF_DIAG */
+
+/*---------------------------------------------------------------------------
+  DAL Control Path Main States
+---------------------------------------------------------------------------*/      
+typedef enum
+{
+  /* Transition in this state made upon creation and when a close request is 
+     received*/
+  WDI_INIT_ST = 0,      
+
+  /* Transition happens after a Start response was received from HAL (as a
+  result of a previously sent HAL Request)*/
+  WDI_STARTED_ST,     
+
+  /* Transition happens when a Stop request was received */
+  WDI_STOPPED_ST, 
+
+  /* Transition happens when a request is being sent down to HAL and we are
+    waiting for the response */
+  WDI_BUSY_ST,  
+
+  /* Transition happens when 'SSR' shutdown request is recieved.*/
+  WDI_SHUTDOWN_ST,
+
+  WDI_MAX_ST
+}WDI_MainStateType;
+
+
+/*---------------------------------------------------------------------------
+  DAL Control Path Scan States
+---------------------------------------------------------------------------*/      
+typedef enum
+{
+  /*The flag will be set to this state when init is called. Once the flag has   
+    this value the only two scanning API calls allowed are Scan Start and 
+    Scan Finished*/
+  WDI_SCAN_INITIALIZED_ST = 0, 
+
+  /*The flag will be set to this value once the Start Scan API is called.   
+    When the flag has this value only Scan End API will be allowed. */
+  WDI_SCAN_STARTED_ST     = 1, 
+
+  /*The flag will be set to this value when End Scan API is called. When the   
+    flag is set to this value the only two Scan APIs allowed are Start and 
+    Finish. */
+  WDI_SCAN_ENDED_ST       = 2, 
+
+  /*The flag will be set to this value in the beginning before init is called   
+    and after the Finish API is called. No other scan APIs will be allowed 
+    in this state until Scan Init is called again. */
+  WDI_SCAN_FINISHED_ST    = 3,
+
+  WDI_SCAN_MAX_ST
+}WDI_ScanStateType;
+
+/*--------------------------------------------------------------------------- 
+   WLAN DAL BSS Session Type - used to allow simulatneous association
+   and keep track of each associated session 
+ ---------------------------------------------------------------------------*/
+#define WDI_MAX_BSS_SESSIONS  10
+
+typedef enum
+{
+  /*Init state*/
+  WDI_ASSOC_INIT_ST, 
+
+  /*Joining State*/
+  WDI_ASSOC_JOINING_ST, 
+
+  /*Associated state*/
+  WDI_ASSOC_POST_ST,
+
+  WDI_ASSOC_MAX_ST
+}WDI_AssocStateType;
+
+/*--------------------------------------------------------------------------- 
+   WLAN DAL Supported Request Types
+ ---------------------------------------------------------------------------*/
+typedef enum
+{
+  /*WLAN DAL START Request*/
+  WDI_START_REQ  = 0, 
+
+  /*WLAN DAL STOP Request*/
+  WDI_STOP_REQ   = 1, 
+
+  /*WLAN DAL STOP Request*/
+  WDI_CLOSE_REQ  = 2, 
+
+
+  /*SCAN*/
+  /*WLAN DAL Init Scan Request*/
+  WDI_INIT_SCAN_REQ    = 3, 
+
+  /*WLAN DAL Start Scan Request*/
+  WDI_START_SCAN_REQ   = 4, 
+
+  /*WLAN DAL End Scan Request*/
+  WDI_END_SCAN_REQ     = 5, 
+
+  /*WLAN DAL Finish Scan Request*/
+  WDI_FINISH_SCAN_REQ  = 6, 
+
+
+  /*ASSOCIATION*/
+  /*WLAN DAL Join Request*/
+  WDI_JOIN_REQ          = 7, 
+
+  /*WLAN DAL Config BSS Request*/
+  WDI_CONFIG_BSS_REQ    = 8, 
+
+  /*WLAN DAL Del BSS Request*/
+  WDI_DEL_BSS_REQ       = 9, 
+
+  /*WLAN DAL Post Assoc Request*/
+  WDI_POST_ASSOC_REQ    = 10, 
+
+  /*WLAN DAL Del STA Request*/
+  WDI_DEL_STA_REQ       = 11, 
+
+  /*Security*/
+  /*WLAN DAL Set BSS Key Request*/
+  WDI_SET_BSS_KEY_REQ   = 12,
+  
+  /*WLAN DAL Remove BSS Key Request*/ 
+  WDI_RMV_BSS_KEY_REQ   = 13,
+  
+  /*WLAN DAL Set STA Key Request*/ 
+  WDI_SET_STA_KEY_REQ   = 14,
+  
+  /*WLAN DAL Remove STA Key Request*/ 
+  WDI_RMV_STA_KEY_REQ   = 15, 
+
+  /*QOS and BA*/
+  /*WLAN DAL Add TSpec Request*/
+  WDI_ADD_TS_REQ        = 16,
+  
+  /*WLAN DAL Delete TSpec Request*/ 
+  WDI_DEL_TS_REQ        = 17,
+  
+  /*WLAN DAL Update EDCA Params Request*/ 
+  WDI_UPD_EDCA_PRMS_REQ = 18,
+
+  /*WLAN DAL Add BA Session Request*/
+  WDI_ADD_BA_SESSION_REQ = 19,
+
+  /*WLAN DAL Delete BA Request*/ 
+  WDI_DEL_BA_REQ        = 20,
+
+   /* Miscellaneous Control */
+  /*WLAN DAL Channel Switch Request*/ 
+  WDI_CH_SWITCH_REQ     = 21,
+  
+  /*WLAN DAL Config STA Request*/ 
+  WDI_CONFIG_STA_REQ    = 22, 
+
+  /*WLAN DAL Set Link State Request*/ 
+  WDI_SET_LINK_ST_REQ   = 23,
+  
+  /*WLAN DAL Get Stats Request*/ 
+  WDI_GET_STATS_REQ     = 24, 
+
+ /*WLAN DAL Update Config Request*/ 
+  WDI_UPDATE_CFG_REQ    = 25, 
+
+  /* WDI ADD BA Request */
+  WDI_ADD_BA_REQ        = 26,
+
+  /* WDI Trigger BA Request */
+  WDI_TRIGGER_BA_REQ    = 27,
+
+  /*WLAN DAL Update Beacon Params Request*/ 
+  WDI_UPD_BCON_PRMS_REQ = 28,
+
+  /*WLAN DAL Send Beacon template Request*/ 
+  WDI_SND_BCON_REQ      = 29,
+
+  /*WLAN DAL Send Probe Response Template Request*/ 
+  WDI_UPD_PROBE_RSP_TEMPLATE_REQ = 30,
+
+  /*WLAN DAL Set STA Bcast Key Request*/ 
+  WDI_SET_STA_BCAST_KEY_REQ      = 31,
+  
+  /*WLAN DAL Remove STA Bcast Key Request*/ 
+  WDI_RMV_STA_BCAST_KEY_REQ      = 32, 
+
+  /*WLAN DAL Set Max Tx Power Request*/
+  WDI_SET_MAX_TX_POWER_REQ       = 33,
+  
+  /* WLAN DAL P2P GO Notice Of Absence Request */
+  WDI_P2P_GO_NOTICE_OF_ABSENCE_REQ    = 34,
+
+  /*WLAN DAL Enter IMPS Request*/ 
+  WDI_ENTER_IMPS_REQ    = 35, 
+
+  /*WLAN DAL Exit IMPS Request*/ 
+  WDI_EXIT_IMPS_REQ     = 36, 
+
+  /*WLAN DAL Enter BMPS Request*/ 
+  WDI_ENTER_BMPS_REQ    = 37, 
+
+  /*WLAN DAL Exit BMPS Request*/ 
+  WDI_EXIT_BMPS_REQ     = 38, 
+
+  /*WLAN DAL Enter UAPSD Request*/ 
+  WDI_ENTER_UAPSD_REQ   = 39, 
+
+  /*WLAN DAL Exit UAPSD Request*/ 
+  WDI_EXIT_UAPSD_REQ    = 40, 
+
+  /*WLAN DAL Set UAPSD Param Request*/  
+  WDI_SET_UAPSD_PARAM_REQ = 41, 
+
+  /*WLAN DAL Update UAPSD Param (SoftAP mode) Request*/
+  WDI_UPDATE_UAPSD_PARAM_REQ = 42, 
+
+  /*WLAN DAL Configure RXP filter Request*/
+  WDI_CONFIGURE_RXP_FILTER_REQ = 43, 
+
+  /*WLAN DAL Configure Beacon filter Request*/
+  WDI_SET_BEACON_FILTER_REQ = 44, 
+
+  /*WLAN DAL Remove Beacon filter Request*/
+  WDI_REM_BEACON_FILTER_REQ = 45, 
+
+  /*WLAN DAL Set RSSI thresholds Request*/
+  WDI_SET_RSSI_THRESHOLDS_REQ = 46, 
+
+  /*WLAN DAL host offload Request*/
+  WDI_HOST_OFFLOAD_REQ = 47, 
+
+  /*WLAN DAL add wowl bc ptrn Request*/
+  WDI_WOWL_ADD_BC_PTRN_REQ = 48, 
+
+  /*WLAN DAL delete wowl bc ptrn Request*/
+  WDI_WOWL_DEL_BC_PTRN_REQ = 49, 
+
+  /*WLAN DAL enter wowl Request*/
+  WDI_WOWL_ENTER_REQ = 50, 
+
+  /*WLAN DAL exit wowl Request*/
+  WDI_WOWL_EXIT_REQ = 51, 
+
+  /*WLAN DAL Configure Apps CPU Wakeup state Request*/
+  WDI_CONFIGURE_APPS_CPU_WAKEUP_STATE_REQ = 52, 
+
+  /* WLAN  NV Download Request */
+  WDI_NV_DOWNLOAD_REQ   = 53,
+  /*WLAN DAL Flush AC Request*/ 
+  WDI_FLUSH_AC_REQ      = 54, 
+
+  /*WLAN DAL BT AMP event Request*/ 
+  WDI_BTAMP_EVENT_REQ   = 55, 
+  /*WLAN DAL Aggregated Add TSpec Request*/
+  WDI_AGGR_ADD_TS_REQ   = 56,
+
+  WDI_ADD_STA_SELF_REQ       = 57,
+
+  WDI_DEL_STA_SELF_REQ       = 58,
+
+  /* WLAN FTM Command request */
+  WDI_FTM_CMD_REQ            = 59,
+
+  /*WLAN START INNAV MEAS Request*/
+  WDI_START_INNAV_MEAS_REQ   = 60,
+  /* WLAN host resume request */
+  WDI_HOST_RESUME_REQ      = 61,
+  
+  WDI_KEEP_ALIVE_REQ       = 62,  
+
+  /* Set PNO */
+  WDI_SET_PREF_NETWORK_REQ     = 63,
+
+  /*RSSI Filter Request*/
+  WDI_SET_RSSI_FILTER_REQ      = 64,
+
+  /* Update Scan Parameters*/
+  WDI_UPDATE_SCAN_PARAMS_REQ   = 65,
+
+  WDI_SET_TX_PER_TRACKING_REQ = 66,
+
+  WDI_8023_MULTICAST_LIST_REQ                   = 67,
+  WDI_RECEIVE_FILTER_SET_FILTER_REQ             = 68,
+  WDI_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ  = 69,
+  WDI_RECEIVE_FILTER_CLEAR_FILTER_REQ           = 70,
+  
+  /*This is temp fix. Should be removed once 
+   * Host and Riva code is in sync*/
+  WDI_INIT_SCAN_CON_REQ                         = 71, 
+
+  /* WLAN HAL DUMP Command request */
+  WDI_HAL_DUMP_CMD_REQ                          = 72,
+
+  /* WLAN DAL Shutdown Request */
+  WDI_SHUTDOWN_REQ                              = 73,
+
+  /*Set power parameters on the device*/
+  WDI_SET_POWER_PARAMS_REQ                      = 74,
+
+  /* Traffic Stream Metrics statistic request */
+  WDI_TSM_STATS_REQ                             = 75,
+  /* GTK Rekey Offload */
+  WDI_GTK_OFFLOAD_REQ             = 76, 
+  WDI_GTK_OFFLOAD_GETINFO_REQ   = 77, 
+
+  /*Set Thermal Migration level to RIVA*/
+  WDI_SET_TM_LEVEL_REQ                          = 78, 
+
+  /* Send a capability exchange message to HAL */
+  WDI_FEATURE_CAPS_EXCHANGE_REQ                 = 79,
+
+  WDI_MAX_REQ,
+
+  /*Send a suspend Indication down to HAL*/
+  WDI_HOST_SUSPEND_IND          = WDI_MAX_REQ ,
+
+  /*Keep adding the indications to the max request
+    such that we keep them sepparate */
+
+  WDI_MAX_UMAC_IND
+}WDI_RequestEnumType; 
+
+/*--------------------------------------------------------------------------- 
+   WLAN DAL Supported Response Types
+ ---------------------------------------------------------------------------*/
+typedef enum
+{
+  /*WLAN DAL START Response*/
+  WDI_START_RESP  = 0, 
+
+  /*WLAN DAL STOP Response*/
+  WDI_STOP_RESP   = 1, 
+
+  /*WLAN DAL STOP Response*/
+  WDI_CLOSE_RESP  = 2, 
+
+  /*SCAN*/
+  /*WLAN DAL Init Scan Response*/
+  WDI_INIT_SCAN_RESP    = 3, 
+
+  /*WLAN DAL Start Scan Response*/
+  WDI_START_SCAN_RESP   = 4, 
+
+  /*WLAN DAL End Scan Response*/
+  WDI_END_SCAN_RESP     = 5, 
+
+  /*WLAN DAL Finish Scan Response*/
+  WDI_FINISH_SCAN_RESP  = 6, 
+
+
+  /*ASSOCIATION*/
+  /*WLAN DAL Join Response*/
+  WDI_JOIN_RESP          = 7, 
+
+  /*WLAN DAL Config BSS Response*/
+  WDI_CONFIG_BSS_RESP    = 8, 
+
+  /*WLAN DAL Del BSS Response*/
+  WDI_DEL_BSS_RESP       = 9, 
+
+  /*WLAN DAL Post Assoc Response*/
+  WDI_POST_ASSOC_RESP    = 10, 
+
+  /*WLAN DAL Del STA Response*/
+  WDI_DEL_STA_RESP       = 11, 
+
+  /*WLAN DAL Set BSS Key Response*/
+  WDI_SET_BSS_KEY_RESP   = 12,
+  
+  /*WLAN DAL Remove BSS Key Response*/ 
+  WDI_RMV_BSS_KEY_RESP   = 13,
+  
+  /*WLAN DAL Set STA Key Response*/ 
+  WDI_SET_STA_KEY_RESP   = 14,
+  
+  /*WLAN DAL Remove STA Key Response*/ 
+  WDI_RMV_STA_KEY_RESP   = 15, 
+
+  /*WLAN DAL Add TSpec Response*/
+  WDI_ADD_TS_RESP        = 16,
+  
+  /*WLAN DAL Delete TSpec Response*/ 
+  WDI_DEL_TS_RESP        = 17,
+  
+  /*WLAN DAL Update EDCA Params Response*/ 
+  WDI_UPD_EDCA_PRMS_RESP = 18,
+
+  /*WLAN DAL Add BA Session Response*/
+  WDI_ADD_BA_SESSION_RESP = 19,
+
+  /*WLAN DAL Delete BA Response*/ 
+  WDI_DEL_BA_RESP        = 20,
+
+  /*WLAN DAL Channel Switch Response*/ 
+  WDI_CH_SWITCH_RESP     = 21,
+  
+  /*WLAN DAL Config STA Response*/ 
+  WDI_CONFIG_STA_RESP    = 22, 
+
+  /*WLAN DAL Set Link State Response*/ 
+  WDI_SET_LINK_ST_RESP   = 23,
+  
+  /*WLAN DAL Get Stats Response*/ 
+  WDI_GET_STATS_RESP     = 24, 
+
+  /*WLAN DAL Update Config Response*/ 
+  WDI_UPDATE_CFG_RESP    = 25, 
+
+  /* WDI ADD BA Response */
+  WDI_ADD_BA_RESP        = 26,
+
+  /* WDI Trigger BA Response */
+  WDI_TRIGGER_BA_RESP    = 27,
+
+ /*WLAN DAL Update beacon params  Response*/
+  WDI_UPD_BCON_PRMS_RESP = 28,
+  
+ /*WLAN DAL Send beacon template Response*/
+  WDI_SND_BCON_RESP = 29,
+
+  /*WLAN DAL Update Probe Response Template Response*/
+  WDI_UPD_PROBE_RSP_TEMPLATE_RESP = 30,
+
+  /*WLAN DAL Set STA Key Response*/ 
+  WDI_SET_STA_BCAST_KEY_RESP      = 31,
+  
+  /*WLAN DAL Remove STA Key Response*/ 
+  WDI_RMV_STA_BCAST_KEY_RESP      = 32, 
+
+  /*WLAN DAL Set Max Tx Power Response*/
+  WDI_SET_MAX_TX_POWER_RESP       = 33,
+
+  /*WLAN DAL Enter IMPS Response*/ 
+  WDI_ENTER_IMPS_RESP     = 34, 
+
+  /*WLAN DAL Exit IMPS Response*/ 
+  WDI_EXIT_IMPS_RESP      = 35, 
+
+  /*WLAN DAL Enter BMPS Response*/ 
+  WDI_ENTER_BMPS_RESP    = 36, 
+
+  /*WLAN DAL Exit BMPS Response*/ 
+  WDI_EXIT_BMPS_RESP      = 37, 
+
+  /*WLAN DAL Enter UAPSD Response*/ 
+  WDI_ENTER_UAPSD_RESP    = 38, 
+
+  /*WLAN DAL Exit UAPSD Response*/ 
+  WDI_EXIT_UAPSD_RESP     = 39, 
+
+  /*WLAN DAL Set UAPSD Param Response*/  
+  WDI_SET_UAPSD_PARAM_RESP = 40, 
+
+  /*WLAN DAL Update UAPSD Param (SoftAP mode) Response*/
+  WDI_UPDATE_UAPSD_PARAM_RESP = 41, 
+
+  /*WLAN DAL Configure RXP filter Response*/
+  WDI_CONFIGURE_RXP_FILTER_RESP = 42, 
+
+  /*WLAN DAL Set Beacon filter Response*/
+  WDI_SET_BEACON_FILTER_RESP = 43, 
+
+  /*WLAN DAL Remove Beacon filter Response*/
+  WDI_REM_BEACON_FILTER_RESP = 44, 
+
+  /*WLAN DAL Set RSSI thresholds Response*/
+  WDI_SET_RSSI_THRESHOLDS_RESP = 45, 
+
+  /*WLAN DAL Set RSSI thresholds Response*/
+  WDI_HOST_OFFLOAD_RESP = 46, 
+
+  /*WLAN DAL add wowl bc ptrn Response*/
+  WDI_WOWL_ADD_BC_PTRN_RESP = 47, 
+
+  /*WLAN DAL delete wowl bc ptrn Response*/
+  WDI_WOWL_DEL_BC_PTRN_RESP = 48, 
+
+  /*WLAN DAL enter wowl Response*/
+  WDI_WOWL_ENTER_RESP = 49, 
+
+  /*WLAN DAL exit wowl Response*/
+  WDI_WOWL_EXIT_RESP = 50, 
+
+  /*WLAN DAL Configure Apps CPU Wakeup state Response*/
+  WDI_CONFIGURE_APPS_CPU_WAKEUP_STATE_RESP = 51,
+  
+  /* WLAN NV Download responce */
+  WDI_NV_DOWNLOAD_RESP = 52,
+
+  /*WLAN DAL Flush AC Response*/ 
+  WDI_FLUSH_AC_RESP      = 53,
+
+  /*WLAN DAL Flush AC Response*/ 
+  WDI_BTAMP_EVENT_RESP   = 54,
+
+  /*WLAN DAL Add Aggregated TSpec Response*/
+  WDI_AGGR_ADD_TS_RESP  = 55,
+
+  /*Add Self STA Response*/
+  WDI_ADD_STA_SELF_RESP = 56,
+  
+  /*Delete Self STA Response*/
+  WDI_DEL_STA_SELF_RESP       = 57,
+
+  /*WLAN START INNAV MEAS Response*/
+  WDI_START_INNAV_MEAS_RESP   = 58,
+
+  /* WLAN host resume request */
+  WDI_HOST_RESUME_RESP        = 59,
+
+  /* WLAN DAL P2P GO Notice Of Absence Response */
+  WDI_P2P_GO_NOTICE_OF_ABSENCE_RESP    = 60,
+
+  /* FTM Response from HAL */
+  WDI_FTM_CMD_RESP                     = 61,
+
+  /*Keep alive response */
+  WDI_KEEP_ALIVE_RESP                  = 62,
+
+  /* Set PNO Response */
+  WDI_SET_PREF_NETWORK_RESP            = 63,
+
+  /* Set RSSI Filter Response */
+  WDI_SET_RSSI_FILTER_RESP             = 64,
+
+  /* Update Scan Parameters Resp */
+  WDI_UPDATE_SCAN_PARAMS_RESP          = 65,
+
+  //Tx PER Tracking
+  WDI_SET_TX_PER_TRACKING_RESP       = 66,
+
+
+  
+  /* Packet Filtering Response */
+  WDI_8023_MULTICAST_LIST_RESP                  = 67,
+
+  WDI_RECEIVE_FILTER_SET_FILTER_RESP            = 68,
+
+  WDI_PACKET_COALESCING_FILTER_MATCH_COUNT_RESP = 69,
+
+  WDI_RECEIVE_FILTER_CLEAR_FILTER_RESP          = 70,
+
+  
+  /* WLAN HAL DUMP Command Response */
+  WDI_HAL_DUMP_CMD_RESP                         = 71,
+
+  /* WLAN Shutdown Response */
+  WDI_SHUTDOWN_RESP                             = 72,
+
+  /*Set power parameters response */
+  WDI_SET_POWER_PARAMS_RESP                     = 73,
+
+  WDI_TSM_STATS_RESP                            = 74,
+  /* GTK Rekey Offload */
+  WDI_GTK_OFFLOAD_RESP                    = 75, 
+  WDI_GTK_OFFLOAD_GETINFO_RESP         = 76, 
+
+  WDI_SET_TM_LEVEL_RESP                         = 77,
+
+  /* FW sends its capability bitmap as a response */
+  WDI_FEATURE_CAPS_EXCHANGE_RESP                = 78,
+
+  /*-------------------------------------------------------------------------
+    Indications
+     !! Keep these last in the enum if possible
+    -------------------------------------------------------------------------*/
+  WDI_HAL_IND_MIN                     , 
+  /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
+    passed. */
+  WDI_HAL_RSSI_NOTIFICATION_IND       = WDI_HAL_IND_MIN, 
+
+  /*Link loss in the low MAC */
+  WDI_HAL_MISSED_BEACON_IND           = WDI_HAL_IND_MIN + 1,
+
+  /*When hardware has signaled an unknown addr2 frames. The indication will
+  contain info from frames to be passed to the UMAC, this may use this info to
+  deauth the STA*/
+  WDI_HAL_UNKNOWN_ADDR2_FRAME_RX_IND  = WDI_HAL_IND_MIN + 2,
+
+  /*MIC Failure detected by HW*/
+  WDI_HAL_MIC_FAILURE_IND             = WDI_HAL_IND_MIN + 3,
+
+  /*Fatal Error Ind*/
+  WDI_HAL_FATAL_ERROR_IND             = WDI_HAL_IND_MIN + 4, 
+
+  /*Received when the RIVA SW decides to autonomously delete an associate
+    station (e.g. Soft AP TIM based dissassoc) */
+  WDI_HAL_DEL_STA_IND                 = WDI_HAL_IND_MIN + 5,
+
+  /*Coex indication*/
+  WDI_HAL_COEX_IND                    = WDI_HAL_IND_MIN + 6,
+
+  /* Tx Complete Indication */
+  WDI_HAL_TX_COMPLETE_IND             = WDI_HAL_IND_MIN + 7,
+
+  WDI_HAL_P2P_NOA_ATTR_IND            = WDI_HAL_IND_MIN + 8,
+
+  /* Preferred Network Found Indication */
+  WDI_HAL_PREF_NETWORK_FOUND_IND      = WDI_HAL_IND_MIN + 9,
+
+  /* Wakeup Reason Indication */
+  WDI_HAL_WAKE_REASON_IND              = WDI_HAL_IND_MIN + 10,
+
+  /* Tx PER Hit Indication */
+  WDI_HAL_TX_PER_HIT_IND              = WDI_HAL_IND_MIN + 11,
+  
+  WDI_MAX_RESP
+}WDI_ResponseEnumType; 
+
+typedef struct 
+{
+  /*Flag that marks a session as being in use*/
+  wpt_boolean         bInUse; 
+
+  /*Flag that keeps track if a series of assoc requests for this BSS are
+    currently pending in the queue or processed
+    - the flag is set to true when the Join request ends up being queued
+    - and reset to false when the Pending queue is empty */
+  wpt_boolean         bAssocReqQueued;
+
+  /*BSSID of the session*/
+  wpt_macAddr         macBSSID; 
+
+  /*BSS Index associated with this BSSID*/
+  wpt_uint8           ucBSSIdx; 
+
+  /*Associated state of the current BSS*/
+  WDI_AssocStateType  wdiAssocState;
+
+  /*WDI Pending Request Queue*/
+  wpt_list            wptPendingQueue;
+
+  /*DPU Information for this BSS*/
+  wpt_uint8           bcastDpuIndex;
+  wpt_uint8           bcastDpuSignature;
+  wpt_uint8           bcastMgmtDpuIndex;
+  wpt_uint8           bcastMgmtDpuSignature;
+
+  /*RMF enabled/disabled*/
+  wpt_uint8           ucRmfEnabled;
+
+  /*Bcast STA ID associated with this BSS session */
+  wpt_uint8           bcastStaIdx;
+
+  /*The type of the BSS in the session */
+  WDI_BssType         wdiBssType;
+}WDI_BSSSessionType;
+
+/*---------------------------------------------------------------------------
+  WDI_ConfigBSSRspInfoType
+---------------------------------------------------------------------------*/
+typedef WPT_PACK_PRE struct 
+{
+  /*BSS index allocated by HAL*/
+  wpt_uint8    ucBSSIdx;
+
+  /*BSSID of the BSS*/
+  wpt_macAddr  macBSSID; 
+
+  /*Broadcast DPU descriptor index allocated by HAL and used for
+  broadcast/multicast packets.*/
+  wpt_uint8    ucBcastDpuDescIndx;
+
+  /*DPU signature to be used for broadcast/multicast packets*/
+  wpt_uint8    ucBcastDpuSignature;
+  
+  /*DPU descriptor index allocated by HAL, used for bcast/mcast management
+  packets*/
+  wpt_uint8    ucMgmtDpuDescIndx;
+
+  /*DPU signature to be used for bcast/mcast management packets*/
+  wpt_uint8    ucMgmtDpuSignature;
+
+  /*Status of the request received from HAL */
+  eHalStatus   halStatus;
+}WPT_PACK_POST WDI_ConfigBSSRspInfoType;
+
+
+/*---------------------------------------------------------------------------
+  WDI_PostAssocRspInfoType
+---------------------------------------------------------------------------*/
+typedef WPT_PACK_PRE struct
+{
+  /*STA Index allocated by HAL.*/
+  wpt_uint16   usSTAIdx;
+  
+  /*MAC Address of STA*/ 
+  wpt_macAddr  macSTA;
+  
+  /*Unicast DPU signature*/
+  wpt_uint8    ucUcastSig;
+
+  /*Broadcast DPU Signature*/
+  wpt_uint8    ucBcastSig;
+
+  /*BSSID of the BSS*/
+  wpt_macAddr  macBSSID; 
+
+  /*HAL Status */
+  eHalStatus   halStatus;
+}WPT_PACK_POST WDI_PostAssocRspInfoType;
+
+/*--------------------------------------------------------------------------- 
+   WLAN DAL FSM Event Info Type 
+ ---------------------------------------------------------------------------*/
+typedef struct
+{
+  /*Events can be linked in a list - put a node in front for that, it will be
+   used by wpt to link them*/
+  wpt_list_node          wptListNode; 
+
+  /*Request Received */
+  WDI_RequestEnumType    wdiRequest;
+
+  /*Response Received */
+  WDI_ResponseEnumType   wdiResponse;
+
+  /*Data associated with the request */
+  void*                  pEventData;
+
+  /*Data Size*/
+  wpt_uint32             uEventDataSize;
+
+  /*Callback function for receiving the response to the event*/
+  void*                  pCBfnc;
+
+  /*User data to be sent along with the CB function call*/
+  void*                  pUserData;
+}WDI_EventInfoType; 
+
+/*--------------------------------------------------------------------------- 
+   WLAN DAL Session Index Type
+ ---------------------------------------------------------------------------*/
+typedef struct
+{
+  /*Events can be linked in a list - put a node in front for that, it will be
+   used by wpt to link them*/
+  wpt_list_node          wptListNode; 
+
+  /*Session id for the new association to be processed*/
+  wpt_uint8              ucIndex; 
+
+}WDI_NextSessionIdType; 
+
+#define WDI_CONTROL_BLOCK_MAGIC  0x67736887  /* WDIC in little endian */
+/*--------------------------------------------------------------------------- 
+   WLAN DAL Control Block Type 
+ ---------------------------------------------------------------------------*/
+typedef struct
+{
+  /*magic number so callbacks can validate their context pointers*/
+  wpt_uint32                  magic;
+
+  /*Ptr to the OS Context received from the UMAC*/
+  void*                       pOSContext;
+
+  /*Ptr to the PAL Context received from PAL*/
+  void*                       pPALContext; 
+
+  /*Ptr to the Datapath Context received from PAL*/
+  void*                       pDPContext; 
+
+  /*Ptr to the Datapath Transport Driver Context received from PAL*/
+  void*                       pDTDriverContext; 
+
+  /*Hanlde to the control transport service*/
+  WCTS_HandleType             wctsHandle;
+
+  /*Flag that keeps track if CT is Opened or not*/
+  wpt_boolean                 bCTOpened;
+
+  /*The global state of the DAL Control Path*/
+  WDI_MainStateType           uGlobalState; 
+
+  /*Flag to keep track of the expected state transition after processing
+    of a response */
+  WDI_MainStateType           ucExpectedStateTransition;
+
+  /*Main Synchronization Object for the WDI CB*/
+  wpt_mutex                   wptMutex;
+
+  /*WDI response timer*/
+  wpt_timer                   wptResponseTimer;
+
+  /*WDI Pending Request Queue*/
+  wpt_list                    wptPendingQueue;
+#if 0
+  /*The state of the DAL during a scanning procedure*/
+  WDI_ScanStateType           uScanState;  
+
+  /*Flag that keeps track if a Scan is currently in progress*/
+  wpt_boolean                 bScanInProgress;
+#endif
+  /*Flag that keeps track if an Association is currently in progress*/
+  wpt_boolean                 bAssociationInProgress; 
+
+  /*Array of simultaneous BSS Sessions*/
+  WDI_BSSSessionType          aBSSSessions[WDI_MAX_BSS_SESSIONS];
+
+  /*WDI Pending Association Session Id Queue - it keeps track of the
+    order in which queued assoc requests came in*/
+  wpt_list                    wptPendingAssocSessionIdQueue;
+
+  /*! TO DO : - group these in a union, only one cached req can exist at a
+      time  */
+
+  /*Cached post assoc request - there can only be one in the system as
+    only one request goes down to hal up until a response is received
+    The values cached are used on response to save a station if needed */
+  WDI_PostAssocReqParamsType  wdiCachedPostAssocReq; 
+
+  /*Cached config sta request - there can only be one in the system as
+    only one request goes down to hal up until a response is received
+    The values cached are used on response to save a station if needed */
+  WDI_ConfigSTAReqParamsType  wdiCachedConfigStaReq; 
+
+  /*Cached config sta request - there can only be one in the system as
+    only one request goes down to hal up until a response is received
+    The values cached are used on response to save a BSS if needed */
+  WDI_ConfigBSSReqParamsType  wdiCachedConfigBssReq; 
+
+  /*Cached set link state request - there can only be one in the system as
+    only one request goes down to hal up until a response is received
+    The values cached are used on response to delete a BSS if needed */
+  WDI_SetLinkReqParamsType     wdiCacheSetLinkStReq; 
+
+  /*Cached add STA self request - there can only be one in the system as
+    only one request goes down to hal up until a response is received
+    The values cached are used on response to save the self STA in the table */
+  WDI_AddSTASelfReqParamsType  wdiCacheAddSTASelfReq;
+
+  /*Current session being handled*/
+  wpt_uint8                   ucCurrentBSSSesIdx;
+
+  /*Pointer to the response CB of the pending request*/
+  void*                       pfncRspCB;
+
+  /*Pointer to the user data to be sent along with the response CB*/
+  void*                       pRspCBUserData; 
+
+  /*The expected response from HAL*/
+  WDI_ResponseEnumType        wdiExpectedResponse;
+
+  /*Request status callback offered by UMAC - it is called if the current
+    req has returned PENDING as status; it delivers the status of sending
+    the message over the BUS */
+  WDI_ReqStatusCb             wdiReqStatusCB; 
+
+  /*The user data passed in by UMAC, it will be sent back when the above
+    function pointer will be called */
+  void*                       pReqStatusUserData;
+
+   /*Indication callback given by UMAC to be called by the WLAN DAL when it
+    wishes to send something back independent of a request*/
+  WDI_LowLevelIndCBType       wdiLowLevelIndCB; 
+
+  /*The user data passed in by UMAC, it will be sent back when the indication
+    function pointer will be called */
+  void*                       pIndUserData;
+
+  /*Cached start response parameters*/
+  WDI_StartRspParamsType      wdiCachedStartRspParams;
+  
+  /* Information related to NV Image*/
+  WDI_NvBlobInfoParams        wdiNvBlobInfo;
+
+  /*STA Table Information*/
+  /*Max number of stations allowed by device */
+  wpt_uint8                   ucMaxStations;
+
+  /*Max number of BSSes allowed by device */
+  wpt_uint8                   ucMaxBssids;
+
+  /* Global BSS and STA table -  Memory is allocated when needed.*/
+  void*                       staTable;
+
+#ifndef HAL_SELF_STA_PER_BSS
+  /*Index of the Self STA */
+  wpt_uint8                   ucSelfStaId;
+
+  /* Self STA DPU Index */
+  wpt_uint16                  usSelfStaDpuId;
+
+  /*Self STA Mac*/
+  wpt_macAddr                 macSelfSta;
+#endif
+
+  /*Is frame translation enabled */
+  wpt_uint8                   bFrameTransEnabled;
+
+  /*AMSDU BD Fix Mask - used by the Fixing routine for Data Path */
+  WDI_RxBdType                wdiRxAmsduBdFixMask;
+
+  /*First AMSDU BD - used by the Fixing routine for Data Path */
+  WDI_RxBdType                wdiRxAmsduFirstBdCache;
+
+  /*This must be incremented on sta change */
+  wpt_uint32                  uBdSigSerialNum;
+
+  /* dpu routing flag
+  ! TO DO: - must be set/reset when PS is enabled for UAPSD */  
+  wpt_uint8                   ucDpuRF;    
+  /* Event to wait for when WCTS is told to perform an action */
+  wpt_event                   wctsActionEvent;
+  /* Event to wait for ACK from DXE after the power state is set */
+  wpt_event                   setPowerStateEvent;
+  /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
+  DXE when DXE wakes up from power save*/
+  unsigned int                dxePhyAddr;
+
+  /*NV download request parameters  */
+  WDI_NvDownloadReqParamsType   wdiCachedNvDownloadReq;
+
+  /* Driver Type */
+  tDriverType                 driverMode;  
+
+#ifdef ANI_MANF_DIAG
+  /* Statically allocated FTM Response Buffer */
+  wpt_uint8                   ucFTMCommandRspBuffer[WDI_FTM_MAX_RECEIVE_BUFFER];
+#endif /* ANI_MANF_DIAG */
+
+  /*Driver in BMPS state*/
+  wpt_boolean                 bInBmps;
+
+  /*version of the PNO implementation in RIVA*/
+  wpt_uint8                   wdiPNOVersion;
+}WDI_ControlBlockType; 
+
+
+
+
+/*---------------------------------------------------------------------------
+
+  DESCRIPTION 
+    WLAN DAL Request Processing function definition. 
+    
+  PARAMETERS 
+
+   IN
+   pWDICtx:         pointer to the WLAN DAL context 
+   pEventData:      pointer to the event information structure 
+ 
+   
+  RETURN VALUE
+    The result code associated with performing the operation  
+
+---------------------------------------------------------------------------*/
+typedef WDI_Status (*WDI_ReqProcFuncType)( WDI_ControlBlockType*  pWDICtx,
+                                           WDI_EventInfoType*     pEventData);
+
+
+/*---------------------------------------------------------------------------
+
+  DESCRIPTION 
+    WLAN DAL Response Processing function definition. 
+    
+  PARAMETERS 
+
+   IN
+   pWDICtx:         pointer to the WLAN DAL context 
+   pEventData:      pointer to the event information structure 
+ 
+   
+  RETURN VALUE
+    The result code associated with performing the operation  
+
+---------------------------------------------------------------------------*/
+typedef WDI_Status (*WDI_RspProcFuncType)( WDI_ControlBlockType*  pWDICtx,
+                                           WDI_EventInfoType*     pEventData);
+
+
+
+
+/*==========================================================================
+              MAIN DAL FSM Definitions and Declarations 
+==========================================================================*/
+
+/*--------------------------------------------------------------------------- 
+   DAL Control Path Main FSM  
+ ---------------------------------------------------------------------------*/
+#define WDI_STATE_TRANSITION(_pctx, _st)   (_pctx->uGlobalState = _st)
+
+
+
+/*---------------------------------------------------------------------------
+  DAL Main Event type
+---------------------------------------------------------------------------*/      
+typedef enum
+{
+  /* Start request received from UMAC */
+  WDI_START_EVENT          = 0,
+
+  /* Stop request received from UMAC */
+  WDI_STOP_EVENT           = 1,
+
+  /* HAL request received from UMAC*/
+  WDI_REQUEST_EVENT        = 2,
+
+  /* HAL Response received from device */
+  WDI_RESPONSE_EVENT       = 3,
+
+  /* Close request received from UMAC */
+  WDI_CLOSE_EVENT          = 4,
+
+  /* Shutdown request received from UMAC */
+  WDI_SHUTDOWN_EVENT       = 5,
+
+  WDI_MAX_EVENT
+
+}WDI_MainEventType;
+
+/*---------------------------------------------------------------------------
+
+  DESCRIPTION 
+    Main DAL state machine function definition. 
+    
+  PARAMETERS 
+
+   IN
+   pWDICtx:         pointer to the WLAN DAL context 
+   pEventData:      pointer to the event information structure 
+ 
+   
+  RETURN VALUE
+    The result code associated with performing the operation  
+
+---------------------------------------------------------------------------*/
+typedef WDI_Status (*WDI_MainFuncType)( WDI_ControlBlockType*  pWDICtx,
+                                        WDI_EventInfoType*     pEventData);
+
+/*---------------------------------------------------------------------------
+  MAIN DAL FSM Entry type
+---------------------------------------------------------------------------*/      
+typedef struct
+{
+  WDI_MainFuncType  pfnMainTbl[WDI_MAX_EVENT];
+} WDI_MainFsmEntryType;
+
+/*Macro to check for valid session id*/
+#define WDI_VALID_SESSION_IDX(_idx)  ( _idx < WDI_MAX_BSS_SESSIONS ) 
+
+/*========================================================================== 
+ 
+                      DAL INTERNAL FUNCTION DECLARATION
+ 
+==========================================================================*/ 
+
+/**
+ @brief Helper routine for retrieving the PAL Context from WDI - 
+        can be used by CTS, DTS, DXE and othe DAL internals 
+ 
+ @param  None
+  
+ @see
+ @return pointer to the context 
+*/
+WPT_INLINE void* WDI_GET_PAL_CTX( void );
+
+/*---------------------------------------------------------------------------
+                    MAIN DAL FSM Function Declarations
+---------------------------------------------------------------------------*/      
+/**
+ @brief WDI_PostMainEvent - Posts an event to the Main FSM
+
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         wdiEV:           event posted to the main DAL FSM
+         pEventData:      pointer to the event information
+         structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_PostMainEvent
+(
+  WDI_ControlBlockType*  pWDICtx, 
+  WDI_MainEventType      wdiEV, 
+  WDI_EventInfoType*     pEventData
+  
+);
+
+/*--------------------------------------------------------------------------
+  INIT State Functions 
+--------------------------------------------------------------------------*/
+/**
+ @brief Main FSM Start function for all states except BUSY
+
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_MainStart
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Main FSM Response function for state INIT
+
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_MainRspInit
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Main FSM Close function for all states except BUSY
+
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+        
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_MainClose
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/*--------------------------------------------------------------------------
+  STARTED State Functions 
+--------------------------------------------------------------------------*/
+/**
+ @brief Main FSM Start function for state STARTED
+
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+      
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_MainStartStarted
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Main FSM Stop function for state STARTED
+
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+         uEventDataSize:  size of the data sent in event
+         pCBfnc:          cb function for event response
+         pUserData:       user data 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_MainStopStarted
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Main FSM Request function for state started
+
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+        
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_MainReqStarted
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Main FSM Response function for all states except INIT
+
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_MainRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/*--------------------------------------------------------------------------
+  STOPPED State Functions 
+--------------------------------------------------------------------------*/
+/**
+ @brief Main FSM Stop function for state STOPPED
+
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_MainStopStopped
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+  );
+
+/*--------------------------------------------------------------------------
+  BUSY State Functions 
+--------------------------------------------------------------------------*/
+/**
+ @brief Main FSM Start function for state BUSY
+
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_MainStartBusy
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Main FSM Stop function for state BUSY
+
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_MainStopBusy
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Main FSM Request function for state BUSY
+
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_MainReqBusy
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Main FSM Close function for state BUSY
+
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_MainCloseBusy
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Main FSM Shutdown function for INIT & STARTED states
+
+
+ @param  pWDICtx:         pointer to the WLAN DAL context
+         pEventData:      pointer to the event information structure
+
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_MainShutdown
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Main FSM Shutdown function for BUSY state
+
+
+ @param  pWDICtx:         pointer to the WLAN DAL context
+         pEventData:      pointer to the event information structure
+
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_MainShutdownBusy
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/*========================================================================
+          Main DAL Control Path Request Processing API 
+========================================================================*/
+
+/**
+ @brief Process Start Request function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessStartReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Stop Request function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessStopReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Close Request function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessCloseReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Shutdown Request function (called when Main FSM
+        allows it)
+
+ @param  pWDICtx:         pointer to the WLAN DAL context
+         pEventData:      pointer to the event information structure
+
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessShutdownReq
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Init Scan Request function (called when Main FSM
+        allows it)
+
+ @param  pWDICtx:         pointer to the WLAN DAL context
+         pEventData:      pointer to the event information structure
+
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessInitScanReq
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Start Scan Request function (called when Main 
+        FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure
+
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessStartScanReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process End Scan Request function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessEndScanReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Finish Scan Request function (called when Main 
+        FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessFinishScanReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Join Request function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessJoinReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Config BSS Request function (called when Main 
+        FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessConfigBSSReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Del BSS Request function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessDelBSSReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Post Assoc Request function (called when Main 
+        FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessPostAssocReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Del STA Request function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessDelSTAReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Set BSS Key Request function (called when Main FSM
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetBssKeyReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Remove BSS Key Request function (called when Main    
+        FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessRemoveBssKeyReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Set STA KeyRequest function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetStaKeyReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Remove STA Key Request function (called when 
+        Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessRemoveStaKeyReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Set STA KeyRequest function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetStaBcastKeyReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Remove STA Key Request function (called when 
+        Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessRemoveStaBcastKeyReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Add TSpec Request function (called when Main FSM
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessAddTSpecReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Del TSpec Request function (called when Main FSM
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessDelTSpecReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Update EDCA Params Request function (called when
+        Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessUpdateEDCAParamsReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Add BA Request function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessAddBASessionReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Del BA Request function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessDelBAReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+#ifdef FEATURE_WLAN_CCX
+/**
+ @brief Process TSM Stats Request function (called when Main FSM
+        allows it)
+
+ @param  pWDICtx:         pointer to the WLAN DAL context
+         pEventData:      pointer to the event information structure
+
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessTSMStatsReq
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+#endif
+
+/**
+ @brief Process Channel Switch Request function (called when 
+        Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessChannelSwitchReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Config STA Request function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessConfigStaReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Set Link State Request function (called when 
+        Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetLinkStateReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Get Stats Request function (called when Main FSM
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessGetStatsReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Update Cfg Request function (called when Main 
+        FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessUpdateCfgReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Add BA Request function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessAddBAReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Trigger BA Request function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessTriggerBAReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Update Beacon Params Request function (called when Main 
+        FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessUpdateBeaconParamsReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Update Beacon template Request function (called when Main 
+        FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSendBeaconParamsReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Update Beacon Params  Request function (called when Main FSM
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessUpdateProbeRspTemplateReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+/**
+ @brief Process NV blob download function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessNvDownloadReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Set Max Tx Power Request function (called when Main    
+        FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status WDI_ProcessSetMaxTxPowerReq
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+#ifdef WLAN_FEATURE_P2P
+/**
+ @brief Process P2P Notice Of Absence Request function (called when Main FSM
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessP2PGONOAReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+#endif
+
+/**
+ @brief Process Enter IMPS Request function (called when 
+        Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessEnterImpsReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Exit IMPS Request function (called when 
+        Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessExitImpsReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Enter BMPS Request function (called when Main 
+        FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessEnterBmpsReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Exit BMPS Request function (called when Main FSM
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessExitBmpsReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Enter UAPSD Request function (called when Main 
+        FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessEnterUapsdReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Exit UAPSD Request function (called when 
+        Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessExitUapsdReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Set UAPSD params Request function (called when 
+        Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetUapsdAcParamsReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process update UAPSD params Request function (called 
+        when Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessUpdateUapsdParamsReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Configure RXP filter Request function (called 
+        when Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessConfigureRxpFilterReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process set beacon filter Request function (called 
+        when Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetBeaconFilterReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process remove beacon filter Request function (called 
+        when Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessRemBeaconFilterReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process set RSSI thresholds Request function (called 
+        when Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetRSSIThresholdsReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process set RSSI thresholds Request function (called 
+        when Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessHostOffloadReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Keep Alive Request function (called 
+        when Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessKeepAliveReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Wowl add bc ptrn Request function (called 
+        when Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessWowlAddBcPtrnReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Wowl delete bc ptrn Request function (called 
+        when Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessWowlDelBcPtrnReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Wowl enter Request function (called 
+        when Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessWowlEnterReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Wowl exit Request function (called when Main FSM
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessWowlExitReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Configure Apps Cpu Wakeup State Request function
+        (called when Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessConfigureAppsCpuWakeupStateReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Flush AC Request function (called when Main FSM 
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessFlushAcReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Host Resume Request function (called when Main 
+        FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessHostResumeReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process BT AMP event Request function (called when Main 
+        FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessBtAmpEventReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Add STA self Request function (called when Main FSM
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessAddSTASelfReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Del Sta Self Request function (called when Main 
+        FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessDelSTASelfReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process set Tx Per Tracking configurations Request function (called 
+        when Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetTxPerTrackingReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Set Power Params Request function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetPowerParamsReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Set Thermal Mitigation level Changed request
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetTmLevelReq
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/*=========================================================================
+                             Indications
+=========================================================================*/
+
+/**
+ @brief Process Suspend Indications function (called when Main FSM allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessHostSuspendInd
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/*========================================================================
+          Main DAL Control Path Response Processing API 
+========================================================================*/
+
+
+/**
+ @brief Process Start Response function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessStartRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Stop Response function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessStopRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Close Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessCloseRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Shutdown Rsp function
+        There is no shutdown response comming from HAL
+        - function just kept for simmetry
+
+ @param  pWDICtx:         pointer to the WLAN DAL context
+         pEventData:      pointer to the event information structure
+
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessShutdownRsp
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Init Scan Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessInitScanRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Start Scan Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessStartScanRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process End Scan Response function (called when a 
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessEndScanRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Finish Scan Response function (called when a 
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessFinishScanRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Join Response function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessJoinRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Config BSS Response function (called when a 
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessConfigBSSRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Del BSS Response function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessDelBSSRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Post Assoc Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessPostAssocRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Del STA Key Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessDelSTARsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Set BSS Key Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetBssKeyRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Remove BSS Key Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessRemoveBssKeyRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Set STA Key Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetStaKeyRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Remove STA Key Rsp function (called when a 
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessRemoveStaKeyRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Set STA Bcast Key Rsp function (called when a 
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetStaBcastKeyRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Remove STA Bcast Key Rsp function (called when a
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessRemoveStaBcastKeyRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Add TSpec Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessAddTSpecRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Del TSpec Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessDelTSpecRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Update EDCA Parameters Rsp function (called when a  
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessUpdateEDCAParamsRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Add BA Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessAddBASessionRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Del BA Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessDelBARsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+#ifdef FEATURE_WLAN_CCX
+/**
+ @brief Process TSM stats Rsp function (called when a response
+        is being received over the bus from HAL)
+
+ @param  pWDICtx:         pointer to the WLAN DAL context
+         pEventData:      pointer to the event information structure
+
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessTsmStatsRsp
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+#endif
+
+
+/**
+ @brief Process Channel Switch Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessChannelSwitchRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Config STA Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessConfigStaRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Set Link State Rsp function (called when a 
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetLinkStateRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Get Stats Rsp function (called when a response is   
+        being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessGetStatsRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Update Cfg Rsp function (called when a response is  
+        being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessUpdateCfgRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Add BA Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessAddBARsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Add BA Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessTriggerBARsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Update Beacon Params Rsp function (called when a response is  
+        being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessUpdateBeaconParamsRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Send Beacon template Rsp function (called when a response is  
+        being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSendBeaconParamsRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Update Probe Resp Template Rsp function (called 
+        when a response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessUpdateProbeRspTemplateRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+  /**
+ @brief Process Set Max Tx Power Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetMaxTxPowerRsp
+( 
+  WDI_ControlBlockType*          pWDICtx,
+  WDI_EventInfoType*             pEventData
+);
+
+/**
+ @brief Process Nv download(called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessNvDownloadRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+#ifdef WLAN_FEATURE_P2P
+/**
+ @brief Process P2P Group Owner Notice Of Absense Rsp function (called 
+        when a response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessP2PGONOARsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+#endif
+
+/**
+ @brief Process Enter IMPS Rsp function (called when a response 
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessEnterImpsRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Exit IMPS Rsp function (called when a response 
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessExitImpsRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Enter BMPS Rsp function (called when a response 
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessEnterBmpsRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Exit BMPS Rsp function (called when a response 
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessExitBmpsRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Enter UAPSD Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessEnterUapsdRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Exit UAPSD Rsp function (called when a response 
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessExitUapsdRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process set UAPSD params Rsp function (called when a 
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetUapsdAcParamsRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process update UAPSD params Rsp function (called when a 
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessUpdateUapsdParamsRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Configure RXP filter Rsp function (called when a
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessConfigureRxpFilterRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Set beacon filter Rsp function (called when a
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetBeaconFilterRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process remove beacon filter Rsp function (called when a
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessRemBeaconFilterRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process set RSSI thresholds Rsp function (called when a
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetRSSIThresoldsRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process host offload Rsp function (called when a
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessHostOffloadRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Keep Alive Rsp function (called when a
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessKeepAliveRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process wowl add ptrn Rsp function (called when a
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessWowlAddBcPtrnRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process wowl delete ptrn Rsp function (called when a 
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessWowlDelBcPtrnRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process wowl enter Rsp function (called when a response 
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessWowlEnterRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process wowl exit Rsp function (called when a response 
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessWowlExitRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Configure Apps CPU wakeup State Rsp function 
+        (called when a response is being received over the bus
+        from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessConfigureAppsCpuWakeupStateRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+/**
+ @brief Process Flush AC Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessFlushAcRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process BT AMP event Rsp function (called when a 
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessBtAmpEventRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process ADD SELF STA Rsp function (called 
+        when a response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessAddSTASelfRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+ /**
+ @brief WDI_ProcessDelSTASelfRsp function (called when a 
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessDelSTASelfRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+ /**
+ @brief WDI_ProcessHostResumeRsp function (called when a 
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessHostResumeRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process set tx per tracking Rsp function (called when a
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetTxPerTrackingRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Power Params Rsp function (called when a
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetPowerParamsRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Set TM Level Rsp function (called when a
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetTmLevelRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/*==========================================================================
+                        Indications from HAL
+ ==========================================================================*/
+/**
+ @brief Process Low RSSI Indication function (called when an 
+        indication of this kind is being received over the bus
+        from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessLowRSSIInd
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Missed Beacon Indication function (called when 
+        an indication of this kind is being received over the
+        bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessMissedBeaconInd
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process Unk Addr Frame Indication function (called when 
+        an indication of this kind is being received over the
+        bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessUnkAddrFrameInd
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+
+/**
+ @brief Process MIC Failure Indication function (called when an 
+        indication of this kind is being received over the bus
+        from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessMicFailureInd
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Fatal Failure Indication function (called when 
+        an indication of this kind is being received over the
+        bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessFatalErrorInd
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Delete STA Indication function (called when 
+        an indication of this kind is being received over the
+        bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessDelSTAInd
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+*@brief Process Coex Indication function (called when
+        an indication of this kind is being received over the
+        bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessCoexInd
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+*@brief Process Tx Complete Indication function (called when
+        an indication of this kind is being received over the
+        bus from HAL)
+
+ @param  pWDICtx:         pointer to the WLAN DAL context
+         pEventData:      pointer to the event information structure
+
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessTxCompleteInd
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+#ifdef WLAN_FEATURE_P2P
+/**
+*@brief Process Noa Attr Indication function (called when
+        an indication of this kind is being received over the
+        bus from HAL)
+
+ @param  pWDICtx:         pointer to the WLAN DAL context
+         pEventData:      pointer to the event information structure
+
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessP2pNoaAttrInd
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+#endif
+
+/**
+*@brief Process Tx Per Hit Indication function (called when
+        an indication of this kind is being received over the
+        bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessTxPerHitInd
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+#ifdef WLAN_FEATURE_VOWIFI_11R
+/**
+ @brief Process Aggrgated Add TSpec Request function (called when Main FSM
+        allows it)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessAggrAddTSpecReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Add TSpec Rsp function (called when a response
+        is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessAggrAddTSpecRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+#endif /* WLAN_FEATURE_VOWIFI_11R */
+
+#ifdef ANI_MANF_DIAG
+/**
+ @brief WDI_ProcessFTMCommandReq
+        Process FTM Command, simply route to HAL
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessFTMCommandReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief WDI_ProcessFTMCommandRsp
+        Process FTM Command Response from HAL, simply route to HDD FTM
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessFTMCommandRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+#endif /* ANI_MANF_DIAG */
+/**
+ @brief WDI_ProcessHALDumpCmdReq
+        Process Hal Dump Command, simply route to HAL
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessHALDumpCmdReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief WDI_ProcessHALDumpCmdRsp
+        Process Hal Dump Command Response from HAL, simply route to HDD FTM
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessHALDumpCmdRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+/*========================================================================
+         Internal Helper Routines 
+========================================================================*/
+
+/**
+ @brief WDI_CleanCB - internal helper routine used to clean the 
+        WDI Main Control Block
+ 
+ @param pWDICtx - pointer to the control block
+
+ @return Result of the function call
+*/
+WPT_INLINE WDI_Status
+WDI_CleanCB
+(
+  WDI_ControlBlockType*  pWDICtx
+);
+
+/**
+ @brief Main FSM Close function for all states except BUSY
+
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WPT_INLINE WDI_Status
+WDI_ProcessRequest
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Get message helper function - it allocates memory for a 
+        message that is to be sent to HAL accross the bus and
+        prefixes it with a send message header 
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         wdiReqType:      type of the request being sent
+         uBufferLen:      message buffer len
+         pMsgBuffer:      resulting allocated buffer
+         puDataOffset:    offset in the buffer where the caller
+         can start copying its message data
+         puBufferSize:    the resulting buffer size (offset+buff
+         len)
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_GetMessageBuffer
+( 
+  WDI_ControlBlockType*  pWDICtx, 
+  WDI_RequestEnumType    wdiReqType, 
+  wpt_uint16             usBufferLen,
+  wpt_uint8**            pMsgBuffer, 
+  wpt_uint16*            pusDataOffset, 
+  wpt_uint16*            pusBufferSize
+);
+
+/**
+ @brief WDI_DetectedDeviceError - called internally by DAL when 
+        it has detected a failure in the device 
+ 
+ @param  pWDICtx:        pointer to the WLAN DAL context 
+         usErrorCode:    error code detected by WDI or received
+                         from HAL
+  
+ @see
+ @return None 
+*/
+void
+WDI_DetectedDeviceError
+(
+  WDI_ControlBlockType*  pWDICtx,
+  wpt_uint16             usErrorCode
+);
+
+/*=========================================================================
+                   QUEUE SUPPORT UTILITY FUNCTIONS 
+=========================================================================*/
+
+/**
+ @brief    Utility function used by the DAL Core to help queue a 
+           request that cannot be processed right away. 
+ @param 
+    
+    pWDICtx: - pointer to the WDI control block
+    pEventData: - pointer to the evnt info that needs to be
+    queued 
+    
+ @see 
+ @return Result of the operation  
+*/
+WDI_Status
+WDI_QueuePendingReq
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief    Utility function used by the DAL Core to clear any 
+           pending requests - all req cb will be called with
+           failure and the queue will be emptied.
+ @param 
+    
+    pWDICtx: - pointer to the WDI control block
+    
+ @see 
+ @return Result of the operation  
+*/
+WDI_Status
+WDI_ClearPendingRequests
+( 
+  WDI_ControlBlockType*  pWDICtx
+);
+
+/**
+ @brief    This callback is invoked by the wpt when a timer that 
+           we started on send message has expire - this should
+           never happen - it means device is stuck and cannot
+           reply - trigger catastrophic failure 
+ @param 
+    
+    pUserData: the callback data of the user (ptr to WDI CB)
+    
+ @see 
+ @return None 
+*/
+void 
+WDI_ResponseTimerCB
+(
+  void *pUserData
+);
+
+/*==========================================================================
+                     CONTRL TRANSPORT INTERACTION
+ 
+    Callback function registered with the control transport - for receiving
+    notifications and packets 
+==========================================================================*/
+/**
+ @brief    This callback is invoked by the control transport 
+   when it wishes to send up a notification like the ones
+   mentioned above.
+ 
+ @param
+    
+    wctsHandle:       handle to the control transport service 
+    wctsEvent:        the event being notified
+    wctsNotifyCBData: the callback data of the user 
+    
+ @see  WCTS_OpenTransport
+  
+ @return None 
+*/
+void 
+WDI_NotifyMsgCTSCB
+(
+  WCTS_HandleType        wctsHandle, 
+  WCTS_NotifyEventType   wctsEvent,
+  void*                  wctsNotifyCBData
+);
+
+/**
+ @brief    This callback is invoked by the control transport 
+           when it wishes to send up a packet received over the
+           bus.
+ 
+ @param
+    
+    wctsHandle:  handle to the control transport service 
+    pMsg:        the packet
+    uLen:        the packet length
+    wctsRxMsgCBData: the callback data of the user 
+    
+ @see  WCTS_OpenTransport
+  
+ @return None 
+*/
+void 
+WDI_RXMsgCTSCB 
+(
+  WCTS_HandleType       wctsHandle, 
+  void*                 pMsg,
+  wpt_uint32            uLen,
+  void*                 wctsRxMsgCBData
+);
+
+/**
+ @brief Process response helper function 
+
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessResponse
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Send message helper function - sends a message over the 
+        bus using the control tranport and saves some info in
+        the CB 
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pSendBuffer:     buffer to be sent
+  
+         uSendSize          size of the buffer to be sent
+         pRspCb:            response callback - save in the WDI
+         CB
+         pUserData:         user data associated with the
+         callback
+         wdiExpectedResponse: the code of the response that is
+         expected to be rx-ed for this request
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status 
+WDI_SendMsg
+( 
+  WDI_ControlBlockType*  pWDICtx,  
+  wpt_uint8*             pSendBuffer, 
+  wpt_uint32             uSendSize, 
+  void*                  pRspCb, 
+  void*                  pUserData,
+  WDI_ResponseEnumType   wdiExpectedResponse
+);
+
+
+/**
+ @brief Send indication helper function - sends a message over 
+        the bus using the control transport and saves some info
+        in the CB
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pSendBuffer:     buffer to be sent
+         usSendSize: size of the buffer to be sent
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status 
+WDI_SendIndication
+( 
+  WDI_ControlBlockType*  pWDICtx,  
+  wpt_uint8*             pSendBuffer, 
+  wpt_uint32             usSendSize
+);
+
+/**
+ @brief    Utility function used by the DAL Core to help dequeue
+           and schedule for execution a pending request 
+ @param 
+    
+    pWDICtx: - pointer to the WDI control block
+    pEventData: - pointer to the evnt info that needs to be
+    queued 
+    
+ @see 
+ @return Result of the operation  
+*/
+WDI_Status
+WDI_DequeuePendingReq
+(
+  WDI_ControlBlockType*  pWDICtx
+);
+
+/**
+ @brief    Utility function used by the DAL Core to help queue 
+           an association request that cannot be processed right
+           away.- The assoc requests will be queued by BSSID 
+ @param 
+    
+    pWDICtx: - pointer to the WDI control block
+    pEventData: pointer to the evnt info that needs to be queued
+    macBSSID: bssid
+    
+ @see 
+ @return Result of the operation  
+*/
+WDI_Status
+WDI_QueueNewAssocRequest
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData,
+  wpt_macAddr            macBSSID
+); 
+
+/**
+ @brief    Utility function used by the DAL Core to help queue 
+           an association request that cannot be processed right
+           away.- The assoc requests will be queued by BSSID 
+ @param 
+    
+    pWDICtx: - pointer to the WDI control block
+    pSession: - session in which to queue
+    pEventData: pointer to the event info that needs to be
+    queued
+    
+ @see 
+ @return Result of the operation  
+*/
+WDI_Status
+WDI_QueueAssocRequest
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_BSSSessionType*    pSession,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief    Utility function used by the DAL Core to help dequeue
+           an association request that was pending
+           The request will be queued up in front of the main
+           pending queue for immediate processing
+ @param 
+    
+    pWDICtx: - pointer to the WDI control block
+  
+    
+ @see 
+ @return Result of the operation  
+*/
+WDI_Status
+WDI_DequeueAssocRequest
+(
+  WDI_ControlBlockType*  pWDICtx
+);
+
+/**
+ @brief Helper routine used to init the BSS Sessions in the WDI control block 
+  
+ 
+ @param  pWDICtx:       pointer to the WLAN DAL context 
+  
+ @see
+*/
+void
+WDI_ResetAssocSessions
+( 
+  WDI_ControlBlockType*   pWDICtx
+);
+
+/**
+ @brief Helper routine used to find an empty session in the WDI 
+        CB
+  
+ 
+ @param  pWDICtx:       pointer to the WLAN DAL context 
+         pSession:      pointer to the session (if found) 
+  
+ @see
+ @return Index of the session in the array 
+*/
+wpt_uint8
+WDI_FindEmptySession
+( 
+  WDI_ControlBlockType*   pWDICtx,
+  WDI_BSSSessionType**    ppSession
+);
+
+/**
+ @brief Helper routine used to get the total count of active 
+        sessions
+  
+ 
+ @param  pWDICtx:       pointer to the WLAN DAL context 
+  
+ @see
+ @return Number of sessions in use
+*/
+wpt_uint8
+WDI_GetActiveSessionsCount
+( 
+  WDI_ControlBlockType*   pWDICtx
+);
+
+/**
+ @brief Helper routine used to delete session in the WDI 
+        CB
+  
+ 
+ @param  pWDICtx:       pointer to the WLAN DAL context 
+         pSession:      pointer to the session (if found) 
+  
+ @see
+ @return Index of the session in the array 
+*/
+void 
+WDI_DeleteSession
+( 
+  WDI_ControlBlockType*   pWDICtx,
+  WDI_BSSSessionType*     ppSession
+);
+
+/**
+ @brief Helper routine used to find a session based on the BSSID 
+  
+ 
+ @param  pWDICtx:   pointer to the WLAN DAL context 
+         macBSSID:  BSSID of the session
+         ppSession: out pointer to the session (if found)
+  
+ @see
+ @return Index of the session in the array 
+*/
+wpt_uint8
+WDI_FindAssocSession
+( 
+  WDI_ControlBlockType*   pWDICtx,
+  wpt_macAddr             macBSSID,
+  WDI_BSSSessionType**    ppSession
+);
+
+
+/**
+ @brief Helper routine used to find a session based on the BSSID 
+  
+ 
+ @param  pWDICtx:   pointer to the WLAN DAL context 
+         usBssIdx:  BSS Index of the session
+         ppSession: out pointer to the session (if found)
+  
+ @see
+ @return Index of the session in the array 
+*/
+wpt_uint8
+WDI_FindAssocSessionByBSSIdx
+( 
+  WDI_ControlBlockType*   pWDICtx,
+  wpt_uint16              usBssIdx,
+  WDI_BSSSessionType**    ppSession
+);
+
+/**
+ @brief Helper routine used to find a session based on the BSSID 
+  
+ 
+ @param  pWDICtx:   pointer to the WLAN DAL context 
+         usBssIdx:  BSS Index of the session
+         ppSession: out pointer to the session (if found)
+  
+ @see
+ @return Index of the session in the array 
+*/
+wpt_uint8
+WDI_FindAssocSessionByIdx
+( 
+  WDI_ControlBlockType*   pWDICtx,
+  wpt_uint16              usBssIdx,
+  WDI_BSSSessionType**    ppSession
+);
+
+/**
+ @brief Helper routine used to find a session based on the BSSID 
+ @param  pContext:   pointer to the WLAN DAL context 
+ @param  pDPContext:   pointer to the Datapath context 
+  
+ @see
+ @return 
+*/
+WPT_INLINE void 
+WDI_DS_AssignDatapathContext 
+(
+  void *pContext, 
+  void *pDPContext
+);
+
+/**
+ @brief Helper routine used to find a session based on the BSSID 
+  
+ 
+ @param  pContext:   pointer to the WLAN DAL context 
+  
+ @see
+ @return pointer to Datapath context
+*/
+WPT_INLINE void * 
+WDI_DS_GetDatapathContext 
+(
+  void *pContext
+);
+
+/**
+ @brief Helper routine used to find a session based on the BSSID 
+  
+ 
+ @param  pContext:   pointer to the WLAN DAL context 
+ @param  pDTDriverContext:   pointer to the Transport Driver context 
+  
+ @see
+ @return void
+*/
+WPT_INLINE void  
+WDT_AssignTransportDriverContext 
+(
+  void *pContext, 
+  void *pDTDriverContext
+);
+
+/**
+ @brief Helper routine used to find a session based on the BSSID 
+  
+ 
+ @param  pWDICtx:   pointer to the WLAN DAL context 
+  
+ @see
+ @return pointer to datapath context 
+*/
+WPT_INLINE void * 
+WDT_GetTransportDriverContext 
+(
+  void *pContext
+);
+
+#ifdef FEATURE_WLAN_SCAN_PNO
+/**
+ @brief Process Set Preferred Network List Request function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetPreferredNetworkReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Set RSSI Filter Request function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetRssiFilterReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Update Scan Params function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessUpdateScanParamsReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Preferred Network Found Indication function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessPrefNetworkFoundInd
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process PNO Rsp function (called when a
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetPreferredNetworkRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process RSSI Filter Rsp function (called when a
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessSetRssiFilterRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Update Scan Params Rsp function (called when a
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessUpdateScanParamsRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+#endif // FEATURE_WLAN_SCAN_PNO
+
+#ifdef WLAN_FEATURE_PACKET_FILTERING
+/**
+ @brief Process 8023 Multicast List Request function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_Process8023MulticastListReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Receive Filter Set Filter Request function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessReceiveFilterSetFilterReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process D0 PC Filter Match Count Request function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessFilterMatchCountReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Receive Filter Clear Filter Request function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessReceiveFilterClearFilterReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process 8023 Multicast List Response function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_Process8023MulticastListRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Receive Filter Set Filter Response function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessReceiveFilterSetFilterRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process D0 PC Filter Match Count Response function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessFilterMatchCountRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Receive Filter Clear Filter Response function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessReceiveFilterClearFilterRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+#endif // WLAN_FEATURE_PACKET_FILTERING
+
+#ifdef WLAN_FEATURE_GTK_OFFLOAD
+/**
+ @brief Process set GTK Offload Request function 
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessGTKOffloadReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process GTK Offload Get Information Request function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessGTKOffloadGetInfoReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process host offload Rsp function (called when a
+        response is being received over the bus from HAL)
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessGtkOffloadRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process GTK Offload Get Information Response function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessGTKOffloadGetInfoRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+#endif // WLAN_FEATURE_GTK_OFFLOAD
+
+#ifdef WLAN_WAKEUP_EVENTS
+WDI_Status
+WDI_ProcessWakeReasonInd
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+#endif // WLAN_WAKEUP_EVENTS
+
+/**
+ @brief Process Host-FW Capability Exchange Request function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessFeatureCapsExchangeReq
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+/**
+ @brief Process Host-FW Capability Exchange Response function
+ 
+ @param  pWDICtx:         pointer to the WLAN DAL context 
+         pEventData:      pointer to the event information structure 
+  
+ @see
+ @return Result of the function call
+*/
+WDI_Status
+WDI_ProcessFeatureCapsExchangeRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+#endif /*WLAN_QCT_WDI_I_H*/
+