blob: 90eae86ee5f8a7d10034a139ff5ea216f0602418 [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001/*
2 * Copyright (c) 2011-2012, 2014-2015 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
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
28/*
29 *
30 * Author: Dinesh Upadhyay
31 * Date: 10/24/06
32 * History:-
33 * Date Modified by Modification Information
34 * --------------------------------------------------------------------
35 *
36 */
37
38#ifndef __LIM_ADMIT_CONTROL_H__
39#define __LIM_ADMIT_CONTROL_H__
40
41#include "sir_common.h"
42#include "sir_mac_prot_def.h"
43
44#include "ani_global.h"
45
46tSirRetStatus
47lim_tspec_find_by_assoc_id(tpAniSirGlobal, uint16_t, tSirMacTspecIE *,
48 tpLimTspecInfo, tpLimTspecInfo *);
49
50/* Add TSPEC in lim local table */
51tSirRetStatus lim_tspec_add(tpAniSirGlobal pMac,
52 uint8_t *pAddr,
53 uint16_t assocId,
54 tSirMacTspecIE *pTspec,
55 uint32_t interval, tpLimTspecInfo *ppInfo);
56
57/* admit control interface */
58extern tSirRetStatus lim_admit_control_add_ts(tpAniSirGlobal pMac,
59 uint8_t *pAddr, tSirAddtsReqInfo *addts,
60 tSirMacQosCapabilityStaIE *qos,
61 uint16_t assocId, uint8_t alloc,
62 tSirMacScheduleIE *pSch,
63 /* index to the lim tspec table. */
64 uint8_t *pTspecIdx,
65 tpPESession psessionEntry);
66
67static inline tSirRetStatus
68lim_admit_control_add_sta(tpAniSirGlobal pMac, uint8_t *staAddr, uint8_t alloc)
69{
70 return eSIR_SUCCESS;
71}
72
73extern tSirRetStatus
74lim_admit_control_delete_sta(tpAniSirGlobal pMac, uint16_t assocId);
75
76extern tSirRetStatus
77lim_admit_control_delete_ts(tpAniSirGlobal pMac,
78 uint16_t assocId,
79 tSirMacTSInfo *tsinfo,
80 uint8_t *tsStatus, uint8_t *tspecIdx);
81
82extern tSirRetStatus lim_update_admit_policy(tpAniSirGlobal pMac);
83
84tSirRetStatus lim_admit_control_init(tpAniSirGlobal pMac);
85#ifdef FEATURE_WLAN_ESE
86tSirRetStatus lim_send_hal_msg_add_ts(tpAniSirGlobal pMac,
87 uint16_t staIdx,
88 uint8_t tspecIdx,
89 tSirMacTspecIE tspecIE,
90 uint8_t sessionId, uint16_t tsm_interval);
91#else
92tSirRetStatus lim_send_hal_msg_add_ts(tpAniSirGlobal pMac,
93 uint16_t staIdx,
94 uint8_t tspecIdx,
95 tSirMacTspecIE tspecIE,
96 uint8_t sessionId);
97#endif
98
99tSirRetStatus lim_send_hal_msg_del_ts(tpAniSirGlobal pMac,
100 uint16_t staIdx,
101 uint8_t tspecIdx,
102 tSirDeltsReqInfo delts,
103 uint8_t sessionId, uint8_t *bssId);
104void lim_process_hal_add_ts_rsp(tpAniSirGlobal pMac, tpSirMsgQ limMsg);
105
106#endif