xref: /wlan-dirver/qca-wifi-host-cmn/wmi/src/wmi_unified_nan_api.c (revision 27d564647e9b50e713c60b0d7e5ea2a9b0a3ae74)
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_ndp_initiator_req_cmd_send(void *wmi_hdl,
26 					struct nan_datapath_initiator_req *req)
27 {
28 	wmi_unified_t wmi_handle = wmi_hdl;
29 
30 	if (wmi_handle->ops->send_ndp_initiator_req_cmd)
31 		return wmi_handle->ops->send_ndp_initiator_req_cmd(wmi_handle,
32 								   req);
33 
34 	return QDF_STATUS_E_FAILURE;
35 }
36 
37 QDF_STATUS wmi_unified_ndp_responder_req_cmd_send(void *wmi_hdl,
38 				struct nan_datapath_responder_req *req)
39 {
40 	wmi_unified_t wmi_handle = wmi_hdl;
41 
42 	if (wmi_handle->ops->send_ndp_responder_req_cmd)
43 		return wmi_handle->ops->send_ndp_responder_req_cmd(wmi_handle,
44 								   req);
45 
46 	return QDF_STATUS_E_FAILURE;
47 }
48 
49 QDF_STATUS wmi_unified_ndp_end_req_cmd_send(void *wmi_hdl,
50 					    struct nan_datapath_end_req *req)
51 {
52 	wmi_unified_t wmi_handle = wmi_hdl;
53 
54 	if (wmi_handle->ops->send_ndp_end_req_cmd)
55 		return wmi_handle->ops->send_ndp_end_req_cmd(wmi_handle,
56 							     req);
57 
58 	return QDF_STATUS_E_FAILURE;
59 }
60 
61 QDF_STATUS wmi_extract_ndp_initiator_rsp(wmi_unified_t wmi_handle,
62 			uint8_t *data, struct nan_datapath_initiator_rsp *rsp)
63 {
64 	if (wmi_handle->ops->extract_ndp_initiator_rsp)
65 		return wmi_handle->ops->extract_ndp_initiator_rsp(wmi_handle,
66 								  data, rsp);
67 
68 	return QDF_STATUS_E_FAILURE;
69 }
70 
71 QDF_STATUS wmi_extract_ndp_ind(wmi_unified_t wmi_handle, uint8_t *data,
72 			       struct nan_datapath_indication_event *ind)
73 {
74 	if (wmi_handle->ops->extract_ndp_ind)
75 		return wmi_handle->ops->extract_ndp_ind(wmi_handle,
76 							data, ind);
77 
78 	return QDF_STATUS_E_FAILURE;
79 }
80 
81 QDF_STATUS wmi_extract_ndp_confirm(wmi_unified_t wmi_handle, uint8_t *data,
82 				   struct nan_datapath_confirm_event *ev)
83 {
84 	if (wmi_handle->ops->extract_ndp_confirm)
85 		return wmi_handle->ops->extract_ndp_confirm(wmi_handle,
86 							    data, ev);
87 
88 	return QDF_STATUS_E_FAILURE;
89 }
90 
91 QDF_STATUS wmi_extract_ndp_responder_rsp(wmi_unified_t wmi_handle,
92 					 uint8_t *data,
93 					 struct nan_datapath_responder_rsp *rsp)
94 {
95 	if (wmi_handle->ops->extract_ndp_responder_rsp)
96 		return wmi_handle->ops->extract_ndp_responder_rsp(wmi_handle,
97 								  data, rsp);
98 
99 	return QDF_STATUS_E_FAILURE;
100 }
101 
102 QDF_STATUS wmi_extract_ndp_end_rsp(wmi_unified_t wmi_handle, uint8_t *data,
103 				   struct nan_datapath_end_rsp_event *rsp)
104 {
105 	if (wmi_handle->ops->extract_ndp_end_rsp)
106 		return wmi_handle->ops->extract_ndp_end_rsp(wmi_handle,
107 							    data, rsp);
108 
109 	return QDF_STATUS_E_FAILURE;
110 }
111 
112 QDF_STATUS wmi_extract_ndp_end_ind(wmi_unified_t wmi_handle, uint8_t *data,
113 				struct nan_datapath_end_indication_event **ind)
114 {
115 	if (wmi_handle->ops->extract_ndp_end_ind)
116 		return wmi_handle->ops->extract_ndp_end_ind(wmi_handle,
117 							    data, ind);
118 
119 	return QDF_STATUS_E_FAILURE;
120 }
121 
122 QDF_STATUS wmi_extract_ndp_sch_update(wmi_unified_t wmi_handle, uint8_t *data,
123 				    struct nan_datapath_sch_update_event *ind)
124 {
125 	if (wmi_handle->ops->extract_ndp_sch_update)
126 		return wmi_handle->ops->extract_ndp_sch_update(wmi_handle,
127 							       data, ind);
128 
129 	return QDF_STATUS_E_FAILURE;
130 }
131 
132