blob: bc2ae06295c005fe91597397f831dc01423dfa9e [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001/*
Jeff Johnson0301ecb2018-06-29 09:36:23 -07002 * Copyright (c) 2011-2012, 2014-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_ibss_peer_mgmt.h contains prototypes for
22 * the utility functions LIM uses to maintain peers in IBSS.
23 * Author: Chandra Modumudi
24 * Date: 03/12/04
25 * History:-
26 * Date Modified by Modification Information
27 * --------------------------------------------------------------------
28 */
29
30#include "sir_common.h"
31#include "lim_utils.h"
32
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080033void lim_ibss_init(tpAniSirGlobal);
34void lim_ibss_delete(tpAniSirGlobal, tpPESession psessionEntry);
Jeff Johnson0301ecb2018-06-29 09:36:23 -070035QDF_STATUS lim_ibss_coalesce(tpAniSirGlobal, tpSirMacMgmtHdr,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080036 tpSchBeaconStruct, uint8_t *, uint32_t, uint16_t,
37 tpPESession);
Jeff Johnson0301ecb2018-06-29 09:36:23 -070038QDF_STATUS lim_ibss_sta_add(tpAniSirGlobal, void *, tpPESession);
39QDF_STATUS lim_ibss_add_sta_rsp(tpAniSirGlobal, void *, tpPESession);
Abhishek Singh3df76612017-05-16 14:05:32 +053040
41/**
42 * lim_process_ibss_del_sta_rsp()- Handle ibss delete
43 * peer resp from firmware
44 *
45 * @mac_ptr: Pointer to Global MAC structure
46 * @lim_msg: delete sta response
47 * @pe_session: pe session
48 *
49 * Return: None
50 *
51 */
52void lim_process_ibss_del_sta_rsp(tpAniSirGlobal mac_ctx,
53 struct scheduler_msg *lim_msg,
54 tpPESession pe_session);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080055tLimIbssPeerNode *lim_ibss_peer_find(tpAniSirGlobal pMac, tSirMacAddr macAddr);
56void lim_ibss_del_bss_rsp(tpAniSirGlobal, void *, tpPESession);
57void lim_ibss_del_bss_rsp_when_coalescing(tpAniSirGlobal, void *, tpPESession);
58void lim_ibss_add_bss_rsp_when_coalescing(tpAniSirGlobal pMac, void *msg,
59 tpPESession pSessionEntry);
60void lim_ibss_decide_protection_on_delete(tpAniSirGlobal pMac, tpDphHashNode pStaDs,
61 tpUpdateBeaconParams pBeaconParams,
62 tpPESession pSessionEntry);
63void lim_ibss_heart_beat_handle(tpAniSirGlobal pMac, tpPESession psessionEntry);
64void lim_process_ibss_peer_inactivity(tpAniSirGlobal pMac, void *buf);