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