1 /* 2 * Copyright (c) 2017, 2019-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 /** 20 * DOC: wifi_pos_main_i.h 21 * This file prototyps the important functions pertinent to wifi positioning 22 * component. 23 */ 24 25 #ifndef _WIFI_POS_MAIN_H_ 26 #define _WIFI_POS_MAIN_H_ 27 28 #ifdef CNSS_GENL 29 #define ENHNC_FLAGS_LEN 4 30 #define NL_ENABLE_OEM_REQ_RSP 0x00000001 31 #endif 32 33 /* forward reference */ 34 struct wlan_objmgr_psoc; 35 36 /** 37 * wifi_pos_psoc_obj_created_notification: callback registered to be called when 38 * psoc object is created. 39 * @psoc: pointer to psoc object just created 40 * @arg_list: argument list 41 * 42 * This function will: 43 * create WIFI POS psoc object and attach to psoc 44 * register TLV vs nonTLV callbacks 45 * Return: status of operation 46 */ 47 QDF_STATUS wifi_pos_psoc_obj_created_notification( 48 struct wlan_objmgr_psoc *psoc, void *arg_list); 49 50 /** 51 * wifi_pos_psoc_obj_destroyed_notification: callback registered to be called 52 * when psoc object is destroyed. 53 * @psoc: pointer to psoc object just about to be destroyed 54 * @arg_list: argument list 55 * 56 * This function will: 57 * detach WIFI POS from psoc object and free 58 * Return: status of operation 59 */ 60 QDF_STATUS wifi_pos_psoc_obj_destroyed_notification( 61 struct wlan_objmgr_psoc *psoc, void *arg_list); 62 63 /** 64 * wifi_pos_oem_rsp_handler: lmac rx ops registered 65 * @psoc: pointer to psoc object 66 * @oem_rsp: response from firmware 67 * 68 * Return: status of operation 69 */ 70 int wifi_pos_oem_rsp_handler(struct wlan_objmgr_psoc *psoc, 71 struct oem_data_rsp *oem_rsp); 72 73 /** 74 * wifi_pos_get_tx_ops: api to get tx ops 75 * @psoc: pointer to psoc object 76 * 77 * Return: tx ops 78 */ 79 struct wlan_lmac_if_wifi_pos_tx_ops * 80 wifi_pos_get_tx_ops(struct wlan_objmgr_psoc *psoc); 81 #endif 82