blob: 2c6a101b7641285d201db1c8868e40e6f87d8520 [file] [log] [blame]
/*
* Copyright (c) 2012-2013 The Linux Foundation. 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.
*/
/*
* This file was originally distributed by Qualcomm Atheros, Inc.
* under proprietary terms before Copyright ownership was assigned
* to the Linux Foundation.
*/
#ifndef WLAN_QCT_WLANBAP_API_TIMER_H
#define WLAN_QCT_WLANBAP_API_TIMER_H
/*===========================================================================
W L A N B T - A M P P A L L A Y E R
T I M E R S E R V I C E S A P I
DESCRIPTION
This file contains the timer APIs used by the wlan BT-AMP PAL layer
module.
===========================================================================*/
/*===========================================================================
EDIT HISTORY FOR FILE
This section contains comments describing changes made to the module.
Notice that changes are listed in reverse chronological order.
$Header: /cygdrive/e/Builds/M7201JSDCAAPAD52240B/WM/platform/msm7200/Src/Drivers/SD/ClientDrivers/WLAN/QCT/CORE/BAP/src/bapApiTimer.h,v 1.1 2008/11/21 20:30:20 jzmuda Exp jzmuda $ $DateTime: $ $Author: jzmuda $
when who what, where, why
-------- --- ----------------------------------------------------------
10/23/08 jez Created module.
===========================================================================*/
/*===========================================================================
INCLUDE FILES FOR MODULE
===========================================================================*/
/*----------------------------------------------------------------------------
* Include Files
* -------------------------------------------------------------------------*/
// Pick up all the BT-AMP internal definitions
// And underlying supporting types. (Including VOSS, CSR, and...)
#include "bapInternal.h"
/* Pick up the SIRIUS and HAL types */
// Already taken care of, above
//#include "sirApi.h"
//#include "halTypes.h"
/* Pick up the CCM API def'n */
#include "ccmApi.h"
/*----------------------------------------------------------------------------
* Preprocessor Definitions and Constants
* -------------------------------------------------------------------------*/
#ifdef __cplusplus
extern "C" {
#endif
/*----------------------------------------------------------------------------
* Defines
* -------------------------------------------------------------------------*/
// Temporary
//#define BAP_DEBUG
/*----------------------------------------------------------------------------
* Typedefs
* -------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
* External declarations for global context
* -------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
* Function prototypes
* -------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
* Utility Function prototypes
* -------------------------------------------------------------------------*/
#if 0
/*==========================================================================
FUNCTION WLANBAP_StartConnectionAcceptTimer
DESCRIPTION
Clear out all fields in the BAP context.
DEPENDENCIES
PARAMETERS
IN
pBtampCtx: pointer to the BAP control block
interval: time interval.
RETURN VALUE
The result code associated with performing the operation
VOS_STATUS_E_FAULT: access would cause a page fault
VOS_STATUS_SUCCESS: Everything is good :)
SIDE EFFECTS
============================================================================*/
VOS_STATUS
WLANBAP_StartConnectionAcceptTimer
(
ptBtampContext pBtampCtx,
v_U32_t interval
);
#endif // 0
/* Connection Accept timer*/
VOS_STATUS WLANBAP_InitConnectionAcceptTimer
( ptBtampContext pBtampCtx);
VOS_STATUS WLANBAP_DeinitConnectionAcceptTimer
( ptBtampContext pBtampCtx);
VOS_STATUS WLANBAP_StartConnectionAcceptTimer
(ptBtampContext pBtampCtx, v_U32_t interval);
VOS_STATUS WLANBAP_StopConnectionAcceptTimer
( ptBtampContext pBtampCtx);
v_VOID_t WLANBAP_ConnectionAcceptTimerHandler
( v_PVOID_t userData );
/* Link Supervision timer*/
VOS_STATUS WLANBAP_InitLinkSupervisionTimer
( ptBtampContext pBtampCtx);
VOS_STATUS WLANBAP_DeinitLinkSupervisionTimer
( ptBtampContext pBtampCtx);
VOS_STATUS WLANBAP_StartLinkSupervisionTimer
(ptBtampContext pBtampCtx, v_U32_t interval);
VOS_STATUS WLANBAP_StopLinkSupervisionTimer
( ptBtampContext pBtampCtx);
v_VOID_t WLANBAP_LinkSupervisionTimerHandler
( v_PVOID_t userData );
/* Logical Link Accept timer*/
VOS_STATUS WLANBAP_InitLogicalLinkAcceptTimer
( ptBtampContext pBtampCtx);
VOS_STATUS WLANBAP_DeinitLogicalLinkAcceptTimer
( ptBtampContext pBtampCtx);
VOS_STATUS WLANBAP_StartLogicalLinkAcceptTimer
(ptBtampContext pBtampCtx, v_U32_t interval);
VOS_STATUS WLANBAP_StopLogicalLinkAcceptTimer
( ptBtampContext pBtampCtx);
v_VOID_t WLANBAP_LogicalLinkAcceptTimerHandler
( v_PVOID_t userData );
/* Best Effort Flush timer*/
VOS_STATUS WLANBAP_InitBEFlushTimer
( ptBtampContext pBtampCtx);
VOS_STATUS WLANBAP_DeinitBEFlushTimer
( ptBtampContext pBtampCtx);
VOS_STATUS WLANBAP_StartBEFlushTimer
(ptBtampContext pBtampCtx, v_U32_t interval);
VOS_STATUS WLANBAP_StopBEFlushTimer
( ptBtampContext pBtampCtx);
v_VOID_t WLANBAP_BEFlushTimerHandler
( v_PVOID_t userData );
/* Tx Packet monitor timer handler */
v_VOID_t
WLANBAP_TxPacketMonitorHandler
(
v_PVOID_t userData
);
/* Tx Packet monitor start timer */
VOS_STATUS
WLANBAP_StartTxPacketMonitorTimer
(
ptBtampContext pBtampCtx
);
/* Tx Packet monitor stop timer */
VOS_STATUS
WLANBAP_StopTxPacketMonitorTimer
(
ptBtampContext pBtampCtx
);
#ifdef __cplusplus
}
#endif
#endif /* #ifndef WLAN_QCT_WLANBAP_API_TIMER_H */