xref: /wlan-dirver/qca-wifi-host-cmn/utils/host_diag_log/inc/host_diag_core_log.h (revision 4aa7278f36e63149f11ece1180035fa59b904361)
1 /*
2  * Copyright (c) 2014-2017, 2019-2020 The Linux Foundation. All rights reserved.
3  * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
4  *
5  * Permission to use, copy, modify, and/or distribute this software for
6  * any purpose with or without fee is hereby granted, provided that the
7  * above copyright notice and this permission notice appear in all
8  * copies.
9  *
10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17  * PERFORMANCE OF THIS SOFTWARE.
18  */
19 
20 #if !defined(__HOST_DIAG_CORE_LOG_H)
21 #define __HOST_DIAG_CORE_LOG_H
22 
23 /**=========================================================================
24 
25    \file  host_diag_core_log.h
26 
27    \brief WLAN UTIL host DIAG logs
28 
29    Definitions for WLAN UTIL host diag events
30 
31    ========================================================================*/
32 
33 /* $Header$ */
34 
35 /*--------------------------------------------------------------------------
36    Include Files
37    ------------------------------------------------------------------------*/
38 #include "qdf_types.h"
39 #include "i_host_diag_core_log.h"
40 
41 /*--------------------------------------------------------------------------
42    Preprocessor definitions and constants
43    ------------------------------------------------------------------------*/
44 #ifdef __cplusplus
45 extern "C" {
46 #endif /* __cplusplus */
47 
48 /*--------------------------------------------------------------------------
49    Preprocessor definitions and constants
50    ------------------------------------------------------------------------*/
51 #define HOST_LOG_MAX_NUM_SSID                                (21)
52 #define HOST_LOG_MAX_NUM_BSSID                               (21)
53 #define HOST_LOG_MAX_SSID_SIZE                               (32)
54 #define HOST_LOG_MAX_BSSID_SIZE                              (6)
55 #define HOST_LOG_MAX_NUM_CHANNEL                             (64)
56 #define HOST_LOG_MAX_NUM_HO_CANDIDATE_APS                    (20)
57 #define HOST_LOG_MAX_WOW_PTRN_SIZE                           (128)
58 #define HOST_LOG_MAX_WOW_PTRN_MASK_SIZE                      (16)
59 #define VOS_LOG_PKT_LOG_SIZE                                 (2048)
60 #define HOST_LOG_PKT_LOG_THRESHOLD                           40960
61 #define HOST_LOG_MAX_COLD_BOOT_CAL_DATA_SIZE                 (2048)
62 
63 /* Version to be updated whenever format of vos_log_pktlog_info changes */
64 #define VERSION_LOG_WLAN_PKT_LOG_INFO_C                     1
65 /* Version to be updated whenever format of host_log_cold_boot_cal_data_type
66  * changes
67  */
68 #define VERSION_LOG_WLAN_COLD_BOOT_CAL_DATA_C               1
69 
70 /*---------------------------------------------------------------------------
71    This packet contains the scan results of the recent scan operation
72    LOG_WLAN_SCAN_C                                 0x1496
73    ---------------------------------------------------------------------------*/
74 typedef struct {
75 	log_hdr_type hdr;
76 	uint8_t eventId;
77 	uint8_t numSsid;
78 	uint8_t ssid[HOST_LOG_MAX_NUM_SSID][HOST_LOG_MAX_SSID_SIZE];
79 	uint8_t bssid[HOST_LOG_MAX_NUM_BSSID][HOST_LOG_MAX_BSSID_SIZE];
80 	uint8_t totalSsid;
81 	uint8_t minChnTime;
82 	uint8_t maxChnTime;
83 	uint16_t timeBetweenBgScan;
84 	uint8_t BSSMode;
85 	uint8_t numChannel;
86 	uint8_t channels[HOST_LOG_MAX_NUM_CHANNEL];
87 	uint16_t status;
88 } host_log_scan_pkt_type;
89 
90 /*---------------------------------------------------------------------------
91    This packet contains the information related to IBSS connection setup
92    LOG_WLAN_IBSS_C                                 0x1497
93    ---------------------------------------------------------------------------*/
94 typedef struct {
95 	log_hdr_type hdr;
96 	uint8_t eventId;
97 	uint8_t channelSetting;
98 	struct qdf_mac_addr bssid;
99 	struct qdf_mac_addr peer_macaddr;
100 	uint8_t ssid[HOST_LOG_MAX_SSID_SIZE];
101 	uint8_t operatingChannel;
102 	uint8_t beaconInterval;
103 	uint8_t status;
104 	uint32_t op_freq;
105 } host_log_ibss_pkt_type;
106 
107 /*---------------------------------------------------------------------------
108    This packet contains the information related to 802.11D
109    LOG_WLAN_80211D_C                               0x1498
110    ---------------------------------------------------------------------------*/
111 typedef struct {
112 	log_hdr_type hdr;
113 	uint8_t eventId;
114 	uint8_t numChannel;
115 	uint8_t Channels[HOST_LOG_MAX_NUM_CHANNEL];
116 	uint8_t TxPwr[HOST_LOG_MAX_NUM_CHANNEL];
117 	uint8_t countryCode[3];
118 	uint8_t supportMultipleDomain;
119 } host_log_802_11d_pkt_type;
120 
121 /*---------------------------------------------------------------------------
122    This is a log packet which contains below handoff information:
123    - Current AP + RSSI (if already associated)
124    - Candidate AP + RSSI (before association and when the list is updated)
125    - For each BSSID in candidate list, provide RSSI, QoS and security compatibility
126    LOG_WLAN_HANDOFF_C                              0x1499
127    ---------------------------------------------------------------------------*/
128 typedef struct {
129 	uint8_t ssid[9];
130 	uint8_t bssid[HOST_LOG_MAX_BSSID_SIZE];
131 	uint8_t channel_id;
132 	uint32_t qos_score;
133 	uint32_t sec_score;
134 	uint32_t rssi_score;
135 	uint32_t overall_score;
136 	uint32_t tx_per;                /* represented as a %      */
137 	uint32_t rx_per;                /* represented as a %      */
138 
139 } host_log_ho_ap_info;
140 
141 typedef struct {
142 	log_hdr_type hdr;
143 	uint32_t num_aps;
144 	host_log_ho_ap_info current_ap_info;
145 	host_log_ho_ap_info
146 		candidate_ap_info[HOST_LOG_MAX_NUM_HO_CANDIDATE_APS];
147 } host_log_ho_pkt_type;
148 
149 /*---------------------------------------------------------------------------
150    This packet contains the information related to the EDCA parameters
151    advertised by the AP
152    LOG_WLAN_QOS_EDCA_C                             0x149A
153    ---------------------------------------------------------------------------*/
154 typedef struct {
155 	log_hdr_type hdr;
156 	uint8_t aci_be;
157 	uint8_t cw_be;
158 	uint16_t txoplimit_be;
159 	uint8_t aci_bk;
160 	uint8_t cw_bk;
161 	uint16_t txoplimit_bk;
162 	uint8_t aci_vi;
163 	uint8_t cw_vi;
164 	uint16_t txoplimit_vi;
165 	uint8_t aci_vo;
166 	uint8_t cw_vo;
167 	uint16_t txoplimit_vo;
168 } host_log_qos_edca_pkt_type;
169 
170 /*---------------------------------------------------------------------------
171    This packet contains the total number of beacon received value
172    LOG_WLAN_BEACON_UPDATE_C                        0x149B
173    ---------------------------------------------------------------------------*/
174 typedef struct {
175 	log_hdr_type hdr;
176 	uint32_t bcn_rx_cnt;
177 } host_log_beacon_update_pkt_type;
178 
179 /*---------------------------------------------------------------------------
180    This packet contains the information related to a WoW pattern value when set
181    LOG_WLAN_POWERSAVE_WOW_ADD_PTRN_C               0x149C
182    ---------------------------------------------------------------------------*/
183 typedef struct {
184 	log_hdr_type hdr;
185 	uint8_t pattern_id;
186 	uint8_t pattern_byte_offset;
187 	uint8_t pattern_size;
188 	uint8_t pattern[HOST_LOG_MAX_WOW_PTRN_SIZE];
189 	uint8_t pattern_mask_size;
190 	uint8_t pattern_mask[HOST_LOG_MAX_WOW_PTRN_MASK_SIZE];
191 } host_log_powersave_wow_add_ptrn_pkt_type;
192 
193 /*---------------------------------------------------------------------------
194    This packet contains the Tspec info negotiated with the AP for the
195    specific AC
196    LOG_WLAN_QOS_TSPEC_C                            0x14A2
197    ---------------------------------------------------------------------------*/
198 typedef struct {
199 	log_hdr_type hdr;
200 	uint8_t tsinfo[3];
201 	uint16_t nominal_msdu_size;
202 	uint16_t maximum_msdu_size;
203 	uint32_t min_service_interval;
204 	uint32_t max_service_interval;
205 	uint32_t inactivity_interval;
206 	uint32_t suspension_interval;
207 	uint32_t svc_start_time;
208 	uint32_t min_data_rate;
209 	uint32_t mean_data_rate;
210 	uint32_t peak_data_rate;
211 	uint32_t max_burst_size;
212 	uint32_t delay_bound;
213 	uint32_t min_phy_rate;
214 	uint16_t surplus_bw_allowance;
215 	uint16_t medium_time;
216 } host_log_qos_tspec_pkt_type;
217 
218 /*---------------------------------------------------------------------------
219    This packet contains data information when stall detected
220    LOG_TRSP_DATA_STALL_C                           0x1801
221    ---------------------------------------------------------------------------*/
222 
223 typedef struct {
224 	char channelName[4];
225 	uint32_t numDesc;
226 	uint32_t numFreeDesc;
227 	uint32_t numRsvdDesc;
228 	uint32_t headDescOrder;
229 	uint32_t tailDescOrder;
230 	uint32_t ctrlRegVal;
231 	uint32_t statRegVal;
232 	uint32_t numValDesc;
233 	uint32_t numInvalDesc;
234 } host_log_data_stall_channel_type;
235 
236 typedef struct {
237 	log_hdr_type hdr;
238 	uint32_t PowerState;
239 	uint32_t numFreeBd;
240 	host_log_data_stall_channel_type dxeChannelInfo[4];
241 } host_log_data_stall_type;
242 
243 /*---------------------------------------------------------------------------
244    This packet contains the rssi value from BSS descriptor
245    LOG_WLAN_RSSI_UPDATE_C                          0x1354
246    ---------------------------------------------------------------------------*/
247 typedef struct {
248 	log_hdr_type hdr;
249 	int8_t rssi;
250 } host_log_rssi_pkt_type;
251 
252 /**
253  * struct host_log_pktlog_info - Packet log info
254  * @log_hdr: Log header
255  * @buf_len: Length of the buffer that follows
256  * @buf:     Buffer containing the packet log info
257  *
258  * Structure containing the packet log information
259  * LOG_WLAN_PKT_LOG_INFO_C          0x18E0
260  */
261 struct host_log_pktlog_info {
262 	log_hdr_type log_hdr;
263 	uint32_t version;
264 	uint32_t seq_no;
265 	uint32_t buf_len;
266 	uint8_t buf[];
267 };
268 
269 /**
270  * struct host_log_cold_boot_cal_data_type - Cold boot cal log info
271  * @hdr: Log header
272  * @version: version
273  * @flags: Flag to indicate if more data follows
274  * @cb_cal_data_len: Length of the cal data
275  * @cb_cal_data: Cold boot cal data
276  *
277  * Structure containing the cold boot calibration data
278  * log information
279  * LOG_WLAN_COLD_BOOT_CAL_DATA_C          0x1A18
280  */
281 struct host_log_cold_boot_cal_data_type {
282 	log_hdr_type hdr;
283 	uint32_t version;
284 	uint32_t flags;
285 	uint32_t cb_cal_data_len;
286 	uint8_t cb_cal_data[HOST_LOG_MAX_COLD_BOOT_CAL_DATA_SIZE];
287 };
288 
289 #define WLAN_MAX_ROAM_CANDIDATE_AP      9
290 #define WLAN_MAX_ROAM_SCAN_CHAN         38
291 #define WLAN_MAX_SSID_SIZE              32
292 
293 /**
294  * host_log_wlan_mgmt_tx_rx_info: To capture TX/RX mgmt frames' payload
295  * @hdr: Log header
296  * @version: Version number of the payload
297  * @vdev_id: Vdev id
298  * @is_tx: 1 - TX frame, 0 - RX frame
299  * @mgmt_type: type of frames, value: enum wifi_frm_type
300  * @mgmt_subtype: subtype of mgmt frame, value: enum mgmt_frm_subtype
301  * @mgmt_frame_seq_num: Frame sequence number in 802.11 header
302  * @operating_freq: operating frequency of AP
303  * @ssid_len: length of SSID, max 32 bytes long as per standard
304  * @ssid: SSID of connected AP
305  * @self_mac_addr: mac address of self interface
306  * @bssid: BSSID for which frame is received
307  * @mac_failure_reason: Internal driver failure reason
308  * @mgmt_status_code: 802.11 management frame response status code from
309  * section 9.4.1.9 IEEE 802.11 - 2016
310  * @auth_algo: Authentication algorithm number
311  * @auth_transaction_num: Authentication transaction sequence number
312  * @is_retry: Is retry frame
313  * @rssi: RSSI for the received frame
314  * @origin: 1- Sent by host. 2- sent by firmware
315  */
316 struct host_log_wlan_mgmt_tx_rx_info {
317 	log_hdr_type hdr;
318 	uint8_t version;
319 	uint8_t vdev_id;
320 	bool is_tx;
321 	uint8_t mgmt_type;
322 	uint8_t mgmt_subtype;
323 	uint16_t mgmt_frame_seq_num;
324 	uint8_t operating_freq;
325 	uint8_t ssid_len;
326 	char ssid[WLAN_MAX_SSID_SIZE];
327 	uint8_t self_mac_addr[QDF_MAC_ADDR_SIZE];
328 	uint8_t bssid[QDF_MAC_ADDR_SIZE];
329 	uint16_t mac_failure_reason;
330 	uint16_t mgmt_status_code;
331 	uint8_t auth_algo;
332 	uint8_t auth_transaction_num;
333 	uint8_t is_retry;
334 	uint32_t rssi;
335 	uint8_t origin;
336 } qdf_packed;
337 
338 /**
339  * struct wlan_roam_btm_trigger_data - BTM roam trigger related information
340  * @btm_request_mode:      BTM request mode - solicited/unsolicited
341  * @disassoc_timer:        Number of TBTT before AP disassociates the STA in ms
342  * @validity_interval:     Preferred candidate list validity interval in ms
343  * @candidate_list_count:  Number of candidates in BTM request.
344  * @btm_resp_status:       Status code of the BTM response.
345  */
346 struct wlan_roam_btm_trigger_data {
347 	uint8_t btm_request_mode;
348 	uint32_t disassoc_timer;
349 	uint32_t validity_interval;
350 	uint16_t candidate_list_count;
351 	uint16_t btm_resp_status;
352 } qdf_packed;
353 
354 /**
355  * struct wlan_roam_cu_trigger_data - BSS Load roam trigger parameters
356  * @cu_load: Connected AP CU load percentage
357  */
358 struct wlan_roam_cu_trigger_data {
359 	uint16_t cu_load;
360 } qdf_packed;
361 
362 /**
363  * Struct wlan_roam_rssi_trigger_data - RSSI roam trigger related
364  * parameters
365  * @threshold: RSSI threshold value in dBm for LOW rssi roam trigger
366  */
367 struct wlan_roam_rssi_trigger_data {
368 	uint32_t threshold;
369 } qdf_packed;
370 
371 /**
372  * struct wlan_roam_deauth_trigger_data - Deauth roaming trigger related
373  * parameters
374  * @type:   1- Deauthentication 2- Disassociation
375  * @reason: Status code of the Deauth/Disassoc received
376  */
377 struct wlan_roam_deauth_trigger_data {
378 	uint8_t type;
379 	uint32_t reason;
380 } qdf_packed;
381 
382 /**
383  * struct host_log_wlan_roam_trigger_info - Roam trigger
384  * related info
385  * @hdr: Log header
386  * @version: Version number of the payload
387  * @vdev_id: Vdev id
388  * @trigger_reason: Roaming trigger reason
389  * @trigger_sub_reason: Roaming trigger sub reason
390  * @current_rssi:  Current connected AP RSSI
391  * @timestamp: Host driver timestamp in msecs
392  * @btm_trig_data: BTM trigger related data
393  * @cu_load_data: CU load trigger related data
394  * @rssi_trig_data: RSSI roam trigger related data
395  * @deauth_trig_data: Deauth Roam trigger related data
396  */
397 struct host_log_wlan_roam_trigger_info {
398 	log_hdr_type hdr;
399 	uint8_t version;
400 	uint8_t vdev_id;
401 	uint32_t trigger_reason;
402 	uint32_t trigger_sub_reason;
403 	uint32_t current_rssi;
404 	uint32_t timestamp;
405 	union {
406 		struct wlan_roam_btm_trigger_data btm_trig_data;
407 		struct wlan_roam_cu_trigger_data cu_load_data;
408 		struct wlan_roam_rssi_trigger_data rssi_trig_data;
409 		struct wlan_roam_deauth_trigger_data deauth_trig_data;
410 	};
411 } qdf_packed;
412 
413 /**
414  *  struct host_log_wlan_roam_candidate_info - Roam scan candidate APs related
415  *  info
416  *  @version:     Payload structure version
417  *  @timestamp:   Host timestamp in millisecs
418  *  @type:        0 - Candidate AP; 1 - Current connected AP.
419  *  @bssid:       AP bssid.
420  *  @freq:        Channel frquency
421  *  @cu_load:     Channel utilization load of the AP.
422  *  @cu_score:    Channel Utilization score.
423  *  @rssi:        Candidate AP rssi
424  *  @rssi_score:  AP RSSI score
425  *  @total_score: Total score of the candidate AP.
426  *  @etp:         Estimated throughput value of the AP in Mbps
427  */
428 struct host_log_wlan_roam_candidate_info {
429 	uint8_t version;
430 	uint32_t timestamp;
431 	uint8_t type;
432 	uint8_t bssid[QDF_MAC_ADDR_SIZE];
433 	uint16_t freq;
434 	uint32_t cu_load;
435 	uint32_t cu_score;
436 	uint32_t rssi;
437 	uint32_t rssi_score;
438 	uint32_t total_score;
439 	uint32_t etp;
440 } qdf_packed;
441 
442 /**
443  * struct host_log_wlan_roam_scan_data - Roam scan event details
444  * @hdr: Log header
445  * @version:   Version number of the diag log payload
446  * @vdev_id:   Vdev ID
447  * @type:      0 - Partial roam scan; 1 - Full roam scan
448  * @num_ap:    Number of candidate APs.
449  * @num_chan:  Number of channels.
450  * @timestamp: Time of day in milliseconds at which scan was triggered
451  * @trigger_reason: Roam scan trigger reason
452  * @next_rssi_threshold: Next roam can trigger rssi threshold
453  * @chan_freq: List of frequencies scanned as part of roam scan
454  * @ap: List of candidate AP info
455  */
456 struct host_log_wlan_roam_scan_data {
457 	log_hdr_type hdr;
458 	uint8_t version;
459 	uint8_t vdev_id;
460 	uint16_t type;
461 	uint8_t num_ap;
462 	uint8_t num_chan;
463 	uint32_t timestamp;
464 	uint32_t trigger_reason;
465 	uint32_t next_rssi_threshold;
466 	uint16_t chan_freq[WLAN_MAX_ROAM_SCAN_CHAN];
467 	struct host_log_wlan_roam_candidate_info ap[WLAN_MAX_ROAM_CANDIDATE_AP];
468 } qdf_packed;
469 
470 /**
471  * struct host_log_wlan_roam_result_info - Roam result related info.
472  * @hdr:                Log header
473  * @version:            Payload structure version
474  * @vdev_id:            Vdev Id
475  * @status:             0 - Roaming is success ; 1 - Roaming failed
476  * @timestamp:          Host timestamp in millisecs
477  * @fail_reason:        One of WMI_ROAM_FAIL_REASON_ID
478  */
479 struct host_log_wlan_roam_result_info {
480 	log_hdr_type hdr;
481 	uint8_t version;
482 	uint8_t vdev_id;
483 	bool status;
484 	uint32_t timestamp;
485 	uint32_t fail_reason;
486 } qdf_packed;
487 
488 /**
489  * struct wlan_rrm_beacon_report - RRM beacon report related
490  * parameters
491  * @req_bssid: beacon report requestor BSSID
492  * @req_ssid: Requested SSID for beacon report
493  * @is_wildcard_bssid: Is the BSSID FF:FF:FF:FF:FF:FF
494  * @req_reg_class: Regulatory class mentioned in the request
495  * @req_measurement_mode: Measurement mode. Active/Passive/Beacon report Table
496  * @req_measurement_duration: Measurement duration requested.
497  * @num_reports_in_frame: Number of BSS scanned
498  * @is_last_frame_in_req: True if this frame is the last frame sent for the
499  * request
500  */
501 struct wlan_rrm_beacon_report {
502 	uint8_t req_bssid[QDF_MAC_ADDR_SIZE];
503 	uint8_t req_ssid[WLAN_MAX_SSID_SIZE];
504 	bool is_wildcard_bssid;
505 	uint8_t req_reg_class;
506 	uint16_t req_measurement_mode;
507 	uint16_t req_measurement_duration;
508 	uint8_t num_reports_in_frame;
509 	bool is_last_frame_in_req;
510 } qdf_packed;
511 
512 /**
513  * struct host_log_wlan_rrm_tx_rx_info - RRM frame related details
514  * @hdr:     Log header
515  * @version: Version of the payload structure
516  * @vdev_id: Vdev id
517  * @origin:   Sent by host or firmware
518  * @is_tx:   Is Tx frame or RX frame
519  * @roam_result: Roaming result
520  * @timestamp: Time of the day in milliseconds
521  * @mgmt_frame_seq_num: Frame sequence number
522  * @received_chan_freq: Frame received channel frequency
523  * @action_category: Action frame category
524  * @rrm_action_code: Radio measurement/Noise measurement
525  * @radio_measurement_type: Neighbor report/Beacon report
526  * @bssid: BSSID field in frame
527  * @req_num_freq: Number of frequencies provided in request
528  * @req_freq: Frequencies requested
529  * @fail_reason_code: response TX failure status code
530  * @rssi: Rx frame rssi
531  * @bcn_rpt: Beacon report related parameters
532  */
533 struct host_log_wlan_rrm_tx_rx_info {
534 	log_hdr_type hdr;
535 	uint8_t version;
536 	uint8_t vdev_id;
537 	uint8_t origin;
538 	bool is_tx;
539 	bool roam_result;
540 	uint32_t timestamp;
541 	uint16_t mgmt_frame_seq_num;
542 	uint16_t received_chan_freq;
543 	uint8_t action_category;
544 	uint8_t rrm_action_code;
545 	uint8_t radio_measurement_type;
546 	uint8_t bssid[QDF_MAC_ADDR_SIZE];
547 	uint8_t req_num_freq;
548 	uint16_t req_freq[WLAN_MAX_ROAM_SCAN_CHAN];
549 	uint8_t fail_reason_code;
550 	uint32_t rssi;
551 	struct wlan_rrm_beacon_report bcn_rpt;
552 } qdf_packed;
553 
554 /**
555  * struct host_event_proto_pkt_info - DP protocol pkt info
556  * @hdr: Log header
557  * @version: version
558  * @type: data pkt type
559  * @subtype: data pkt subtype
560  * @dir: tx or rx
561  * @sa: source MAC address
562  * @da: destination MAC address
563  * @msdu_id: MSDU id
564  * @status: status
565  *
566  * Structure containing the protocol data pkt info
567  *
568  * LOG_WLAN_DP_PROTO_PKT_INFO_C          0x1A1E
569  */
570 struct host_event_proto_pkt_info {
571 	log_hdr_type hdr;
572 	uint32_t version;
573 	uint8_t type;
574 	uint8_t subtype;
575 	uint8_t dir;
576 	uint8_t sa[QDF_MAC_ADDR_SIZE];
577 	uint8_t da[QDF_MAC_ADDR_SIZE];
578 	uint16_t msdu_id;
579 	uint8_t status;
580 };
581 
582 /*-------------------------------------------------------------------------
583    Function declarations and documentation
584    ------------------------------------------------------------------------*/
585 
586 #ifdef __cplusplus
587 }
588 #endif /* __cplusplus */
589 #endif /* __HOST_DIAG_CORE_LOG_H */
590