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 #include <wlan_twt_cfg_ext_api.h> 19 #include "twt/core/src/wlan_twt_cfg.h" 20 #include "wlan_mlme_api.h" 21 22 QDF_STATUS 23 wlan_twt_cfg_get_req_flag(struct wlan_objmgr_psoc *psoc, bool *val) 24 { 25 return wlan_twt_cfg_get_requestor_flag(psoc, val); 26 } 27 28 QDF_STATUS 29 wlan_twt_cfg_get_res_flag(struct wlan_objmgr_psoc *psoc, bool *val) 30 { 31 return wlan_twt_cfg_get_responder_flag(psoc, val); 32 } 33 34 QDF_STATUS 35 wlan_twt_cfg_get_support_in_11n(struct wlan_objmgr_psoc *psoc, bool *val) 36 { 37 return wlan_twt_cfg_get_support_in_11n_mode(psoc, val); 38 } 39 40 QDF_STATUS 41 wlan_twt_get_requestor_cfg(struct wlan_objmgr_psoc *psoc, bool *val) 42 { 43 return wlan_twt_cfg_get_requestor(psoc, val); 44 } 45 46 QDF_STATUS 47 wlan_twt_get_responder_cfg(struct wlan_objmgr_psoc *psoc, bool *val) 48 { 49 return wlan_twt_cfg_get_responder(psoc, val); 50 } 51 52 QDF_STATUS 53 wlan_twt_cfg_get_support_requestor(struct wlan_objmgr_psoc *psoc, bool *val) 54 { 55 return wlan_twt_cfg_get_requestor(psoc, val); 56 } 57 58 QDF_STATUS 59 wlan_twt_get_rtwt_support(struct wlan_objmgr_psoc *psoc, bool *val) 60 { 61 return wlan_twt_get_restricted_support(psoc, val); 62 } 63 64 QDF_STATUS 65 wlan_twt_get_bcast_requestor_cfg(struct wlan_objmgr_psoc *psoc, bool *val) 66 { 67 return wlan_twt_cfg_get_bcast_requestor(psoc, val); 68 } 69 70 QDF_STATUS 71 wlan_twt_get_bcast_responder_cfg(struct wlan_objmgr_psoc *psoc, bool *val) 72 { 73 return wlan_twt_cfg_get_bcast_responder(psoc, val); 74 } 75 76 #ifdef FEATURE_SET 77 void wlan_twt_get_feature_info(struct wlan_objmgr_psoc *psoc, 78 struct wlan_twt_features *twt_feature_set) 79 { 80 twt_feature_set->enable_twt = wlan_twt_cfg_is_twt_enabled(psoc); 81 if (twt_feature_set->enable_twt) { 82 wlan_twt_cfg_get_bcast_requestor( 83 psoc, 84 &twt_feature_set->enable_twt_broadcast); 85 wlan_twt_cfg_get_requestor( 86 psoc, 87 &twt_feature_set->enable_twt_requester); 88 twt_feature_set->enable_twt_flexible = true; 89 } 90 } 91 #endif 92