blob: 67e06fc2cc8b8dc80b9fc7340773433a7e261b9e [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Padma, Santhosh Kumar67f479b2016-12-28 15:43:42 +05302 * Copyright (c) 2012-2015, 2017 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_PERIODIC_PROBE_REQ_TIMER,
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080072#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -070073 eLIM_TSM_TIMER,
74#endif
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -080075 eLIM_DISASSOC_ACK_TIMER,
76 eLIM_DEAUTH_ACK_TIMER,
Madan Mohan Koyyalamudi9aff9ff2012-11-29 11:27:25 -080077 eLIM_PERIODIC_JOIN_PROBE_REQ_TIMER,
Viral Modid86bde22012-12-10 13:09:21 -080078 eLIM_INSERT_SINGLESHOT_NOA_TIMER,
Sushant Kaushik9e923872015-04-02 17:09:31 +053079 eLIM_CONVERT_ACTIVE_CHANNEL_TO_PASSIVE,
Padma, Santhosh Kumar67f479b2016-12-28 15:43:42 +053080 eLIM_AUTH_RETRY_TIMER,
81#ifdef WLAN_FEATURE_LFR_MBB
82 eLIM_PREAUTH_MBB_RSP_TIMER
83#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070084};
85
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -080086#define LIM_DISASSOC_DEAUTH_ACK_TIMEOUT 500
Viral Modid86bde22012-12-10 13:09:21 -080087#define LIM_INSERT_SINGLESHOTNOA_TIMEOUT_VALUE 500
88
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -080089
Jeff Johnson295189b2012-06-20 16:38:30 -070090// Timer Handler functions
Madan Mohan Koyyalamudi694f8d72012-10-11 16:32:55 -070091v_UINT_t limCreateTimers(tpAniSirGlobal);
Jeff Johnson295189b2012-06-20 16:38:30 -070092void limTimerHandler(void *, tANI_U32);
93void limAuthResponseTimerHandler(void *, tANI_U32);
94void limAssocFailureTimerHandler(void *, tANI_U32);
95void limReassocFailureTimerHandler(void *, tANI_U32);
96
97void limDeactivateAndChangeTimer(tpAniSirGlobal, tANI_U32);
98void limHeartBeatDeactivateAndChangeTimer(tpAniSirGlobal, tpPESession);
99void limReactivateHeartBeatTimer(tpAniSirGlobal, tpPESession);
100void limDummyPktExpTimerHandler(void *, tANI_U32);
Jeff Johnson295189b2012-06-20 16:38:30 -0700101void limCnfWaitTmerHandler(void *, tANI_U32);
102void limKeepaliveTmerHandler(void *, tANI_U32);
103void limDeactivateAndChangePerStaIdTimer(tpAniSirGlobal, tANI_U32, tANI_U16);
104void limActivateCnfTimer(tpAniSirGlobal, tANI_U16, tpPESession);
105void limActivateAuthRspTimer(tpAniSirGlobal, tLimPreAuthNode *);
Jeff Johnson295189b2012-06-20 16:38:30 -0700106void limUpdateOlbcCacheTimerHandler(void *, tANI_U32);
Jeff Johnson295189b2012-06-20 16:38:30 -0700107void limAddtsResponseTimerHandler(void *, tANI_U32);
108void limChannelSwitchTimerHandler(void *, tANI_U32);
109void limQuietTimerHandler(void *, tANI_U32);
110void limQuietBssTimerHandler(void *, tANI_U32);
111void limCBScanIntervalTimerHandler(void *, tANI_U32);
112void limCBScanDurationTimerHandler(void *, tANI_U32);
113/**
114 * limActivateHearBeatTimer()
115 *
116 *
117 * @brief: This function is called to activate heartbeat timer
118 *
119 *LOGIC:
120 *
121 *ASSUMPTIONS:
122 * NA
123 *
124 * @note staId for eLIM_AUTH_RSP_TIMER is auth Node Index.
125 *
126 * @param pMac - Pointer to Global MAC structure
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700127 * @param psessionEntry - Pointer to PE session entry
Jeff Johnson295189b2012-06-20 16:38:30 -0700128 *
129 * @return TX_SUCCESS - timer is activated
130 * errors - fail to start the timer
131 */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700132v_UINT_t limActivateHearBeatTimer(tpAniSirGlobal pMac, tpPESession psessionEntry);
Jeff Johnson295189b2012-06-20 16:38:30 -0700133
Jeff Johnson295189b2012-06-20 16:38:30 -0700134#if 0
135void limWPSOverlapTimerHandler(void *pMacGlobal, tANI_U32 param);
136#endif
Yathish9f22e662012-12-10 14:21:35 -0800137#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800138void limMissedBeaconInActiveMode(void *pMacGlobal, tpPESession psessionEntry);
Yathish9f22e662012-12-10 14:21:35 -0800139#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700140#endif /* __LIM_TIMER_UTILS_H */