blob: 0715227c173e106ff58a773d5e426cc402734343 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08002 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
42/*
43 *
44 * Airgo Networks, Inc proprietary. All rights reserved.
45 * This file limTimerUtils.h contains the utility definitions
46 * LIM uses for timer handling.
47 * Author: Chandra Modumudi
48 * Date: 02/13/02
49 * History:-
50 * Date Modified by Modification Information
51 * --------------------------------------------------------------------
52 */
53#ifndef __LIM_TIMER_UTILS_H
54#define __LIM_TIMER_UTILS_H
55
56#include "limTypes.h"
57
58
59// Timer related functions
60enum
61{
62 eLIM_MIN_CHANNEL_TIMER,
63 eLIM_MAX_CHANNEL_TIMER,
64 eLIM_JOIN_FAIL_TIMER,
65 eLIM_AUTH_FAIL_TIMER,
66 eLIM_AUTH_RESP_TIMER,
67 eLIM_ASSOC_FAIL_TIMER,
68 eLIM_REASSOC_FAIL_TIMER,
69 eLIM_PRE_AUTH_CLEANUP_TIMER,
Jeff Johnson3c3e1782013-02-27 10:48:42 -080070 eLIM_HEART_BEAT_TIMER,
Jeff Johnson295189b2012-06-20 16:38:30 -070071 eLIM_BACKGROUND_SCAN_TIMER,
Jeff Johnson295189b2012-06-20 16:38:30 -070072 eLIM_KEEPALIVE_TIMER,
73 eLIM_CNF_WAIT_TIMER,
74 eLIM_AUTH_RSP_TIMER,
75 eLIM_UPDATE_OLBC_CACHE_TIMER,
76 eLIM_PROBE_AFTER_HB_TIMER,
77 eLIM_ADDTS_RSP_TIMER,
78 eLIM_CHANNEL_SWITCH_TIMER,
79 eLIM_LEARN_DURATION_TIMER,
80 eLIM_QUIET_TIMER,
81 eLIM_QUIET_BSS_TIMER,
Jeff Johnson3c3e1782013-02-27 10:48:42 -080082 eLIM_WPS_OVERLAP_TIMER,
Jeff Johnson295189b2012-06-20 16:38:30 -070083#ifdef WLAN_FEATURE_VOWIFI_11R
84 eLIM_FT_PREAUTH_RSP_TIMER,
85#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070086 eLIM_REMAIN_CHN_TIMER,
Jeff Johnson295189b2012-06-20 16:38:30 -070087 eLIM_PERIODIC_PROBE_REQ_TIMER,
88#ifdef FEATURE_WLAN_CCX
89 eLIM_TSM_TIMER,
90#endif
Mohit Khanna698ba2a2012-12-04 15:08:18 -080091#ifdef FEATURE_WLAN_TDLS_INTERNAL
92 eLIM_TDLS_DISCOVERY_RSP_WAIT,
93 eLIM_TDLS_LINK_SETUP_RSP_TIMEOUT,
Jeff Johnson3c3e1782013-02-27 10:48:42 -080094 eLIM_TDLS_LINK_SETUP_CNF_TIMEOUT,
Mohit Khanna698ba2a2012-12-04 15:08:18 -080095#endif
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -080096 eLIM_DISASSOC_ACK_TIMER,
97 eLIM_DEAUTH_ACK_TIMER,
Madan Mohan Koyyalamudi9aff9ff2012-11-29 11:27:25 -080098 eLIM_PERIODIC_JOIN_PROBE_REQ_TIMER,
Viral Modid86bde22012-12-10 13:09:21 -080099 eLIM_INSERT_SINGLESHOT_NOA_TIMER,
Gopichand Nakkalad492d202013-05-10 02:50:47 +0530100 eLIM_CONVERT_ACTIVE_CHANNEL_TO_PASSIVE
Jeff Johnson295189b2012-06-20 16:38:30 -0700101};
102
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -0800103#define LIM_DISASSOC_DEAUTH_ACK_TIMEOUT 500
Viral Modid86bde22012-12-10 13:09:21 -0800104#define LIM_INSERT_SINGLESHOTNOA_TIMEOUT_VALUE 500
105
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -0800106
Jeff Johnson295189b2012-06-20 16:38:30 -0700107// Timer Handler functions
Madan Mohan Koyyalamudi694f8d72012-10-11 16:32:55 -0700108v_UINT_t limCreateTimers(tpAniSirGlobal);
Jeff Johnson295189b2012-06-20 16:38:30 -0700109void limTimerHandler(void *, tANI_U32);
110void limAuthResponseTimerHandler(void *, tANI_U32);
111void limAssocFailureTimerHandler(void *, tANI_U32);
112void limReassocFailureTimerHandler(void *, tANI_U32);
113
114void limDeactivateAndChangeTimer(tpAniSirGlobal, tANI_U32);
115void limHeartBeatDeactivateAndChangeTimer(tpAniSirGlobal, tpPESession);
116void limReactivateHeartBeatTimer(tpAniSirGlobal, tpPESession);
117void limDummyPktExpTimerHandler(void *, tANI_U32);
118void limSendDisassocFrameThresholdHandler(void *, tANI_U32);
119void limCnfWaitTmerHandler(void *, tANI_U32);
120void limKeepaliveTmerHandler(void *, tANI_U32);
121void limDeactivateAndChangePerStaIdTimer(tpAniSirGlobal, tANI_U32, tANI_U16);
122void limActivateCnfTimer(tpAniSirGlobal, tANI_U16, tpPESession);
123void limActivateAuthRspTimer(tpAniSirGlobal, tLimPreAuthNode *);
Jeff Johnson295189b2012-06-20 16:38:30 -0700124void limUpdateOlbcCacheTimerHandler(void *, tANI_U32);
Jeff Johnson295189b2012-06-20 16:38:30 -0700125void limAddtsResponseTimerHandler(void *, tANI_U32);
126void limChannelSwitchTimerHandler(void *, tANI_U32);
127void limQuietTimerHandler(void *, tANI_U32);
128void limQuietBssTimerHandler(void *, tANI_U32);
129void limCBScanIntervalTimerHandler(void *, tANI_U32);
130void limCBScanDurationTimerHandler(void *, tANI_U32);
131/**
132 * limActivateHearBeatTimer()
133 *
134 *
135 * @brief: This function is called to activate heartbeat timer
136 *
137 *LOGIC:
138 *
139 *ASSUMPTIONS:
140 * NA
141 *
142 * @note staId for eLIM_AUTH_RSP_TIMER is auth Node Index.
143 *
144 * @param pMac - Pointer to Global MAC structure
145 *
146 * @return TX_SUCCESS - timer is activated
147 * errors - fail to start the timer
148 */
149v_UINT_t limActivateHearBeatTimer(tpAniSirGlobal pMac);
150
Jeff Johnson295189b2012-06-20 16:38:30 -0700151#if 0
152void limWPSOverlapTimerHandler(void *pMacGlobal, tANI_U32 param);
153#endif
Yathish9f22e662012-12-10 14:21:35 -0800154#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800155void limMissedBeaconInActiveMode(void *pMacGlobal, tpPESession psessionEntry);
Yathish9f22e662012-12-10 14:21:35 -0800156#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700157#endif /* __LIM_TIMER_UTILS_H */