summaryrefslogtreecommitdiffstats
path: root/qcwcn/wifi_hal/wifihal_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'qcwcn/wifi_hal/wifihal_internal.h')
-rwxr-xr-xqcwcn/wifi_hal/wifihal_internal.h86
1 files changed, 80 insertions, 6 deletions
diff --git a/qcwcn/wifi_hal/wifihal_internal.h b/qcwcn/wifi_hal/wifihal_internal.h
index ef72317..379cc48 100755
--- a/qcwcn/wifi_hal/wifihal_internal.h
+++ b/qcwcn/wifi_hal/wifihal_internal.h
@@ -30,20 +30,31 @@
#define __WIFI_HAL_LOWI_INTERNAL_H__
/*
- * The file defines the interface by which wifihal can call LOWI for the purposes
- * of initialization, rtt and gscan.
- */
+ * The file defines the interface by which wifihal can call LOWI for the
+ * purposes of initialization, rtt and gscan.
+ */
#include "wifi_hal.h"
+#define WIFIHAL_LOWI_MAJOR_VERSION 1
+#define WIFIHAL_LOWI_MINOR_VERSION 1
+#define WIFIHAL_LOWI_MICRO_VERSION 0
+
+/* LOWI supported capabilities bit masks */
+#define ONE_SIDED_RANGING_SUPPORTED 0x00000001
+#define DUAL_SIDED_RANGING_SUPPORED 0x00000002
+#define GSCAN_SUPPORTED 0x00000004
+
/*
- * This structure is a table of function pointers to the functions
- * used by the wifihal to interface with LOWI
- */
+ * This structure is a table of function pointers to the functions
+ * used by the wifihal to interface with LOWI
+ */
typedef struct
{
+ /* lowi-client interface functions */
int (*init)();
int (*destroy)();
+ /* rtt functions */
int (*get_rtt_capabilities)(wifi_interface_handle iface,
wifi_rtt_capabilities *capabilities);
int (*rtt_range_request)(u32 request_id,
@@ -54,6 +65,69 @@ typedef struct
int (*rtt_range_cancel)(u32 request_id,
u32 num_devices,
mac_addr addr[]);
+ /* Additional lowi-client interface functions */
+ int (*get_lowi_version) (u16* major_version,
+ u16* minor_version,
+ u16* micro_version);
+ int (*get_lowi_capabilities)(u32* capabilities);
+ /* gscan functions */
+ wifi_error (*get_valid_channels)(wifi_interface_handle iface,
+ u32 band,
+ u32 max_channels,
+ wifi_channel *channels,
+ int *num_channels);
+
+ wifi_error (*get_gscan_capabilities)(wifi_interface_handle handle,
+ wifi_gscan_capabilities *capabilities);
+
+ wifi_error (*start_gscan)(wifi_request_id request_id,
+ wifi_interface_handle iface,
+ wifi_scan_cmd_params params,
+ wifi_scan_result_handler handler);
+
+ wifi_error (*stop_gscan)(wifi_request_id request_id,
+ wifi_interface_handle iface);
+
+ wifi_error (*get_cached_gscan_results)(wifi_interface_handle iface,
+ byte flush,
+ u32 max,
+ wifi_cached_scan_results *results,
+ int *num);
+
+ wifi_error (*set_bssid_hotlist)(wifi_request_id request_id,
+ wifi_interface_handle iface,
+ wifi_bssid_hotlist_params params,
+ wifi_hotlist_ap_found_handler handler);
+
+ wifi_error (*reset_bssid_hotlist)(wifi_request_id request_id,
+ wifi_interface_handle iface);
+
+ wifi_error (*set_significant_change_handler)(wifi_request_id id,
+ wifi_interface_handle iface,
+ wifi_significant_change_params params,
+ wifi_significant_change_handler handler);
+
+ wifi_error (*reset_significant_change_handler)(wifi_request_id id,
+ wifi_interface_handle iface);
+
+ wifi_error (*set_ssid_hotlist)(wifi_request_id id,
+ wifi_interface_handle iface,
+ wifi_ssid_hotlist_params params,
+ wifi_hotlist_ssid_handler handler);
+
+ wifi_error (*reset_ssid_hotlist)(wifi_request_id id,
+ wifi_interface_handle iface);
+
+ // API to configure the LCI. Used in RTT Responder mode only
+ wifi_error (*rtt_set_lci)(wifi_request_id id,
+ wifi_interface_handle iface,
+ wifi_lci_information *lci);
+
+ // API to configure the LCR. Used in RTT Responder mode only.
+ wifi_error (*rtt_set_lcr)(wifi_request_id id,
+ wifi_interface_handle iface,
+ wifi_lcr_information *lcr);
+
} lowi_cb_table_t;
/*