blob: 6bfbe226b0e4febef76ab243c47456ba6c8c0550 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Jeff Johnson32d95a32012-09-10 13:15:23 -07002 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -07003 *
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
22/*
23 *
24 * Airgo Networks, Inc proprietary. All rights reserved.
25 * This file limTimerUtils.h contains the utility definitions
26 * LIM uses for timer handling.
27 * Author: Chandra Modumudi
28 * Date: 02/13/02
29 * History:-
30 * Date Modified by Modification Information
31 * --------------------------------------------------------------------
32 */
33#ifndef __LIM_TIMER_UTILS_H
34#define __LIM_TIMER_UTILS_H
35
36#include "limTypes.h"
37
38
39// Timer related functions
40enum
41{
42 eLIM_MIN_CHANNEL_TIMER,
43 eLIM_MAX_CHANNEL_TIMER,
44 eLIM_JOIN_FAIL_TIMER,
45 eLIM_AUTH_FAIL_TIMER,
46 eLIM_AUTH_RESP_TIMER,
47 eLIM_ASSOC_FAIL_TIMER,
48 eLIM_REASSOC_FAIL_TIMER,
49 eLIM_PRE_AUTH_CLEANUP_TIMER,
50 eLIM_HEART_BEAT_TIMER,
51 eLIM_BACKGROUND_SCAN_TIMER,
52#ifdef ANI_PRODUCT_TYPE_AP
53 eLIM_LEARN_INTERVAL_TIMER,
54#endif
55 eLIM_KEEPALIVE_TIMER,
56 eLIM_CNF_WAIT_TIMER,
57 eLIM_AUTH_RSP_TIMER,
58 eLIM_UPDATE_OLBC_CACHE_TIMER,
59 eLIM_PROBE_AFTER_HB_TIMER,
60 eLIM_ADDTS_RSP_TIMER,
61 eLIM_CHANNEL_SWITCH_TIMER,
62 eLIM_LEARN_DURATION_TIMER,
63 eLIM_QUIET_TIMER,
64 eLIM_QUIET_BSS_TIMER,
65#ifdef WLAN_SOFTAP_FEATURE
66 eLIM_WPS_OVERLAP_TIMER,
67#endif
68#ifdef WLAN_FEATURE_VOWIFI_11R
69 eLIM_FT_PREAUTH_RSP_TIMER,
70#endif
71#ifdef WLAN_FEATURE_P2P
72 eLIM_REMAIN_CHN_TIMER,
73#endif
74 eLIM_PERIODIC_PROBE_REQ_TIMER,
75#ifdef FEATURE_WLAN_CCX
76 eLIM_TSM_TIMER,
77#endif
Mohit Khanna698ba2a2012-12-04 15:08:18 -080078#ifdef FEATURE_WLAN_TDLS_INTERNAL
79 eLIM_TDLS_DISCOVERY_RSP_WAIT,
80 eLIM_TDLS_LINK_SETUP_RSP_TIMEOUT,
81 eLIM_TDLS_LINK_SETUP_CNF_TIMEOUT,
82#endif
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -080083 eLIM_DISASSOC_ACK_TIMER,
84 eLIM_DEAUTH_ACK_TIMER,
Madan Mohan Koyyalamudi9aff9ff2012-11-29 11:27:25 -080085 eLIM_PERIODIC_JOIN_PROBE_REQ_TIMER,
Viral Modid86bde22012-12-10 13:09:21 -080086 eLIM_INSERT_SINGLESHOT_NOA_TIMER,
Jeff Johnson295189b2012-06-20 16:38:30 -070087};
88
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -080089#define LIM_DISASSOC_DEAUTH_ACK_TIMEOUT 500
Viral Modid86bde22012-12-10 13:09:21 -080090#define LIM_INSERT_SINGLESHOTNOA_TIMEOUT_VALUE 500
91
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -080092
Jeff Johnson295189b2012-06-20 16:38:30 -070093// Timer Handler functions
Madan Mohan Koyyalamudi694f8d72012-10-11 16:32:55 -070094v_UINT_t limCreateTimers(tpAniSirGlobal);
Jeff Johnson295189b2012-06-20 16:38:30 -070095void limTimerHandler(void *, tANI_U32);
96void limAuthResponseTimerHandler(void *, tANI_U32);
97void limAssocFailureTimerHandler(void *, tANI_U32);
98void limReassocFailureTimerHandler(void *, tANI_U32);
99
100void limDeactivateAndChangeTimer(tpAniSirGlobal, tANI_U32);
101void limHeartBeatDeactivateAndChangeTimer(tpAniSirGlobal, tpPESession);
102void limReactivateHeartBeatTimer(tpAniSirGlobal, tpPESession);
103void limDummyPktExpTimerHandler(void *, tANI_U32);
104void limSendDisassocFrameThresholdHandler(void *, tANI_U32);
105void limCnfWaitTmerHandler(void *, tANI_U32);
106void limKeepaliveTmerHandler(void *, tANI_U32);
107void limDeactivateAndChangePerStaIdTimer(tpAniSirGlobal, tANI_U32, tANI_U16);
108void limActivateCnfTimer(tpAniSirGlobal, tANI_U16, tpPESession);
109void limActivateAuthRspTimer(tpAniSirGlobal, tLimPreAuthNode *);
110#ifdef WLAN_SOFTAP_FEATURE
111void limUpdateOlbcCacheTimerHandler(void *, tANI_U32);
112#endif
113void limAddtsResponseTimerHandler(void *, tANI_U32);
114void limChannelSwitchTimerHandler(void *, tANI_U32);
115void limQuietTimerHandler(void *, tANI_U32);
116void limQuietBssTimerHandler(void *, tANI_U32);
117void limCBScanIntervalTimerHandler(void *, tANI_U32);
118void limCBScanDurationTimerHandler(void *, tANI_U32);
119/**
120 * limActivateHearBeatTimer()
121 *
122 *
123 * @brief: This function is called to activate heartbeat timer
124 *
125 *LOGIC:
126 *
127 *ASSUMPTIONS:
128 * NA
129 *
130 * @note staId for eLIM_AUTH_RSP_TIMER is auth Node Index.
131 *
132 * @param pMac - Pointer to Global MAC structure
133 *
134 * @return TX_SUCCESS - timer is activated
135 * errors - fail to start the timer
136 */
137v_UINT_t limActivateHearBeatTimer(tpAniSirGlobal pMac);
138
139#ifdef WLAN_SOFTAP_FEATURE
140#if 0
141void limWPSOverlapTimerHandler(void *pMacGlobal, tANI_U32 param);
142#endif
143#endif
144#endif /* __LIM_TIMER_UTILS_H */