1 /*
2 * Copyright (c) 2017, 2019-2020 The Linux Foundation. All rights reserved.
3 * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. 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 /**
21 * DOC: target_if_wifi_pos_rx_ops.h
22 * This file declares the functions pertinent to wifi positioning component's
23 * target if layer.
24 */
25 #ifndef _WIFI_POS_TGT_IF_RX_OPS_H_
26 #define _WIFI_POS_TGT_IF_RX_OPS_H_
27
28 #include "qdf_types.h"
29 #include "qdf_status.h"
30 #include "target_if_wifi_pos.h"
31 #include "wlan_cmn.h"
32
33 /**
34 * target_if_wifi_pos_oem_rsp_ev_handler: handler registered with
35 * WMI_OEM_RESPONSE_EVENTID
36 * @scn: scn handle
37 * @data_buf: event buffer
38 * @data_len: event buffer length
39 *
40 * Return: status of operation
41 */
42 int target_if_wifi_pos_oem_rsp_ev_handler(ol_scn_t scn,
43 uint8_t *data_buf,
44 uint32_t data_len);
45
46 /**
47 * wifi_pos_oem_cap_ev_handler: handler registered with wmi_oem_cap_event_id
48 * @scn: scn handle
49 * @buf: event buffer
50 * @len: event buffer length
51 *
52 * Return: status of operation
53 */
54 int wifi_pos_oem_cap_ev_handler(ol_scn_t scn, uint8_t *buf, uint32_t len);
55
56 /**
57 * wifi_pos_oem_meas_rpt_ev_handler: handler registered with
58 * wmi_oem_meas_report_event_id
59 * @scn: scn handle
60 * @buf: event buffer
61 * @len: event buffer length
62 *
63 * Return: status of operation
64 */
65 int wifi_pos_oem_meas_rpt_ev_handler(ol_scn_t scn, uint8_t *buf,
66 uint32_t len);
67
68 /**
69 * wifi_pos_oem_err_rpt_ev_handler: handler registered with
70 * wmi_oem_err_report_event_id
71 * @scn: scn handle
72 * @buf: event buffer
73 * @len: event buffer length
74 *
75 * Return: status of operation
76 */
77 int wifi_pos_oem_err_rpt_ev_handler(ol_scn_t scn, uint8_t *buf,
78 uint32_t len);
79
80 #if defined(WIFI_POS_CONVERGED) && defined(WLAN_FEATURE_RTT_11AZ_SUPPORT)
81 /**
82 * target_if_wifi_pos_pasn_peer_create_ev_handler() - Handle
83 * wmi_rtt_pasn_peer_create_req_eventid event from firmware
84 * @scn: scn handle
85 * @buf: event buffer
86 * @len: event buffer length
87 *
88 * Return: zero if success, non-zero status on failure
89 */
90 int target_if_wifi_pos_pasn_peer_create_ev_handler(ol_scn_t scn,
91 uint8_t *buf,
92 uint32_t len);
93
94 /**
95 * target_if_wifi_pos_pasn_peer_delete_ev_handler() - Handle
96 * wmi_rtt_pasn_peer_delete_eventid event from firmware
97 * @scn: scn handle
98 * @buf: event buffer
99 * @len: event buffer length
100 *
101 * Return: zero if success, non-zero status on failure
102 */
103 int target_if_wifi_pos_pasn_peer_delete_ev_handler(ol_scn_t scn,
104 uint8_t *buf,
105 uint32_t len);
106
107 #else
108 static inline
target_if_wifi_pos_pasn_peer_create_ev_handler(ol_scn_t scn,uint8_t * buf,uint32_t len)109 int target_if_wifi_pos_pasn_peer_create_ev_handler(ol_scn_t scn,
110 uint8_t *buf,
111 uint32_t len)
112 {
113 return 0;
114 }
115
116 static inline
target_if_wifi_pos_pasn_peer_delete_ev_handler(ol_scn_t scn,uint8_t * buf,uint32_t len)117 int target_if_wifi_pos_pasn_peer_delete_ev_handler(ol_scn_t scn,
118 uint8_t *buf,
119 uint32_t len)
120 {
121 return 0;
122 }
123 #endif /* WIFI_POS_CONVERGED && WLAN_FEATURE_RTT_11AZ_SUPPORT */
124 #endif /* _WIFI_POS_TGT_IF_RX_OPS_H_ */
125