1 /* 2 * Copyright (c) 2013-2018 The Linux Foundation. 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 * DOC: Implement API's specific to NAN component. 20 */ 21 22 #include <wmi_unified_priv.h> 23 #include <wmi_unified_nan_api.h> 24 25 QDF_STATUS wmi_unified_nan_req_cmd(wmi_unified_t wmi_handle, 26 struct nan_msg_params *nan_msg) 27 { 28 if (wmi_handle->ops->send_nan_req_cmd) 29 return wmi_handle->ops->send_nan_req_cmd(wmi_handle, 30 nan_msg); 31 32 return QDF_STATUS_E_FAILURE; 33 } 34 35 QDF_STATUS wmi_unified_nan_disable_req_cmd(wmi_unified_t wmi_handle, 36 struct nan_disable_req *nan_msg) 37 { 38 if (wmi_handle->ops->send_nan_disable_req_cmd) 39 return wmi_handle->ops->send_nan_disable_req_cmd(wmi_handle, 40 nan_msg); 41 42 return QDF_STATUS_E_FAILURE; 43 } 44 45 QDF_STATUS wmi_extract_nan_event_rsp(wmi_unified_t wmi_handle, void *evt_buf, 46 struct nan_event_params *nan_evt_params, 47 uint8_t **nan_msg_buf) 48 { 49 if (wmi_handle->ops->extract_nan_event_rsp) 50 return wmi_handle->ops->extract_nan_event_rsp(wmi_handle, 51 evt_buf, 52 nan_evt_params, 53 nan_msg_buf); 54 55 return QDF_STATUS_E_FAILURE; 56 } 57 58 QDF_STATUS wmi_unified_ndp_initiator_req_cmd_send(void *wmi_hdl, 59 struct nan_datapath_initiator_req *req) 60 { 61 wmi_unified_t wmi_handle = wmi_hdl; 62 63 if (wmi_handle->ops->send_ndp_initiator_req_cmd) 64 return wmi_handle->ops->send_ndp_initiator_req_cmd(wmi_handle, 65 req); 66 67 return QDF_STATUS_E_FAILURE; 68 } 69 70 QDF_STATUS wmi_unified_ndp_responder_req_cmd_send(void *wmi_hdl, 71 struct nan_datapath_responder_req *req) 72 { 73 wmi_unified_t wmi_handle = wmi_hdl; 74 75 if (wmi_handle->ops->send_ndp_responder_req_cmd) 76 return wmi_handle->ops->send_ndp_responder_req_cmd(wmi_handle, 77 req); 78 79 return QDF_STATUS_E_FAILURE; 80 } 81 82 QDF_STATUS wmi_unified_ndp_end_req_cmd_send(void *wmi_hdl, 83 struct nan_datapath_end_req *req) 84 { 85 wmi_unified_t wmi_handle = wmi_hdl; 86 87 if (wmi_handle->ops->send_ndp_end_req_cmd) 88 return wmi_handle->ops->send_ndp_end_req_cmd(wmi_handle, 89 req); 90 91 return QDF_STATUS_E_FAILURE; 92 } 93 94 QDF_STATUS wmi_extract_ndp_initiator_rsp(wmi_unified_t wmi_handle, 95 uint8_t *data, struct nan_datapath_initiator_rsp *rsp) 96 { 97 if (wmi_handle->ops->extract_ndp_initiator_rsp) 98 return wmi_handle->ops->extract_ndp_initiator_rsp(wmi_handle, 99 data, rsp); 100 101 return QDF_STATUS_E_FAILURE; 102 } 103 104 QDF_STATUS wmi_extract_ndp_ind(wmi_unified_t wmi_handle, uint8_t *data, 105 struct nan_datapath_indication_event *ind) 106 { 107 if (wmi_handle->ops->extract_ndp_ind) 108 return wmi_handle->ops->extract_ndp_ind(wmi_handle, 109 data, ind); 110 111 return QDF_STATUS_E_FAILURE; 112 } 113 114 QDF_STATUS wmi_extract_ndp_confirm(wmi_unified_t wmi_handle, uint8_t *data, 115 struct nan_datapath_confirm_event *ev) 116 { 117 if (wmi_handle->ops->extract_ndp_confirm) 118 return wmi_handle->ops->extract_ndp_confirm(wmi_handle, 119 data, ev); 120 121 return QDF_STATUS_E_FAILURE; 122 } 123 124 QDF_STATUS wmi_extract_ndp_responder_rsp(wmi_unified_t wmi_handle, 125 uint8_t *data, 126 struct nan_datapath_responder_rsp *rsp) 127 { 128 if (wmi_handle->ops->extract_ndp_responder_rsp) 129 return wmi_handle->ops->extract_ndp_responder_rsp(wmi_handle, 130 data, rsp); 131 132 return QDF_STATUS_E_FAILURE; 133 } 134 135 QDF_STATUS wmi_extract_ndp_end_rsp(wmi_unified_t wmi_handle, uint8_t *data, 136 struct nan_datapath_end_rsp_event *rsp) 137 { 138 if (wmi_handle->ops->extract_ndp_end_rsp) 139 return wmi_handle->ops->extract_ndp_end_rsp(wmi_handle, 140 data, rsp); 141 142 return QDF_STATUS_E_FAILURE; 143 } 144 145 QDF_STATUS wmi_extract_ndp_end_ind(wmi_unified_t wmi_handle, uint8_t *data, 146 struct nan_datapath_end_indication_event **ind) 147 { 148 if (wmi_handle->ops->extract_ndp_end_ind) 149 return wmi_handle->ops->extract_ndp_end_ind(wmi_handle, 150 data, ind); 151 152 return QDF_STATUS_E_FAILURE; 153 } 154 155 QDF_STATUS wmi_extract_ndp_sch_update(wmi_unified_t wmi_handle, uint8_t *data, 156 struct nan_datapath_sch_update_event *ind) 157 { 158 if (wmi_handle->ops->extract_ndp_sch_update) 159 return wmi_handle->ops->extract_ndp_sch_update(wmi_handle, 160 data, ind); 161 162 return QDF_STATUS_E_FAILURE; 163 } 164 165