blob: a1e6700836432d75f0a6ed1bc00e8fbf3e0c37af [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,
Jeff Johnson295189b2012-06-20 16:38:30 -0700100};
101
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -0800102#define LIM_DISASSOC_DEAUTH_ACK_TIMEOUT 500
Viral Modid86bde22012-12-10 13:09:21 -0800103#define LIM_INSERT_SINGLESHOTNOA_TIMEOUT_VALUE 500
104
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -0800105
Jeff Johnson295189b2012-06-20 16:38:30 -0700106// Timer Handler functions
Madan Mohan Koyyalamudi694f8d72012-10-11 16:32:55 -0700107v_UINT_t limCreateTimers(tpAniSirGlobal);
Jeff Johnson295189b2012-06-20 16:38:30 -0700108void limTimerHandler(void *, tANI_U32);
109void limAuthResponseTimerHandler(void *, tANI_U32);
110void limAssocFailureTimerHandler(void *, tANI_U32);
111void limReassocFailureTimerHandler(void *, tANI_U32);
112
113void limDeactivateAndChangeTimer(tpAniSirGlobal, tANI_U32);
114void limHeartBeatDeactivateAndChangeTimer(tpAniSirGlobal, tpPESession);
115void limReactivateHeartBeatTimer(tpAniSirGlobal, tpPESession);
116void limDummyPktExpTimerHandler(void *, tANI_U32);
117void limSendDisassocFrameThresholdHandler(void *, tANI_U32);
118void limCnfWaitTmerHandler(void *, tANI_U32);
119void limKeepaliveTmerHandler(void *, tANI_U32);
120void limDeactivateAndChangePerStaIdTimer(tpAniSirGlobal, tANI_U32, tANI_U16);
121void limActivateCnfTimer(tpAniSirGlobal, tANI_U16, tpPESession);
122void limActivateAuthRspTimer(tpAniSirGlobal, tLimPreAuthNode *);
Jeff Johnson295189b2012-06-20 16:38:30 -0700123void limUpdateOlbcCacheTimerHandler(void *, tANI_U32);
Jeff Johnson295189b2012-06-20 16:38:30 -0700124void limAddtsResponseTimerHandler(void *, tANI_U32);
125void limChannelSwitchTimerHandler(void *, tANI_U32);
126void limQuietTimerHandler(void *, tANI_U32);
127void limQuietBssTimerHandler(void *, tANI_U32);
128void limCBScanIntervalTimerHandler(void *, tANI_U32);
129void limCBScanDurationTimerHandler(void *, tANI_U32);
130/**
131 * limActivateHearBeatTimer()
132 *
133 *
134 * @brief: This function is called to activate heartbeat timer
135 *
136 *LOGIC:
137 *
138 *ASSUMPTIONS:
139 * NA
140 *
141 * @note staId for eLIM_AUTH_RSP_TIMER is auth Node Index.
142 *
143 * @param pMac - Pointer to Global MAC structure
144 *
145 * @return TX_SUCCESS - timer is activated
146 * errors - fail to start the timer
147 */
148v_UINT_t limActivateHearBeatTimer(tpAniSirGlobal pMac);
149
Jeff Johnson295189b2012-06-20 16:38:30 -0700150#if 0
151void limWPSOverlapTimerHandler(void *pMacGlobal, tANI_U32 param);
152#endif
Yathish9f22e662012-12-10 14:21:35 -0800153#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800154void limMissedBeaconInActiveMode(void *pMacGlobal, tpPESession psessionEntry);
Yathish9f22e662012-12-10 14:21:35 -0800155#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700156#endif /* __LIM_TIMER_UTILS_H */