blob: 41437f7ac4145bc6f591d63e0f021f7c7771e303 [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001/*
Padma, Santhosh Kumarc56735f2017-09-13 18:14:26 +05302 * Copyright (c) 2011-2014, 2016-2018 The Linux Foundation. All rights reserved.
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003 *
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08004 * Permission to use, copy, modify, and/or distribute this software for
5 * any purpose with or without fee is hereby granted, provided that the
6 * above copyright notice and this permission notice appear in all
7 * copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16 * PERFORMANCE OF THIS SOFTWARE.
17 */
18
19/*
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080020 *
21 * This file lim_timer_utils.h contains the utility definitions
22 * LIM uses for timer handling.
23 * Author: Chandra Modumudi
24 * Date: 02/13/02
25 * History:-
26 * Date Modified by Modification Information
27 * --------------------------------------------------------------------
28 */
29#ifndef __LIM_TIMER_UTILS_H
30#define __LIM_TIMER_UTILS_H
31
32#include "lim_types.h"
33
34/* Timer related functions */
35enum {
36 eLIM_MIN_CHANNEL_TIMER,
37 eLIM_MAX_CHANNEL_TIMER,
38 eLIM_JOIN_FAIL_TIMER,
39 eLIM_AUTH_FAIL_TIMER,
40 eLIM_AUTH_RESP_TIMER,
41 eLIM_ASSOC_FAIL_TIMER,
42 eLIM_REASSOC_FAIL_TIMER,
43 eLIM_PRE_AUTH_CLEANUP_TIMER,
44 eLIM_CNF_WAIT_TIMER,
45 eLIM_AUTH_RSP_TIMER,
46 eLIM_UPDATE_OLBC_CACHE_TIMER,
47 eLIM_PROBE_AFTER_HB_TIMER,
48 eLIM_ADDTS_RSP_TIMER,
49 eLIM_CHANNEL_SWITCH_TIMER,
50 eLIM_LEARN_DURATION_TIMER,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080051 eLIM_WPS_OVERLAP_TIMER,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080052 eLIM_FT_PREAUTH_RSP_TIMER,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080053 eLIM_REMAIN_CHN_TIMER,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080054 eLIM_DISASSOC_ACK_TIMER,
55 eLIM_DEAUTH_ACK_TIMER,
56 eLIM_PERIODIC_JOIN_PROBE_REQ_TIMER,
57 eLIM_INSERT_SINGLESHOT_NOA_TIMER,
Abhishek Singh7d3bc3e2016-02-03 17:45:01 +053058 eLIM_CONVERT_ACTIVE_CHANNEL_TO_PASSIVE,
Padma, Santhosh Kumarc56735f2017-09-13 18:14:26 +053059 eLIM_AUTH_RETRY_TIMER,
60 eLIM_AUTH_SAE_TIMER
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080061};
62
63#define LIM_DISASSOC_DEAUTH_ACK_TIMEOUT 500
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080064
65/* Timer Handler functions */
Jeff Johnson9320c1e2018-12-02 13:09:20 -080066uint32_t lim_create_timers(struct mac_context *);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080067void lim_timer_handler(void *, uint32_t);
68void lim_auth_response_timer_handler(void *, uint32_t);
69void lim_assoc_failure_timer_handler(void *, uint32_t);
70void limReassocFailureTimerHandler(void *, uint32_t);
71
Jeff Johnson9320c1e2018-12-02 13:09:20 -080072void lim_deactivate_and_change_timer(struct mac_context *, uint32_t);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080073void limDummyPktExpTimerHandler(void *, uint32_t);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080074void lim_cnf_wait_tmer_handler(void *, uint32_t);
Jeff Johnson9320c1e2018-12-02 13:09:20 -080075void lim_deactivate_and_change_per_sta_id_timer(struct mac_context *, uint32_t, uint16_t);
76void lim_activate_cnf_timer(struct mac_context *, uint16_t, struct pe_session *);
77void lim_activate_auth_rsp_timer(struct mac_context *, tLimPreAuthNode *);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080078void lim_update_olbc_cache_timer_handler(void *, uint32_t);
79void lim_addts_response_timer_handler(void *, uint32_t);
80void lim_channel_switch_timer_handler(void *, uint32_t);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080081void limCBScanIntervalTimerHandler(void *, uint32_t);
82void limCBScanDurationTimerHandler(void *, uint32_t);
83#endif /* __LIM_TIMER_UTILS_H */