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