1d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam/* Copyright (c) 2015, The Linux Foundation. All rights reserved. 2d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * 3d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * Redistribution and use in source and binary forms, with or without 4d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * modification, are permitted provided that the following conditions 5d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * are met: 6d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * * Redistributions of source code must retain the above copyright 7d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * notice, this list of conditions and the following disclaimer. 8d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * * Redistributions in binary form must reproduce the above 9d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * copyright notice, this list of conditions and the following 10d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * disclaimer in the documentation and/or other materials provided 11d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * with the distribution. 12d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * * Neither the name of The Linux Foundation nor the names of its 13d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * contributors may be used to endorse or promote products derived 14d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * from this software without specific prior written permission. 15d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * 16d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 17d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 19d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 20d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 23d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 25d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 26d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam */ 28d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 29d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam#ifndef __WIFI_HAL_WIFILOGGER_VENDOR_EVENTS_H__ 30d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam#define __WIFI_HAL_WIFILOGGER_VENDOR_EVENTS_H__ 31d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 32d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam#include "common.h" 33d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 34d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyamtypedef struct { 35d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 Tsniff; 36d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 attempts; 37d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam} bt_coex_hid_vendor_data_t; 38d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 39d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyamtypedef struct { 40d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u32 timer_tick; 41d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u32 scheduled_bucket_mask; 42d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u32 scan_cycle_count; 43d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam} __attribute__((packed)) ext_scan_cycle_vendor_data_t; 44d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 45d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyamtypedef struct { 46d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u32 table_type; 47d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u32 entries_in_use; 48d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u32 maximum_entries; 49d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u32 scan_count_after_getResults; 50d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 threshold_num_scans; 51d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam} __attribute__((packed)) ext_scan_results_available_vendor_data_t; 52d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 53d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyamtypedef struct { 54d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u32 roam_scan_flags; 55d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u32 cur_rssi; 56d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u16 scan_params[18]; 57d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u16 scan_channels[40]; // first 40 channels only 58d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam} __attribute__((packed)) roam_scan_started_vendor_data_t; 59d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 60d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyamtypedef struct { 61d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u32 reason; 62d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u32 completion_flags; 63d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u32 num_candidate; 64d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u32 flags; 65d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam} __attribute__((packed)) roam_scan_complete_vendor_data_t; 66d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 67d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyamtypedef struct { 68d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 ssid[33]; 69d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 auth_mode; 70d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 ucast_cipher; 71d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 mcast_cipher; 72d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam} __attribute__((packed)) roam_candidate_found_vendor_data_t; 73d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 74d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyamtypedef struct { 75d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u32 flags; 76d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u32 roam_scan_config[8]; 77d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam} __attribute__((packed)) roam_scan_config_vendor_data_t; 78d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 79d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyamtypedef struct { 80d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 scan_type; 81d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 scan_bitmap; 82d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam} __attribute__((packed)) bt_coex_bt_scan_start_vendor_data_t; 83d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 84d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyamtypedef struct { 85d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 scan_type; 86d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 scan_bitmap; 87d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam} __attribute__((packed)) bt_coex_bt_scan_stop_vendor_data_t; 88d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 89d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyamtypedef struct { 90d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u16 sme_state; 91d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u16 mlm_state; 92d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam} __attribute__((packed)) pe_event_vendor_data_t; 93d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 94d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyamtypedef enum { 95d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam ADDBA_SUCCESS = 0, 96d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam ADDBA_FAILURE = -1, 97d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam} addba_status_t; 98d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 99d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyamtypedef struct { 100d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 ucBaTid; 101d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 ucBaBufferSize; 102d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u16 ucBaSSN; 103d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 fInitiator; 104d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam} __attribute__((packed)) addba_success_vendor_data_t; 105d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 106d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyamtypedef struct { 107d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 ucBaTid; 108d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam u8 fInitiator; 109d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam} __attribute__((packed)) addba_failed_vendor_data_t; 110d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam 111d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyamtypedef struct { 112d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 hotlist_mon_table_id; 113d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 wlan_hotlist_entry_size; 114d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 cache_cap_table_id; 115d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 max_scan_cache_entries; 116d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 requestor_id; 117d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 vdev_id; 118d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 num_extscan_cache_tables; 119d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 num_wlan_change_monitor_tables; 120d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 num_hotlist_monitor_tables; 121d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 rtt_one_sided_supported; 122d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 rtt_11v_supported; 123d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 rtt_ftm_supported; 124d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 num_extscan_cache_capabilities; 125d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 num_extscan_wlan_change_capabilities; 126d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 num_extscan_hotlist_capabilities; 127d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 num_roam_bssid_blacklist; 128d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam u32 num_roam_bssid_preferred_list; 129d405594245a93a08025d2ef8d76c9e459ba5657fAmarnath Hullur Subramanyam} __attribute__((packed)) gscan_capabilities_vendor_data_t; 13088cbe6ae7236cae11e2a66a4a5115ecd8545f811Subhani Shaik 13188cbe6ae7236cae11e2a66a4a5115ecd8545f811Subhani Shaiktypedef struct 13288cbe6ae7236cae11e2a66a4a5115ecd8545f811Subhani Shaik{ 13388cbe6ae7236cae11e2a66a4a5115ecd8545f811Subhani Shaik resource_failure_type event_sub_type; 13488cbe6ae7236cae11e2a66a4a5115ecd8545f811Subhani Shaik} __attribute__((packed)) resource_failure_vendor_data_t; 135d3ebf0d2f640807b4245ea6546adc4983859a5e3Amarnath Hullur Subramanyam#endif /* __WIFI_HAL_WIFILOGGER_VENDOR_EVENTS_H__ */ 136