1 /*
2  * Copyright (c) 2016-2019 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 /**
20  * DOC: nan_datapath.h
21  *
22  * MAC NAN Data path API specification
23  */
24 
25 #ifndef __MAC_NAN_DATAPATH_H
26 #define __MAC_NAN_DATAPATH_H
27 
28 #ifdef WLAN_FEATURE_NAN
29 
30 #include "sir_common.h"
31 #include "ani_global.h"
32 #include "sir_params.h"
33 
34 struct peer_nan_datapath_map;
35 
36 /**
37  * lim_process_ndi_mlm_add_bss_rsp() - Process ADD_BSS response for NDI
38  * @mac_ctx: Pointer to Global MAC structure
39  * @add_bss_rsp: Bss params including rsp data
40  * @session_entry: PE session
41  *
42  * Return: None
43  */
44 void lim_process_ndi_mlm_add_bss_rsp(struct mac_context *mac_ctx,
45 				     struct add_bss_rsp *add_bss_rsp,
46 				     struct pe_session *session_entry);
47 /* Handler for DEL BSS resp for NDI interface */
48 
49 /**
50  * lim_ndi_del_bss_rsp() - Handler for DEL BSS resp for NDI interface
51  * @mac_ctx: handle to mac structure
52  * @del_bss: pointer to del bss response
53  * @session_entry: session entry
54  *
55  * Return: None
56  */
57 void lim_ndi_del_bss_rsp(struct mac_context * mac_ctx,
58 			 struct del_bss_resp *del_bss,
59 			 struct pe_session *session_entry);
60 
61 void lim_ndp_add_sta_rsp(struct mac_context *mac_ctx,
62 			 struct pe_session *session_entry,
63 			 tAddStaParams *add_sta_rsp);
64 
65 void lim_process_ndi_del_sta_rsp(struct mac_context *mac_ctx,
66 				 struct scheduler_msg *lim_msg,
67 				 struct pe_session *pe_session);
68 
69 QDF_STATUS lim_add_ndi_peer_converged(uint32_t vdev_id,
70 				struct qdf_mac_addr peer_mac_addr);
71 
72 void lim_ndp_delete_peers_converged(struct peer_nan_datapath_map *ndp_map,
73 				    uint8_t num_peers);
74 
75 void lim_ndp_delete_peers_by_addr_converged(uint8_t vdev_id,
76 					struct qdf_mac_addr peer_ndi_mac_addr);
77 
78 #else
79 static inline
lim_process_ndi_mlm_add_bss_rsp(struct mac_context * mac_ctx,struct add_bss_rsp * add_bss_rsp,struct pe_session * session_entry)80 void lim_process_ndi_mlm_add_bss_rsp(struct mac_context *mac_ctx,
81 				     struct add_bss_rsp *add_bss_rsp,
82 				     struct pe_session *session_entry)
83 {
84 }
85 
86 /**
87  * lim_ndi_del_bss_rsp() - Handler for DEL BSS resp for NDI interface
88  * @mac_ctx: handle to mac structure
89  * @del_bss: pointer to del bss response
90  * @session_entry: session entry
91  *
92  * Return: None
93  */
94 static inline
lim_ndi_del_bss_rsp(struct mac_context * mac_ctx,struct del_bss_resp * del_bss,struct pe_session * session_entry)95 void lim_ndi_del_bss_rsp(struct mac_context *mac_ctx,
96 			 struct del_bss_resp *del_bss,
97 			 struct pe_session *session_entry)
98 {
99 }
100 
101 static inline
lim_process_ndi_del_sta_rsp(struct mac_context * mac_ctx,struct scheduler_msg * lim_msg,struct pe_session * pe_session)102 void lim_process_ndi_del_sta_rsp(struct mac_context *mac_ctx,
103 				 struct scheduler_msg *lim_msg,
104 				 struct pe_session *pe_session)
105 {
106 }
107 
108 static inline
lim_ndp_add_sta_rsp(struct mac_context * mac_ctx,struct pe_session * session_entry,tAddStaParams * add_sta_rsp)109 void lim_ndp_add_sta_rsp(struct mac_context *mac_ctx,
110 			 struct pe_session *session_entry,
111 			 tAddStaParams *add_sta_rsp)
112 {
113 }
114 
115 #endif /* WLAN_FEATURE_NAN */
116 
117 #endif /* __MAC_NAN_DATAPATH_H */
118 
119