1 /* 2 * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved. 3 * 4 * 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 #ifndef _WLAN_TWT_CFG_EXT_API_H 20 #define _WLAN_TWT_CFG_EXT_API_H 21 22 #if defined(WLAN_SUPPORT_TWT) && defined(WLAN_TWT_CONV_SUPPORTED) 23 #include <wlan_objmgr_psoc_obj.h> 24 #include <wlan_twt_public_structs.h> 25 #include <wlan_mlme_twt_public_struct.h> 26 27 /** 28 * wlan_twt_cfg_get_req_flag() - Get TWT requestor flag 29 * @psoc: Pointer to global psoc object 30 * @val: pointer to output variable 31 * 32 * Return: QDF_STATUS_SUCCESS 33 */ 34 QDF_STATUS 35 wlan_twt_cfg_get_req_flag(struct wlan_objmgr_psoc *psoc, bool *val); 36 37 /** 38 * wlan_twt_cfg_get_res_flag() - Get TWT responder flag 39 * @psoc: Pointer to global psoc object 40 * @val: pointer to output variable 41 * 42 * Return: QDF_STATUS_SUCCESS 43 */ 44 QDF_STATUS 45 wlan_twt_cfg_get_res_flag(struct wlan_objmgr_psoc *psoc, bool *val); 46 47 /** 48 * wlan_twt_cfg_get_support_in_11n() - Get TWT support on HT cap 49 * @psoc: Pointer to global psoc object 50 * @val: pointer to output variable 51 * 52 * Return: QDF_STATUS_SUCCESS 53 */ 54 QDF_STATUS 55 wlan_twt_cfg_get_support_in_11n(struct wlan_objmgr_psoc *psoc, 56 bool *val); 57 58 /** 59 * wlan_twt_cfg_get_support_requestor() - Get TWT support of requestor 60 * @psoc: Pointer to global psoc object 61 * @val: pointer to output variable 62 * 63 * Return: QDF_STATUS_SUCCESS 64 */ 65 QDF_STATUS 66 wlan_twt_cfg_get_support_requestor(struct wlan_objmgr_psoc *psoc, 67 bool *val); 68 69 /** 70 * wlan_twt_get_requestor_cfg() - Get requestor TWT configuration 71 * @psoc: Pointer to psoc object 72 * @val: Pointer to value 73 * 74 * Return: QDF_STATUS 75 */ 76 QDF_STATUS 77 wlan_twt_get_requestor_cfg(struct wlan_objmgr_psoc *psoc, bool *val); 78 79 /** 80 * wlan_twt_get_responder_cfg() - Get TWT responder configuration 81 * @psoc: Pointer to PSOC object 82 * @val: Pointer to value 83 * 84 * Return: QDF_STATUS 85 */ 86 QDF_STATUS 87 wlan_twt_get_responder_cfg(struct wlan_objmgr_psoc *psoc, bool *val); 88 89 /** 90 * wlan_twt_get_rtwt_support() - Get rTWT support 91 * @psoc: Pointer to global psoc 92 * @val: pointer to output variable 93 * 94 * Return: QDF_STATUS 95 */ 96 QDF_STATUS 97 wlan_twt_get_rtwt_support(struct wlan_objmgr_psoc *psoc, bool *val); 98 99 /** 100 * wlan_twt_get_bcast_requestor_cfg() - Get requestor broadcast TWT 101 * configuration 102 * @psoc: Pointer to psoc object 103 * @val: Pointer to value 104 * 105 * Return: QDF_STATUS 106 */ 107 QDF_STATUS 108 wlan_twt_get_bcast_requestor_cfg(struct wlan_objmgr_psoc *psoc, bool *val); 109 110 /** 111 * wlan_twt_get_bcast_responder_cfg() - Get responder broadcast TWT 112 * configuration 113 * @psoc: Pointer to psoc object 114 * @val: Pointer to value 115 * 116 * Return: QDF_STATUS 117 */ 118 119 QDF_STATUS 120 wlan_twt_get_bcast_responder_cfg(struct wlan_objmgr_psoc *psoc, bool *val); 121 122 #ifdef FEATURE_SET 123 /** 124 * wlan_twt_get_feature_info() - Get TWT feature set information 125 * @psoc: Pointer to global psoc object 126 * @twt_feature_set: pointer to output twt feature set structure 127 * 128 * Return: None 129 */ 130 void wlan_twt_get_feature_info(struct wlan_objmgr_psoc *psoc, 131 struct wlan_twt_features *twt_feature_set); 132 #endif 133 134 #else 135 static inline QDF_STATUS 136 wlan_twt_cfg_get_res_flag(struct wlan_objmgr_psoc *psoc, bool *val) 137 { 138 return QDF_STATUS_SUCCESS; 139 } 140 141 static inline QDF_STATUS 142 wlan_twt_cfg_get_req_flag(struct wlan_objmgr_psoc *psoc, bool *val) 143 { 144 return QDF_STATUS_SUCCESS; 145 } 146 147 static inline QDF_STATUS 148 wlan_twt_cfg_get_support_in_11n(struct wlan_objmgr_psoc *psoc, 149 bool *val) 150 { 151 return QDF_STATUS_SUCCESS; 152 } 153 154 static inline QDF_STATUS 155 wlan_twt_cfg_get_support_requestor(struct wlan_objmgr_psoc *psoc, 156 bool *val) 157 { 158 return QDF_STATUS_SUCCESS; 159 } 160 161 static inline QDF_STATUS 162 wlan_twt_get_requestor_cfg(struct wlan_objmgr_psoc *psoc, bool *val) 163 { 164 return QDF_STATUS_SUCCESS; 165 } 166 167 static inline QDF_STATUS 168 wlan_twt_get_responder_cfg(struct wlan_objmgr_psoc *psoc, bool *val) 169 { 170 return QDF_STATUS_SUCCESS; 171 } 172 173 static inline QDF_STATUS 174 wlan_twt_get_bcast_requestor_cfg(struct wlan_objmgr_psoc *psoc, bool *val) 175 { 176 return QDF_STATUS_SUCCESS; 177 } 178 179 static inline QDF_STATUS 180 wlan_twt_get_bcast_responder_cfg(struct wlan_objmgr_psoc *psoc, bool *val) 181 { 182 return QDF_STATUS_SUCCESS; 183 } 184 185 #ifdef FEATURE_SET 186 static inline void 187 wlan_twt_get_feature_info(struct wlan_objmgr_psoc *psoc, 188 struct wlan_twt_features *twt_feature_set) 189 { 190 } 191 #endif 192 #endif 193 #endif 194