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 are 5 * 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 WIFILOGGER_EVENT_DEFS_H 30 #define WIFILOGGER_EVENT_DEFS_H 31 32 typedef enum { 33 EVENT_DROP_ID = 0, 34 35 EVENT_WLAN_PE = 0x67A, /* 16 byte payload */ 36 37 /* Events between 0x67b to 0x67f are not used */ 38 39 EVENT_WLAN_ADD_BLOCK_ACK_SUCCESS = 0x67B, /* 11 byte payload */ 40 EVENT_WLAN_ADD_BLOCK_ACK_FAILED = 0x67C, /* 9 byte payload */ 41 EVENT_WLAN_BRINGUP_STATUS = 0x680, /* 12 byte payload */ 42 EVENT_WLAN_POWERSAVE_WOW = 0x682, /* 11 byte payload */ 43 44 EVENT_WLAN_EXTSCAN_FEATURE_STARTED = 0xA8E, /* 240 byte payload */ 45 EVENT_WLAN_EXTSCAN_FEATURE_CHANNEL_CONFIG = 0xA8F, /* 243 byte payload */ 46 EVENT_WLAN_EXTSCAN_CYCLE_STARTED = 0xA90, /* 12 byte payload */ 47 EVENT_WLAN_EXTSCAN_CYCLE_COMPLETED = 0xA91, /* 12 byte payload */ 48 EVENT_WLAN_EXTSCAN_BUCKET_STARTED = 0xA92, /* 1 byte payload */ 49 EVENT_WLAN_EXTSCAN_BUCKET_COMPLETED = 0xA93, /* 4 byte payload */ 50 EVENT_WLAN_ROAM_SCAN_STARTED = 0xA94, /* 128 byte payload */ 51 52 53 EVENT_WLAN_ROAM_SCAN_COMPLETE = 0xA95, 54 EVENT_WLAN_ROAM_CANDIDATE_FOUND = 0xA96, 55 EVENT_WLAN_ROAM_SCAN_CONFIG = 0xA97, 56 EVENT_WLAN_BT_COEX_BT_SCO_START = 0xA98, 57 EVENT_WLAN_BT_COEX_BT_SCO_STOP = 0xA99, 58 EVENT_WLAN_BT_COEX_BT_SCAN_START = 0xA9A, 59 EVENT_WLAN_BT_COEX_BT_SCAN_STOP = 0xA9B, 60 EVENT_WLAN_BT_COEX_BT_HID_START = 0xA9C, 61 EVENT_WLAN_BT_COEX_BT_HID_STOP = 0xA9D, 62 EVENT_WLAN_WAKE_LOCK = 0xAA2, /* 96 bytes payload */ 63 EVENT_WLAN_EAPOL = 0xA8D, /* 96 bytes payload */ 64 EVENT_WLAN_EXTSCAN_FEATURE_STOP = 0xAA3, 65 EVENT_WLAN_EXTSCAN_RESULTS_AVAILABLE = 0xAA4, 66 EVENT_WLAN_BEACON_EVENT = 0xAA6, 67 EVENT_WLAN_LOG_COMPLETE = 0xAA7, 68 EVENT_WLAN_LOW_RESOURCE_FAILURE = 0xABB, 69 EVENT_WLAN_POWERSAVE_WOW_STATS = 0xB33, /* 76 bytes payload */ 70 EVENT_WLAN_STA_KICKOUT = 0xB39, /* 11 bytes payload */ 71 EVENT_WLAN_STA_DATA_STALL = 0xB3A, 72 73 EVENT_MAX_ID = 0x0FFF 74 } event_id_enum_type; 75 76 typedef enum { 77 LOG_DROP_ID = 0, 78 LOG_WLAN_EXTSCAN_CAPABILITIES = 0x18F1, 79 LOG_WLAN_EXTSCAN_FEATURE_STARTED = 0x18F2, 80 } log_id_enum_type; 81 82 typedef enum 83 { 84 WLAN_PE_DIAG_SCAN_REQ_EVENT = 0, 85 WLAN_PE_DIAG_SCAN_ABORT_IND_EVENT, 86 WLAN_PE_DIAG_SCAN_RSP_EVENT, 87 WLAN_PE_DIAG_JOIN_REQ_EVENT, 88 WLAN_PE_DIAG_JOIN_RSP_EVENT, 89 WLAN_PE_DIAG_SETCONTEXT_REQ_EVENT, 90 WLAN_PE_DIAG_SETCONTEXT_RSP_EVENT, 91 WLAN_PE_DIAG_REASSOC_REQ_EVENT, 92 WLAN_PE_DIAG_REASSOC_RSP_EVENT, 93 WLAN_PE_DIAG_AUTH_REQ_EVENT, 94 WLAN_PE_DIAG_AUTH_RSP_EVENT = 10, 95 WLAN_PE_DIAG_DISASSOC_REQ_EVENT, 96 WLAN_PE_DIAG_DISASSOC_RSP_EVENT, 97 WLAN_PE_DIAG_DISASSOC_IND_EVENT, 98 WLAN_PE_DIAG_DISASSOC_CNF_EVENT, 99 WLAN_PE_DIAG_DEAUTH_REQ_EVENT, 100 WLAN_PE_DIAG_DEAUTH_RSP_EVENT, 101 WLAN_PE_DIAG_DEAUTH_IND_EVENT, 102 WLAN_PE_DIAG_START_BSS_REQ_EVENT, 103 WLAN_PE_DIAG_START_BSS_RSP_EVENT, 104 WLAN_PE_DIAG_AUTH_IND_EVENT = 20, 105 WLAN_PE_DIAG_ASSOC_IND_EVENT, 106 WLAN_PE_DIAG_ASSOC_CNF_EVENT, 107 WLAN_PE_DIAG_REASSOC_IND_EVENT, 108 WLAN_PE_DIAG_SWITCH_CHL_REQ_EVENT, 109 WLAN_PE_DIAG_SWITCH_CHL_RSP_EVENT, 110 WLAN_PE_DIAG_STOP_BSS_REQ_EVENT, 111 WLAN_PE_DIAG_STOP_BSS_RSP_EVENT, 112 WLAN_PE_DIAG_DEAUTH_CNF_EVENT, 113 WLAN_PE_DIAG_ADDTS_REQ_EVENT, 114 WLAN_PE_DIAG_ADDTS_RSP_EVENT = 30, 115 WLAN_PE_DIAG_DELTS_REQ_EVENT, 116 WLAN_PE_DIAG_DELTS_RSP_EVENT, 117 WLAN_PE_DIAG_DELTS_IND_EVENT, 118 WLAN_PE_DIAG_ENTER_BMPS_REQ_EVENT, 119 WLAN_PE_DIAG_ENTER_BMPS_RSP_EVENT, 120 WLAN_PE_DIAG_EXIT_BMPS_REQ_EVENT, 121 WLAN_PE_DIAG_EXIT_BMPS_RSP_EVENT, 122 WLAN_PE_DIAG_EXIT_BMPS_IND_EVENT, 123 WLAN_PE_DIAG_ENTER_IMPS_REQ_EVENT, 124 WLAN_PE_DIAG_ENTER_IMPS_RSP_EVENT = 40, 125 WLAN_PE_DIAG_EXIT_IMPS_REQ_EVENT, 126 WLAN_PE_DIAG_EXIT_IMPS_RSP_EVENT, 127 WLAN_PE_DIAG_ENTER_UAPSD_REQ_EVENT, 128 WLAN_PE_DIAG_ENTER_UAPSD_RSP_EVENT, 129 WLAN_PE_DIAG_EXIT_UAPSD_REQ_EVENT, 130 WLAN_PE_DIAG_EXIT_UAPSD_RSP_EVENT, 131 WLAN_PE_DIAG_WOWL_ADD_BCAST_PTRN_EVENT, 132 WLAN_PE_DIAG_WOWL_DEL_BCAST_PTRN_EVENT, 133 WLAN_PE_DIAG_ENTER_WOWL_REQ_EVENT, 134 WLAN_PE_DIAG_ENTER_WOWL_RSP_EVENT = 50, 135 WLAN_PE_DIAG_EXIT_WOWL_REQ_EVENT, 136 WLAN_PE_DIAG_EXIT_WOWL_RSP_EVENT, 137 WLAN_PE_DIAG_HAL_ADDBA_REQ_EVENT, 138 WLAN_PE_DIAG_HAL_ADDBA_RSP_EVENT, 139 WLAN_PE_DIAG_HAL_DELBA_IND_EVENT, 140 WLAN_PE_DIAG_HB_FAILURE_TIMEOUT, 141 WLAN_PE_DIAG_PRE_AUTH_REQ_EVENT, 142 WLAN_PE_DIAG_PRE_AUTH_RSP_EVENT, 143 WLAN_PE_DIAG_PREAUTH_DONE, 144 WLAN_PE_DIAG_REASSOCIATING = 60, 145 WLAN_PE_DIAG_CONNECTED, 146 WLAN_PE_DIAG_ASSOC_REQ_EVENT, 147 WLAN_PE_DIAG_AUTH_COMP_EVENT, 148 WLAN_PE_DIAG_ASSOC_COMP_EVENT, 149 WLAN_PE_DIAG_AUTH_START_EVENT, 150 WLAN_PE_DIAG_ASSOC_START_EVENT, 151 WLAN_PE_DIAG_REASSOC_START_EVENT, 152 WLAN_PE_DIAG_ROAM_AUTH_START_EVENT, 153 WLAN_PE_DIAG_ROAM_AUTH_COMP_EVENT, 154 WLAN_PE_DIAG_ROAM_ASSOC_START_EVENT = 70, 155 WLAN_PE_DIAG_ROAM_ASSOC_COMP_EVENT, 156 WLAN_PE_DIAG_SCAN_COMP_EVENT, 157 WLAN_PE_DIAG_SCAN_RES_FOUND_EVENT, 158 WLAN_PE_DIAG_ASSOC_TIMEOUT, 159 WLAN_PE_DIAG_AUTH_TIMEOUT, 160 } wlan_host_diag_event_type; 161 162 typedef struct wlan_pe_event { 163 char bssid[6]; 164 u16 event_type; 165 u16 sme_state; 166 u16 mlm_state; 167 u16 status; 168 u16 reason_code; 169 } __attribute__((packed)) wlan_pe_event_t; 170 171 typedef enum { 172 WLAN_DRIVER_EAPOL_FRAME_TRANSMIT_REQUESTED = 0, 173 WLAN_DRIVER_EAPOL_FRAME_RECEIVED, 174 } wlan_eapol_event_type; 175 176 #define EAPOL_MASK 0x8013 177 #define EAPOL_M1_MASK 0x8000 178 #define EAPOL_M2_MASK 0x0001 179 #define EAPOL_M3_MASK 0x8013 180 #define EAPOL_M4_MASK 0x0003 181 182 typedef struct wlan_eapol_event { 183 u8 event_sub_type; 184 u8 eapol_packet_type; 185 u16 eapol_key_info; 186 u16 eapol_rate; 187 u8 dest_addr[6]; 188 u8 src_addr[6]; 189 } __attribute__((packed)) wlan_eapol_event_t; 190 191 /*EVENT_WLAN_EXTSCAN_FEATURE_STARTED */ 192 typedef struct wlan_ext_bucket { 193 u8 bucket_id; 194 u8 base_period_multiplier; 195 u16 min_dwell_time_active; 196 u16 max_dwell_time_active; 197 u16 min_dwell_time_passive; 198 u16 max_dwell_time_passive; 199 u8 num_channels; 200 u8 channel_offset; 201 u8 forwarding_flags; 202 u8 channel_band; 203 u32 notify_extscan_events; 204 } __attribute__((packed)) wlan_ext_bucket_t; 205 206 typedef struct { 207 u32 base_period; 208 u32 max_iterations; 209 u32 forwarding_flags; 210 u32 configuration_flags; 211 u32 notify_extscan_events; 212 u32 scan_priority; 213 u32 max_bssids_per_scan_cycle; 214 u32 min_rssi; 215 u32 max_table_usage; 216 u32 min_dwell_time_active; 217 u32 max_dwell_time_active; 218 u32 min_dwell_time_passive; 219 u32 max_dwell_time_passive; 220 u32 min_rest_time; 221 u32 max_rest_time; 222 u32 n_probes; 223 u32 repeat_probe_time; 224 u32 probe_spacing_time; 225 u32 idle_time; 226 u32 max_scan_time; 227 u32 probe_delay; 228 u32 scan_ctrl_flags; 229 u32 burst_duration; 230 u32 num_buckets; 231 wlan_ext_bucket bucket_list[8]; 232 } __attribute__((packed)) wlan_ext_scan_feature_started_payload_type; 233 /*End EVENT_WLAN_EXTSCAN_FEATURE_STARTED*/ 234 235 /*EVENT_WLAN_EXTSCAN_FEATURE_CHANNEL_CONFIG*/ 236 typedef struct { 237 u8 bucket_id; 238 u16 scan_channels[40]; 239 } __attribute__((packed)) wlan_ext_bucket_channels; 240 241 typedef struct { 242 wlan_ext_bucket_channels bucket_list[3]; 243 } __attribute__((packed)) wlan_ext_bucket_channel_config_payload_type; 244 245 /*End EVENT_WLAN_EXTSCAN_FEATURE_CHANNEL_CONFIG*/ 246 247 /*EVENT_WLAN_EXTSCAN_CYCLE_STARTED*/ 248 typedef struct { 249 u32 scan_id; 250 u32 timer_tick; 251 u32 scheduled_bucket_mask; 252 u32 scan_cycle_count; 253 } __attribute__((packed)) wlan_ext_scan_cycle_started_payload_type; 254 /*End EVENT_WLAN_EXTSCAN_CYCLE_STARTED*/ 255 256 /*EVENT_WLAN_EXTSCAN_CYCLE_COMPLETED*/ 257 typedef struct { 258 u32 scan_id; 259 u32 timer_tick; 260 u32 scheduled_bucket_mask; 261 u32 scan_cycle_count; 262 } __attribute__((packed)) wlan_ext_scan_cycle_completed_payload_type; 263 /*End EVENT_WLAN_EXTSCAN_CYCLE_COMPLETED*/ 264 265 /*EVENT_WLAN_EXTSCAN_BUCKET_STARTED*/ 266 typedef struct { 267 u8 bucket_id; 268 } __attribute__((packed)) wlan_ext_scan_bucket_started_payload_type; 269 /*End EVENT_WLAN_EXTSCAN_BUCKET_STARTED*/ 270 271 /*EVENT_WLAN_EXTSCAN_BUCKET_COMPLETED*/ 272 typedef struct { 273 u8 bucket_id; 274 } __attribute__((packed)) wlan_ext_scan_bucket_completed_payload_type; 275 /*End EVENT_WLAN_EXTSCAN_BUCKET_COMPLETED*/ 276 277 /*EVENT_WLAN_ROAM_SCAN_STARTED*/ 278 typedef struct { 279 u32 scan_id; 280 u32 roam_scan_flags; 281 u32 cur_rssi; 282 u16 scan_params[18]; 283 u16 scan_channels[40]; // first 40 channels only 284 } __attribute__((packed)) wlan_roam_scan_started_payload_type; 285 /*End EVENT_WLAN_ROAM_SCAN_STARTED*/ 286 287 /*EVENT_WLAN_ROAM_SCAN_COMPLETE*/ 288 typedef struct { 289 u32 scan_id; 290 u32 reason; 291 u32 completion_flags; 292 u32 num_candidate; 293 u32 flags; 294 } __attribute__((packed)) wlan_roam_scan_complete_payload_type; 295 /*End EVENT_WLAN_ROAM_SCAN_COMPLETE*/ 296 297 /*EVENT_WLAN_ROAM_CANDIDATE_FOUND*/ 298 typedef struct { 299 u8 channel; 300 u8 rssi; 301 u8 bssid[6]; 302 u8 ssid[33]; 303 u8 auth_mode; 304 u8 ucast_cipher; 305 u8 mcast_cipher; 306 } __attribute__((packed)) wlan_roam_candidate_found_payload_type; 307 /*End EVENT_WLAN_ROAM_CANDIDATE_FOUND*/ 308 309 /*EVENT_WLAN_ROAM_SCAN_CONFIG*/ 310 typedef struct { 311 u32 flags; 312 u32 roam_scan_config[8]; 313 } __attribute__((packed)) wlan_roam_scan_config_payload_type; 314 /*End EVENT_WLAN_ROAM_SCAN_CONFIG*/ 315 316 /* EVENT_WLAN_BT_COEX_BT_SCO_START */ 317 typedef struct { 318 u8 link_id; 319 u8 link_state; 320 u8 link_role; 321 u8 link_type; 322 u16 Tsco; 323 u8 Rsco; 324 } __attribute__((packed)) wlan_bt_coex_bt_sco_start_payload_type; 325 /* End EVENT_WLAN_BT_COEX_BT_SCO_START */ 326 327 /* EVENT_WLAN_BT_COEX_BT_SCO_STOP */ 328 typedef struct { 329 u8 link_id; 330 u8 link_state; 331 u8 link_role; 332 u8 link_type; 333 u16 Tsco; 334 u8 Rsco; 335 } __attribute__((packed)) wlan_bt_coex_bt_sco_stop_payload_type; 336 /* End EVENT_WLAN_BT_COEX_BT_SCO_STOP */ 337 338 /* EVENT_WLAN_BT_COEX_BT_SCAN_START */ 339 typedef struct { 340 u8 scan_type; 341 u8 scan_bitmap; 342 } __attribute__((packed)) wlan_bt_coex_bt_scan_start_payload_type; 343 344 /* End EVENT_WLAN_BT_COEX_BT_SCAN_START */ 345 346 /* EVENT_WLAN_BT_COEX_BT_SCAN_STOP */ 347 typedef struct { 348 u8 scan_type; 349 u8 scan_bitmap; 350 } __attribute__((packed)) wlan_bt_coex_bt_scan_stop_payload_type; 351 /* End EVENT_WLAN_BT_COEX_BT_SCAN_STOP */ 352 353 /* EVENT_WIFI_BT_COEX_BT_HID_START */ 354 typedef struct { 355 u8 link_id; 356 u8 link_state; 357 u8 link_role; 358 u8 Tsniff; 359 u8 attempts; 360 } __attribute__((packed)) wlan_bt_coex_bt_hid_start_payload_type; 361 /* End EVENT_WIFI_BT_COEX_BT_HID_START */ 362 363 /* EVENT_WIFI_BT_COEX_BT_HID_STOP */ 364 typedef struct { 365 u8 link_id; 366 u8 link_state; 367 u8 link_role; 368 u8 Tsniff; 369 u8 attempts; 370 } __attribute__((packed)) wlan_bt_coex_bt_hid_stop_payload_type; 371 /* End EVENT_WIFI_BT_COEX_BT_HID_STOP */ 372 373 /* EVENT_WLAN_EXTSCAN_FEATURE_STOP */ 374 typedef struct { 375 u32 request_id; 376 } __attribute__((packed)) wlan_ext_scan_feature_stop_payload_type; 377 /* End EVENT_WLAN_EXTSCAN_FEATURE_STOP */ 378 379 /* EVENT_WLAN_EXTSCAN_RESULTS_AVAILABLE */ 380 typedef struct { 381 u32 request_id; 382 u32 table_type; 383 u32 entries_in_use; 384 u32 maximum_entries; 385 u32 scan_count_after_getResults; 386 u8 threshold_num_scans; 387 } __attribute__((packed)) wlan_ext_scan_results_available_payload_type; 388 /* End EVENT_WLAN_EXTSCAN_RESULTS_AVAILABLE */ 389 390 /* Log LOG_WLAN_EXTSCAN_CAPABILITIES */ 391 typedef struct { 392 u32 header; 393 u32 request_id; 394 u32 requestor_id; 395 u32 vdev_id; 396 u32 num_extscan_cache_tables; 397 u32 num_wlan_change_monitor_tables; 398 u32 num_hotlist_monitor_tables; 399 u32 rtt_one_sided_supported; 400 u32 rtt_11v_supported; 401 u32 rtt_ftm_supported; 402 u32 num_extscan_cache_capabilities; 403 u32 num_extscan_wlan_change_capabilities; 404 u32 num_extscan_hotlist_capabilities; 405 u32 num_roam_ssid_whitelist; 406 u32 num_roam_bssid_blacklist; 407 u32 num_roam_bssid_preferred_list; 408 u32 num_extscan_hotlist_ssid; 409 u32 num_epno_networks; 410 } __attribute__((packed)) wlan_extscan_capabilities_event_fixed_param; 411 412 typedef struct { 413 u32 header; 414 u32 table_id; 415 u32 scan_cache_entry_size; 416 u32 max_scan_cache_entries; 417 u32 max_buckets; 418 u32 max_bssid_per_scan; 419 u32 max_table_usage_threshold; 420 } __attribute__((packed)) wlan_extscan_cache_capabilities; 421 422 typedef struct { 423 u32 tlv_header; 424 u32 table_id; 425 u32 wlan_hotlist_entry_size; 426 u32 max_hotlist_entries; 427 } __attribute__((packed)) wlan_extscan_hotlist_monitor_capabilities; 428 429 typedef struct { 430 u32 request_id; 431 wlan_extscan_capabilities_event_fixed_param extscan_capabilities; 432 wlan_extscan_cache_capabilities extscan_cache_capabilities; 433 wlan_extscan_hotlist_monitor_capabilities extscan_hotlist_monitor_capabilities; 434 } __attribute__((packed)) wlan_ext_scan_capabilities_payload_type; 435 /* End LOG_WLAN_EXTSCAN_CAPABILITIES */ 436 437 /* EVENT_WLAN_BEACON_RECEIVED */ 438 typedef struct { 439 u8 bssid[6]; 440 u32 beacon_rssi; 441 } __attribute__((packed)) wlan_beacon_received_payload_type; 442 /* End EVENT_WLAN_BEACON_RECEIVED */ 443 444 typedef struct { 445 u8 ucBaPeerMac[6]; 446 u8 ucBaTid; 447 u8 ucBaBufferSize; 448 u16 ucBaSSN; 449 u8 fInitiator; 450 } __attribute__((packed)) wlan_add_block_ack_success_payload_type; 451 452 /* EVENT_WLAN_ADD_BLOCK_ACK_FAILED */ 453 typedef struct { 454 u8 ucBaPeerMac[6]; 455 u8 ucBaTid; 456 u8 ucReasonCode; 457 u8 fInitiator; 458 } __attribute__((packed)) wlan_add_block_ack_failed_payload_type; 459 460 typedef enum 461 { 462 WIFI_EVENT_MEMORY_FAILURE, 463 } resource_failure_type; 464 465 typedef struct wlan_low_resource_failure_event 466 { 467 resource_failure_type event_sub_type; 468 } __attribute__((packed)) wlan_low_resource_failure_event_t; 469 470 /* EVENT_WLAN_POWERSAVE_WOW */ 471 typedef struct { 472 u8 event_subtype; 473 u8 wow_type; 474 u8 wow_magic_pattern[6]; 475 u8 wow_del_ptrn_id; 476 u8 wow_wakeup_cause; 477 u8 wow_wakeup_cause_pbm_ptrn_id; 478 } __attribute__((packed)) wlan_wow_payload_t; 479 480 /* EVENT_WLAN_POWERSAVE_WOW_STATS */ 481 typedef struct { 482 u32 wow_ucast_wake_up_count; 483 u32 wow_bcast_wake_up_count; 484 u32 wow_ipv4_mcast_wake_up_count; 485 u32 wow_ipv6_mcast_wake_up_count; 486 u32 wow_ipv6_mcast_ra_stats; 487 u32 wow_ipv6_mcast_ns_stats; 488 u32 wow_ipv6_mcast_na_stats; 489 u32 wow_pno_match_wake_up_count; 490 u32 wow_pno_complete_wake_up_count; 491 u32 wow_gscan_wake_up_count; 492 u32 wow_low_rssi_wake_up_count; 493 u32 wow_rssi_breach_wake_up_count; 494 u32 wow_icmpv4_count; 495 u32 wow_icmpv6_count; 496 u32 wow_oem_response_wake_up_count; 497 u32 Reserved_1; 498 u32 Reserved_2; 499 u32 Reserved_3; 500 u32 Reserved_4; 501 } __attribute__((packed)) wlan_wow_stats_t; 502 503 /* EVENT_WLAN_STA_KICKOUT */ 504 typedef struct { 505 u32 reasoncode; 506 u8 peer_mac[6]; 507 u8 vdev_id; 508 } __attribute__((packed)) wlan_kickout_t; 509 510 /* EVENT_WLAN_BRINGUP_STATUS */ 511 typedef struct { 512 u16 wlan_status; 513 u8 driver_version[10]; 514 } __attribute__((packed)) wlan_status_payload_t; 515 516 #endif /* WIFILOGGER_EVENT_DEFS_H */ 517