qcacmn: Implement Wifi Positioning Init/Deinit

Implement Init/Deinit for the WIFI Positioning component.

Change-Id: Iec0f4199935f63f7019de5ae16fc760817165954
CRs-Fixed: 2003488
This commit is contained in:
Naveen Rawat
2017-03-06 15:59:31 -08:00
zatwierdzone przez Sandeep Puligilla
rodzic 5a9c9df3cd
commit a8423167a9
10 zmienionych plików z 1206 dodań i 3 usunięć

Wyświetl plik

@@ -32,4 +32,100 @@
#ifndef _OS_IF_WIFI_POS_H_
#define _OS_IF_WIFI_POS_H_
#include "qdf_types.h"
#include "qdf_status.h"
/* forward declaration */
struct wifi_pos_ch_info;
struct wlan_objmgr_psoc;
struct wifi_pos_driver_caps;
#ifdef WIFI_POS_CONVERGED
/**
* os_if_wifi_pos_register_nl() - abstration API to register callback with GENL
* socket.
*
* Return: status of operation
*/
int os_if_wifi_pos_register_nl(void);
/**
* os_if_wifi_pos_deregister_nl() - abstration API to deregister callback with
* GENL socket.
*
* Return: status of operation
*/
int os_if_wifi_pos_deregister_nl(void);
/**
* os_if_wifi_pos_send_peer_status() - Function to send peer status to a
* registered application
* @peer_mac: MAC address of peer
* @peer_status: ePeerConnected or ePeerDisconnected
* @peer_timing_meas_cap: 0: RTT/RTT2, 1: RTT3. Default is 0
* @session_id: SME session id, i.e. vdev_id
* @chan_info: operating channel information
* @dev_mode: dev mode for which indication is sent
*
* Return: none
*/
void os_if_wifi_pos_send_peer_status(struct qdf_mac_addr *peer_mac,
uint8_t peer_status,
uint8_t peer_timing_meas_cap,
uint8_t session_id,
struct wifi_pos_ch_info *chan_info,
enum tQDF_ADAPTER_MODE dev_mode);
/**
* os_if_wifi_pos_set_ftm_cap() - set ftm capabilities
* @psoc: psoc object
* @val: value to set
*
* Return: none
*/
void os_if_wifi_pos_set_ftm_cap(struct wlan_objmgr_psoc *psoc, uint32_t val);
/**
* os_if_wifi_pos_populate_caps() - populate oem capabilities
* @psoc: psoc object
* @caps: pointer to populate the capabilities
*
* Return: error code
*/
int os_if_wifi_pos_populate_caps(struct wlan_objmgr_psoc *psoc,
struct wifi_pos_driver_caps *caps);
#else
static inline int os_if_wifi_pos_register_nl(void)
{
return 0;
}
static inline int os_if_wifi_pos_deregister_nl(void)
{
return 0;
}
static inline void os_if_wifi_pos_send_peer_status(
struct qdf_mac_addr *peer_mac,
uint8_t peer_status,
uint8_t peer_timing_meas_cap,
uint8_t session_id,
struct wifi_pos_ch_info *chan_info,
enum tQDF_ADAPTER_MODE dev_mode)
{
}
static inline void os_if_wifi_pos_set_ftm_cap(struct wlan_objmgr_psoc *psoc,
uint32_t val)
{
}
static inline int os_if_wifi_pos_populate_caps(struct wlan_objmgr_psoc *psoc,
struct wifi_pos_driver_caps *caps)
{
return 0;
}
#endif
#endif /* _OS_IF_WIFI_POS_H_ */