blob: 9dc1c415b9330b4037494c6c3b4cdf8b2d0af32d [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002 * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved.
Kiet Lam842dad02014-02-18 18:44:02 -08003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
Gopichand Nakkala92f07d82013-01-08 21:16:34 -080020 */
Kiet Lam842dad02014-02-18 18:44:02 -080021
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
Gopichand Nakkala92f07d82013-01-08 21:16:34 -080028/*
Jeff Johnson295189b2012-06-20 16:38:30 -070029 *
Jeff Johnson295189b2012-06-20 16:38:30 -070030 * This file limTimerUtils.h contains the utility definitions
31 * LIM uses for timer handling.
32 * Author: Chandra Modumudi
33 * Date: 02/13/02
34 * History:-
35 * Date Modified by Modification Information
36 * --------------------------------------------------------------------
37 */
38#ifndef __LIM_TIMER_UTILS_H
39#define __LIM_TIMER_UTILS_H
40
41#include "limTypes.h"
42
43
44// Timer related functions
45enum
46{
47 eLIM_MIN_CHANNEL_TIMER,
48 eLIM_MAX_CHANNEL_TIMER,
49 eLIM_JOIN_FAIL_TIMER,
50 eLIM_AUTH_FAIL_TIMER,
51 eLIM_AUTH_RESP_TIMER,
52 eLIM_ASSOC_FAIL_TIMER,
53 eLIM_REASSOC_FAIL_TIMER,
54 eLIM_PRE_AUTH_CLEANUP_TIMER,
Jeff Johnson3c3e1782013-02-27 10:48:42 -080055 eLIM_HEART_BEAT_TIMER,
Jeff Johnson295189b2012-06-20 16:38:30 -070056 eLIM_BACKGROUND_SCAN_TIMER,
Jeff Johnson295189b2012-06-20 16:38:30 -070057 eLIM_KEEPALIVE_TIMER,
58 eLIM_CNF_WAIT_TIMER,
59 eLIM_AUTH_RSP_TIMER,
60 eLIM_UPDATE_OLBC_CACHE_TIMER,
61 eLIM_PROBE_AFTER_HB_TIMER,
62 eLIM_ADDTS_RSP_TIMER,
63 eLIM_CHANNEL_SWITCH_TIMER,
64 eLIM_LEARN_DURATION_TIMER,
65 eLIM_QUIET_TIMER,
66 eLIM_QUIET_BSS_TIMER,
Jeff Johnson3c3e1782013-02-27 10:48:42 -080067 eLIM_WPS_OVERLAP_TIMER,
Jeff Johnson295189b2012-06-20 16:38:30 -070068#ifdef WLAN_FEATURE_VOWIFI_11R
69 eLIM_FT_PREAUTH_RSP_TIMER,
70#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070071 eLIM_REMAIN_CHN_TIMER,
Jeff Johnson295189b2012-06-20 16:38:30 -070072 eLIM_PERIODIC_PROBE_REQ_TIMER,
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080073#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -070074 eLIM_TSM_TIMER,
75#endif
Mohit Khanna698ba2a2012-12-04 15:08:18 -080076#ifdef FEATURE_WLAN_TDLS_INTERNAL
77 eLIM_TDLS_DISCOVERY_RSP_WAIT,
78 eLIM_TDLS_LINK_SETUP_RSP_TIMEOUT,
Jeff Johnson3c3e1782013-02-27 10:48:42 -080079 eLIM_TDLS_LINK_SETUP_CNF_TIMEOUT,
Mohit Khanna698ba2a2012-12-04 15:08:18 -080080#endif
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -080081 eLIM_DISASSOC_ACK_TIMER,
82 eLIM_DEAUTH_ACK_TIMER,
Madan Mohan Koyyalamudi9aff9ff2012-11-29 11:27:25 -080083 eLIM_PERIODIC_JOIN_PROBE_REQ_TIMER,
Viral Modid86bde22012-12-10 13:09:21 -080084 eLIM_INSERT_SINGLESHOT_NOA_TIMER,
Gopichand Nakkalad492d202013-05-10 02:50:47 +053085 eLIM_CONVERT_ACTIVE_CHANNEL_TO_PASSIVE
Jeff Johnson295189b2012-06-20 16:38:30 -070086};
87
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -080088#define LIM_DISASSOC_DEAUTH_ACK_TIMEOUT 500
Viral Modid86bde22012-12-10 13:09:21 -080089#define LIM_INSERT_SINGLESHOTNOA_TIMEOUT_VALUE 500
90
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -080091
Jeff Johnson295189b2012-06-20 16:38:30 -070092// Timer Handler functions
Madan Mohan Koyyalamudi694f8d72012-10-11 16:32:55 -070093v_UINT_t limCreateTimers(tpAniSirGlobal);
Jeff Johnson295189b2012-06-20 16:38:30 -070094void limTimerHandler(void *, tANI_U32);
95void limAuthResponseTimerHandler(void *, tANI_U32);
96void limAssocFailureTimerHandler(void *, tANI_U32);
97void limReassocFailureTimerHandler(void *, tANI_U32);
98
99void limDeactivateAndChangeTimer(tpAniSirGlobal, tANI_U32);
100void limHeartBeatDeactivateAndChangeTimer(tpAniSirGlobal, tpPESession);
101void limReactivateHeartBeatTimer(tpAniSirGlobal, tpPESession);
102void limDummyPktExpTimerHandler(void *, tANI_U32);
103void limSendDisassocFrameThresholdHandler(void *, tANI_U32);
104void limCnfWaitTmerHandler(void *, tANI_U32);
105void limKeepaliveTmerHandler(void *, tANI_U32);
106void limDeactivateAndChangePerStaIdTimer(tpAniSirGlobal, tANI_U32, tANI_U16);
107void limActivateCnfTimer(tpAniSirGlobal, tANI_U16, tpPESession);
108void limActivateAuthRspTimer(tpAniSirGlobal, tLimPreAuthNode *);
Jeff Johnson295189b2012-06-20 16:38:30 -0700109void limUpdateOlbcCacheTimerHandler(void *, tANI_U32);
Jeff Johnson295189b2012-06-20 16:38:30 -0700110void limAddtsResponseTimerHandler(void *, tANI_U32);
111void limChannelSwitchTimerHandler(void *, tANI_U32);
112void limQuietTimerHandler(void *, tANI_U32);
113void limQuietBssTimerHandler(void *, tANI_U32);
114void limCBScanIntervalTimerHandler(void *, tANI_U32);
115void limCBScanDurationTimerHandler(void *, tANI_U32);
116/**
117 * limActivateHearBeatTimer()
118 *
119 *
120 * @brief: This function is called to activate heartbeat timer
121 *
122 *LOGIC:
123 *
124 *ASSUMPTIONS:
125 * NA
126 *
127 * @note staId for eLIM_AUTH_RSP_TIMER is auth Node Index.
128 *
129 * @param pMac - Pointer to Global MAC structure
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700130 * @param psessionEntry - Pointer to PE session entry
Jeff Johnson295189b2012-06-20 16:38:30 -0700131 *
132 * @return TX_SUCCESS - timer is activated
133 * errors - fail to start the timer
134 */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700135v_UINT_t limActivateHearBeatTimer(tpAniSirGlobal pMac, tpPESession psessionEntry);
Jeff Johnson295189b2012-06-20 16:38:30 -0700136
Jeff Johnson295189b2012-06-20 16:38:30 -0700137#if 0
138void limWPSOverlapTimerHandler(void *pMacGlobal, tANI_U32 param);
139#endif
Yathish9f22e662012-12-10 14:21:35 -0800140#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800141void limMissedBeaconInActiveMode(void *pMacGlobal, tpPESession psessionEntry);
Yathish9f22e662012-12-10 14:21:35 -0800142#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700143#endif /* __LIM_TIMER_UTILS_H */