1 2 /* 3 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. 4 * 5 * Permission to use, copy, modify, and/or distribute this software for 6 * any purpose with or without fee is hereby granted, provided that the 7 * above copyright notice and this permission notice appear in all 8 * copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 11 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 12 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 13 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 14 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 15 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 16 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 17 * PERFORMANCE OF THIS SOFTWARE. 18 */ 19 /** 20 * DOC: Implement API's specific to TWT component. 21 */ 22 23 #ifndef _WMI_UNIFIED_TWT_API_H_ 24 #define _WMI_UNIFIED_TWT_API_H_ 25 26 #include "wmi_unified_twt_param.h" 27 28 29 /** 30 * wmi_unified_twt_enable_cmd() - Send WMI command to Enable TWT 31 * @wmi_handle: wmi handle 32 * @params: Parameters to be configured 33 * 34 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 35 */ 36 QDF_STATUS 37 wmi_unified_twt_enable_cmd(wmi_unified_t wmi_handle, 38 struct wmi_twt_enable_param *params); 39 40 /** 41 * wmi_unified_twt_disable_cmd() - Send WMI command to disable TWT 42 * @wmi_handle: wmi handle 43 * @params: Parameters to be configured 44 * 45 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 46 */ 47 QDF_STATUS 48 wmi_unified_twt_disable_cmd(wmi_unified_t wmi_handle, 49 struct wmi_twt_disable_param *params); 50 51 /** 52 * wmi_unified_twt_add_dialog_cmd() - Send WMI command to add TWT dialog 53 * @wmi_handle: wmi handle 54 * @params: Parameters to be configured 55 * 56 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 57 */ 58 QDF_STATUS 59 wmi_unified_twt_add_dialog_cmd(wmi_unified_t wmi_handle, 60 struct wmi_twt_add_dialog_param *params); 61 62 /** 63 * wmi_unified_twt_del_dialog_cmd() - Send WMI command to delete TWT dialog 64 * @wmi_handle: wmi handle 65 * @params: Parameters to be configured 66 * 67 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 68 */ 69 QDF_STATUS 70 wmi_unified_twt_del_dialog_cmd(wmi_unified_t wmi_handle, 71 struct wmi_twt_del_dialog_param *params); 72 73 /** 74 * wmi_unified_twt_pause_dialog_cmd() - Send WMI command to pause TWT dialog 75 * @wmi_handle: wmi handle 76 * @params: Parameters to be configured 77 * 78 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 79 */ 80 QDF_STATUS 81 wmi_unified_twt_pause_dialog_cmd(wmi_unified_t wmi_handle, 82 struct wmi_twt_pause_dialog_cmd_param *params); 83 84 /** 85 * wmi_unified_twt_resume_dialog_cmd() - Send WMI command to resume TWT dialog 86 * @wmi_handle: wmi handle 87 * @params: Parameters to be configured 88 * 89 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 90 */ 91 QDF_STATUS wmi_unified_twt_resume_dialog_cmd( 92 wmi_unified_t wmi_handle, 93 struct wmi_twt_resume_dialog_cmd_param *params); 94 95 /** 96 * wmi_extract_twt_enable_comp_event() - Extract WMI event params for TWT enable 97 * completion event 98 * @wmi_handle: wmi handle 99 * @evt_buf: Pointer event buffer 100 * @params: Parameters to extract 101 * 102 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 103 */ 104 QDF_STATUS wmi_extract_twt_enable_comp_event( 105 wmi_unified_t wmi_handle, 106 uint8_t *evt_buf, 107 struct wmi_twt_enable_complete_event_param *params); 108 109 /** 110 * wmi_extract_twt_disable_comp_event() - Extract WMI event params for TWT 111 * disable completion event 112 * @wmi_handle: wmi handle 113 * @evt_buf: Pointer event buffer 114 * @params: Parameters to extract 115 * 116 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 117 */ 118 QDF_STATUS wmi_extract_twt_disable_comp_event( 119 wmi_unified_t wmi_handle, 120 uint8_t *evt_buf, 121 struct wmi_twt_disable_complete_event *params); 122 123 /** 124 * wmi_extract_twt_add_dialog_comp_event() - Extract WMI event params for TWT 125 * add dialog completion event 126 * @wmi_hdl: wmi handle 127 * @evt_buf: Pointer event buffer 128 * @params: Parameters to extract 129 * 130 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 131 */ 132 QDF_STATUS wmi_extract_twt_add_dialog_comp_event( 133 wmi_unified_t wmi_handle, 134 uint8_t *evt_buf, 135 struct wmi_twt_add_dialog_complete_event_param *params); 136 137 /** 138 * wmi_extract_twt_del_dialog_comp_event() - Extract WMI event params for TWT 139 * delete dialog completion event 140 * @wmi_hdl: wmi handle 141 * @evt_buf: Pointer event buffer 142 * @params: Parameters to extract 143 * 144 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 145 */ 146 QDF_STATUS wmi_extract_twt_del_dialog_comp_event( 147 wmi_unified_t wmi_handle, 148 uint8_t *evt_buf, 149 struct wmi_twt_del_dialog_complete_event_param *params); 150 151 /** 152 * wmi_extract_twt_pause_dialog_comp_event() - Extract WMI event params for TWT 153 * pause dialog completion event 154 * @wmi_handle: wmi handle 155 * @evt_buf: Pointer event buffer 156 * @params: Parameters to extract 157 * 158 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 159 */ 160 QDF_STATUS wmi_extract_twt_pause_dialog_comp_event( 161 wmi_unified_t wmi_handle, 162 uint8_t *evt_buf, 163 struct wmi_twt_pause_dialog_complete_event_param *params); 164 165 /** 166 * wmi_extract_twt_resume_dialog_comp_event() - Extract WMI event params for TWT 167 * resume dialog completion event 168 * @wmi_handle: wmi handle 169 * @evt_buf: Pointer event buffer 170 * @params: Parameters to extract 171 * 172 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 173 */ 174 QDF_STATUS wmi_extract_twt_resume_dialog_comp_event( 175 wmi_unified_t wmi_handle, 176 uint8_t *evt_buf, 177 struct wmi_twt_resume_dialog_complete_event_param *params); 178 179 #ifdef WLAN_SUPPORT_TWT 180 void wmi_twt_attach_tlv(struct wmi_unified *wmi_handle); 181 #else 182 static void wmi_twt_attach_tlv(struct wmi_unified *wmi_handle) 183 { 184 return; 185 } 186 #endif 187 188 #endif /* _WMI_UNIFIED_TWT_API_H_ */ 189