xref: /wlan-dirver/qca-wifi-host-cmn/wmi/src/wmi_unified_nan_api.c (revision 5ee6661e575b5422cbb88a7703b46f397b551bd9)
1 /*
2  * Copyright (c) 2013-2020 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
59 wmi_unified_ndp_initiator_req_cmd_send(wmi_unified_t wmi_handle,
60 				       struct nan_datapath_initiator_req *req)
61 {
62 	if (wmi_handle->ops->send_ndp_initiator_req_cmd)
63 		return wmi_handle->ops->send_ndp_initiator_req_cmd(wmi_handle,
64 								   req);
65 
66 	return QDF_STATUS_E_FAILURE;
67 }
68 
69 QDF_STATUS
70 wmi_unified_ndp_responder_req_cmd_send(wmi_unified_t wmi_handle,
71 				       struct nan_datapath_responder_req *req)
72 {
73 	if (wmi_handle->ops->send_ndp_responder_req_cmd)
74 		return wmi_handle->ops->send_ndp_responder_req_cmd(wmi_handle,
75 								   req);
76 
77 	return QDF_STATUS_E_FAILURE;
78 }
79 
80 QDF_STATUS wmi_unified_terminate_all_ndps_req_cmd(wmi_unified_t wmi_handle,
81 						  uint32_t vdev_id)
82 {
83 	if (wmi_handle->ops->send_terminate_all_ndps_req_cmd)
84 		return wmi_handle->ops->send_terminate_all_ndps_req_cmd(
85 								     wmi_handle,
86 								     vdev_id);
87 
88 	return QDF_STATUS_E_FAILURE;
89 }
90 
91 QDF_STATUS wmi_unified_ndp_end_req_cmd_send(wmi_unified_t wmi_handle,
92 					    struct nan_datapath_end_req *req)
93 {
94 	if (wmi_handle->ops->send_ndp_end_req_cmd)
95 		return wmi_handle->ops->send_ndp_end_req_cmd(wmi_handle,
96 							     req);
97 
98 	return QDF_STATUS_E_FAILURE;
99 }
100 
101 QDF_STATUS wmi_extract_nan_msg(wmi_unified_t wmi_handle,
102 			       uint8_t *data,
103 			       struct nan_dump_msg *msg)
104 {
105 	if (wmi_handle->ops->extract_nan_msg)
106 		return wmi_handle->ops->extract_nan_msg(data, msg);
107 
108 	return QDF_STATUS_E_FAILURE;
109 }
110 
111 QDF_STATUS wmi_extract_ndp_initiator_rsp(wmi_unified_t wmi_handle,
112 			uint8_t *data, struct nan_datapath_initiator_rsp *rsp)
113 {
114 	if (wmi_handle->ops->extract_ndp_initiator_rsp)
115 		return wmi_handle->ops->extract_ndp_initiator_rsp(wmi_handle,
116 								  data, rsp);
117 
118 	return QDF_STATUS_E_FAILURE;
119 }
120 
121 QDF_STATUS wmi_extract_ndp_ind(wmi_unified_t wmi_handle, uint8_t *data,
122 			       struct nan_datapath_indication_event *ind)
123 {
124 	if (wmi_handle->ops->extract_ndp_ind)
125 		return wmi_handle->ops->extract_ndp_ind(wmi_handle,
126 							data, ind);
127 
128 	return QDF_STATUS_E_FAILURE;
129 }
130 
131 QDF_STATUS wmi_extract_ndp_confirm(wmi_unified_t wmi_handle, uint8_t *data,
132 				   struct nan_datapath_confirm_event *ev)
133 {
134 	if (wmi_handle->ops->extract_ndp_confirm)
135 		return wmi_handle->ops->extract_ndp_confirm(wmi_handle,
136 							    data, ev);
137 
138 	return QDF_STATUS_E_FAILURE;
139 }
140 
141 QDF_STATUS wmi_extract_ndp_responder_rsp(wmi_unified_t wmi_handle,
142 					 uint8_t *data,
143 					 struct nan_datapath_responder_rsp *rsp)
144 {
145 	if (wmi_handle->ops->extract_ndp_responder_rsp)
146 		return wmi_handle->ops->extract_ndp_responder_rsp(wmi_handle,
147 								  data, rsp);
148 
149 	return QDF_STATUS_E_FAILURE;
150 }
151 
152 QDF_STATUS wmi_extract_ndp_end_rsp(wmi_unified_t wmi_handle, uint8_t *data,
153 				   struct nan_datapath_end_rsp_event *rsp)
154 {
155 	if (wmi_handle->ops->extract_ndp_end_rsp)
156 		return wmi_handle->ops->extract_ndp_end_rsp(wmi_handle,
157 							    data, rsp);
158 
159 	return QDF_STATUS_E_FAILURE;
160 }
161 
162 QDF_STATUS wmi_extract_ndp_end_ind(wmi_unified_t wmi_handle, uint8_t *data,
163 				struct nan_datapath_end_indication_event **ind)
164 {
165 	if (wmi_handle->ops->extract_ndp_end_ind)
166 		return wmi_handle->ops->extract_ndp_end_ind(wmi_handle,
167 							    data, ind);
168 
169 	return QDF_STATUS_E_FAILURE;
170 }
171 
172 QDF_STATUS wmi_extract_ndp_sch_update(wmi_unified_t wmi_handle, uint8_t *data,
173 				    struct nan_datapath_sch_update_event *ind)
174 {
175 	if (wmi_handle->ops->extract_ndp_sch_update)
176 		return wmi_handle->ops->extract_ndp_sch_update(wmi_handle,
177 							       data, ind);
178 
179 	return QDF_STATUS_E_FAILURE;
180 }
181 
182 QDF_STATUS wmi_extract_ndp_host_event(wmi_unified_t wmi_handle, uint8_t *data,
183 				      struct nan_datapath_host_event *evt)
184 {
185 	if (wmi_handle->ops->extract_ndp_host_event)
186 		return wmi_handle->ops->extract_ndp_host_event(wmi_handle,
187 							       data, evt);
188 
189 	return QDF_STATUS_E_FAILURE;
190 }
191