Wireshark  4.3.0
The Wireshark network protocol analyzer
blf.h
Go to the documentation of this file.
1 
11  /*
12  * The following was used as a reference for the file format:
13  * https://bitbucket.org/tobylorenz/vector_blf
14  * The repo above includes multiple examples files as well.
15  */
16 
17 #ifndef __W_BLF_H__
18 #define __W_BLF_H__
19 
20 #include "wtap.h"
21 #include <epan/value_string.h>
22 
23 wtap_open_return_val blf_open(wtap *wth, int *err, char **err_info);
24 
25 /*
26  * A BLF file is of the form:
27  *
28  * BLF File Header
29  * Sequence of BLF objects
30  *
31  * A BLF object is of the form:
32  *
33  * BLF Block Header
34  * Object header (object type dependent, may be empty)
35  * Object contents
36  *
37  * The objects in the sequence appear to be LOG_CONTAINER objects,
38  * each of which contains a sequence of objects.
39  *
40  * A LOG_CONTAINER object's contents are of the form:
41  *
42  * Log container header
43  * Sequence of BLF objects
44  *
45  * The contents of the container may be compressed using zlib.
46  */
47 
48 #define BLF_HEADER_TYPE_DEFAULT 1
49 #define BLF_HEADER_TYPE_2 2
50 #define BLF_HEADER_TYPE_3 3
51 
52 
53 #define BLF_COMPRESSION_NONE 0
54 #define BLF_COMPRESSION_ZLIB 2
55 
56 #define BLF_TIMESTAMP_RESOLUTION_10US 1
57 #define BLF_TIMESTAMP_RESOLUTION_1NS 2
58 
59 typedef struct blf_date {
60  uint16_t year;
61  uint16_t month;
62  uint16_t dayofweek;
63  uint16_t day;
64  uint16_t hour;
65  uint16_t mins;
66  uint16_t sec;
67  uint16_t ms;
68 } blf_date_t;
69 
70 /* BLF File Header */
71 typedef struct blf_fileheader {
72  uint8_t magic[4]; /* magic number - "LOGG" */
73  uint32_t header_length; /* length of the file header */
74 
75  uint8_t applications[4];
76  uint8_t api[4];
77 
78  uint64_t len_compressed; /* size of the file before uncompressing */
79  uint64_t len_uncompressed;
80 
81  uint32_t obj_count; /* number of objects in the file */
82  uint32_t obj_read;
83 
84  blf_date_t start_date;
85  blf_date_t end_date;
86 
87  uint32_t length3;
89 
90 /* BLF Block Header */
91 typedef struct blf_blockheader {
92  uint8_t magic[4]; /* magic number = "LOBJ" */
93  uint16_t header_length; /* length of header starting with magic */
94  uint16_t header_type; /* header format ? */
95  uint32_t object_length; /* complete length including header */
96  uint32_t object_type;
98 
99 typedef struct blf_logcontainerheader {
100  uint16_t compression_method; /* 0 uncompressed, 2 zlib */
101  uint16_t res1;
102  uint32_t res2;
103  uint32_t uncompressed_size;
104  uint32_t res4;
106 
107 typedef struct blf_logobjectheader {
108  uint32_t flags;
109  uint16_t client_index;
110  uint16_t object_version;
111  uint64_t object_timestamp;
113 
114 #define BLF_TS_STATUS_ORIG_TS_VALID 0x01
115 #define BLF_TS_STATUS_SW_TS 0x02
116 #define BLF_TS_STATUS_PROTO_SPECIFIC 0x10
117 
118 typedef struct blf_logobjectheader2 {
119  uint32_t flags;
120  uint8_t timestamp_status;
121  uint8_t res1;
122  uint16_t object_version;
123  uint64_t object_timestamp;
124  uint64_t original_timestamp;
126 
127 typedef struct blf_logobjectheader3 {
128  uint32_t flags;
129  uint16_t static_size;
130  uint16_t object_version;
131  uint64_t object_timestamp;
133 
134 
135 #define BLF_DIR_RX 0
136 #define BLF_DIR_TX 1
137 #define BLF_DIR_TX_RQ 2
138 
139 typedef struct blf_ethernetframeheader {
140  uint8_t src_addr[6];
141  uint16_t channel;
142  uint8_t dst_addr[6];
143  uint16_t direction;
144  uint16_t ethtype;
145  uint16_t tpid;
146  uint16_t tci;
147  uint16_t payloadlength;
148  uint64_t res;
150 
152  uint16_t struct_length;
153  uint16_t flags;
154  uint16_t channel;
155  uint16_t hw_channel;
156  uint64_t frame_duration;
157  uint32_t frame_checksum;
158  uint16_t direction;
159  uint16_t frame_length;
160  uint32_t frame_handle;
161  uint32_t error;
163 
164 typedef struct blf_wlanframeheader {
165  uint16_t channel;
166  uint16_t flags;
167  uint8_t direction;
168  uint8_t radio_channel;
169  uint16_t signal_strength;
170  uint16_t signal_quality;
171  uint16_t frame_length;
172  uint32_t res;
174 
175 /* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/CanMessage.h */
176 
177 /* shared for CAN message and CAN message2 and CANFD message */
178 #define BLF_CANMESSAGE_FLAG_TX 0x01
179 #define BLF_CANMESSAGE_FLAG_NERR 0x20
180 #define BLF_CANMESSAGE_FLAG_WU 0x40
181 #define BLF_CANMESSAGE_FLAG_RTR 0x80
182 
183 /* shared for CAN message and CAN message2*/
184 typedef struct blf_canmessage {
185  uint16_t channel;
186  uint8_t flags;
187  uint8_t dlc;
188  uint32_t id;
190 
191 
192 /* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/CanMessage2.h */
193 
194 typedef struct blf_canmessage2_trailer {
195  uint32_t frameLength_in_ns;
196  uint8_t bitCount;
197  uint8_t reserved1;
198  uint16_t reserved2;
200 
201 
202 /* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/CanFdMessage.h */
203 
204 /* EDL 0: CAN, 1: CAN-FD*/
205 #define BLF_CANFDMESSAGE_CANFDFLAG_EDL 0x01
206 #define BLF_CANFDMESSAGE_CANFDFLAG_BRS 0x02
207 #define BLF_CANFDMESSAGE_CANFDFLAG_ESI 0x04
208 
209 typedef struct blf_canfdmessage {
210  uint16_t channel;
211  uint8_t flags;
212  uint8_t dlc;
213  uint32_t id;
214  uint32_t frameLength_in_ns;
215  uint8_t arbitration_bit_count;
216  uint8_t canfdflags;
217  uint8_t validDataBytes;
218  uint8_t reservedCanFdMessage1;
219  uint32_t reservedCanFdMessage2;
220  /* DATA */
221  /* uint32_t reservedCanFdMessage3 */
223 
224 
225 /* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/CanFdMessage64.h */
226 
227 #define BLF_CANFDMESSAGE64_FLAG_NERR 0x000004
228 #define BLF_CANFDMESSAGE64_FLAG_HIGH_VOLT_WAKE_UP 0x000008
229 #define BLF_CANFDMESSAGE64_FLAG_REMOTE_FRAME 0x000010
230 #define BLF_CANFDMESSAGE64_FLAG_TX_ACK 0x000040
231 #define BLF_CANFDMESSAGE64_FLAG_TX_REQ 0x000080
232 #define BLF_CANFDMESSAGE64_FLAG_SRR 0x000200
233 #define BLF_CANFDMESSAGE64_FLAG_R0 0x000400
234 #define BLF_CANFDMESSAGE64_FLAG_R1 0x000800
235 /* EDL 0: CAN, 1: CAN-FD*/
236 #define BLF_CANFDMESSAGE64_FLAG_EDL 0x001000
237 #define BLF_CANFDMESSAGE64_FLAG_BRS 0x002000
238 #define BLF_CANFDMESSAGE64_FLAG_ESI 0x004000
239 #define BLF_CANFDMESSAGE64_FLAG_BURST 0x200000
240 
241 typedef struct blf_canfdmessage64 {
242  uint8_t channel;
243  uint8_t dlc;
244  uint8_t validDataBytes;
245  uint8_t txCount;
246  uint32_t id;
247  uint32_t frameLength_in_ns;
248  uint32_t flags;
249  uint32_t btrCfgArb;
250  uint32_t btrCfgData;
251  uint32_t timeOffsetBrsNs;
252  uint32_t timeOffsetCrcDelNs;
253  uint16_t bitCount;
254  uint8_t dir;
255  uint8_t extDataOffset;
256  uint32_t crc;
258 
259 
260 /* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/CanErrorFrame.h */
261 
262 typedef struct blf_canerror {
263  uint16_t channel;
264  uint16_t length;
266 
267 
268 /* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/CanErrorFrameExt.h */
269 
270 #define BLF_CANERROREXT_FLAG_SJA 0x01
271 #define BLF_CANERROREXT_FLAG_CANCORE 0x02
272 #define BLF_CANERROREXT_EXTECC_TX 0x1000
273 #define BLF_CANERROREXT_EXTECC_NOT_ACK 0x2000
274 #define BLF_CANERROREXT_ECC_MEANING_BIT_ERROR 0x0
275 #define BLF_CANERROREXT_ECC_MEANING_FORM_ERROR 0x1
276 #define BLF_CANERROREXT_ECC_MEANING_STUFF_ERROR 0x2
277 #define BLF_CANERROREXT_ECC_MEANING_OTHER_ERROR 0x3
278 #define BLF_CANERROREXT_ECC_MEANING_CRC_ERROR 0x4
279 #define BLF_CANERROREXT_ECC_MEANING_ACKDEL_ERROR 0x5
280 #define BLF_CANERROREXT_ECC_MEANING_OTHER_ERROR2 0x6
281 #define BLF_CANERROREXT_ECC_MEANING_NACK_ERROR 0x7
282 #define BLF_CANERROREXT_ECC_MEANING_OVERLOAD 0x8
283 #define BLF_CANERROREXT_ECC_FDF_BIT_ERROR 0x9
284 
285 typedef struct blf_canerrorext {
286  uint16_t channel;
287  uint16_t length;
288  uint32_t flags;
289  uint8_t ecc;
290  uint8_t position;
291  uint8_t dlc;
292  uint8_t reserved1;
293  uint32_t frameLength_in_ns;
294  uint32_t id;
295  uint16_t errorCodeExt;
296  uint16_t reserved2;
298 
299 
300 /* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/CanFdErrorFrame64.h */
301 
302 #define BLF_CANERROR64_FLAG_FDF 0x01
303 #define BLF_CANERROR65_FLAG_BRS 0x02
304 #define BLF_CANERROR65_FLAG_ESI 0x04
305 
306 typedef struct blf_canfderror64 {
307  uint8_t channel;
308  uint8_t dlc;
309  uint8_t validDataBytes;
310  uint8_t ecc;
311  uint16_t flags;
312  uint16_t errorCodeExt;
313  uint16_t extFlags;
314  uint8_t extDataOffset;
315  uint8_t reserved1;
316  uint32_t id;
317  uint32_t frameLength_in_ns;
318  uint32_t btrCfgArb;
319  uint32_t btrCfgData;
320  uint32_t timeOffsetBrsNs;
321  uint32_t timeOffsetCrcDelNs;
322  uint32_t crc;
323  uint16_t errorPosition;
324  uint16_t reserved2;
326 
327 
328 /* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/FlexRayData.h */
329 
330 #define BLF_FLEXRAYDATA_FRAME 0x01
331 #define BLF_FLEXRAYDATA_CHANNEL_B 0x80
332 
333 typedef struct blf_flexraydata {
334  uint16_t channel;
335  uint8_t mux;
336  uint8_t len;
337  uint16_t messageId;
338  uint16_t crc;
339  uint8_t dir;
340  uint8_t reservedFlexRayData1;
341  uint16_t reservedFlexRayData2;
343 
344 
345 /* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/FlexRayV6Message.h */
346 
347 #define BLF_FLEXRAYMESSAGE_DIR_RX 0x01
348 #define BLF_FLEXRAYMESSAGE_DIR_TX 0x02
349 #define BLF_FLEXRAYMESSAGE_DIR_TX_REQ 0x04
350 
351 #define BLF_FLEXRAYMESSAGE_STATE_PPI 0x01
352 #define BLF_FLEXRAYMESSAGE_STATE_SFI 0x02
353 #define BLF_FLEXRAYMESSAGE_STATE_RES_BIT2 0x04
354 #define BLF_FLEXRAYMESSAGE_STATE_NFI 0x08
355 #define BLF_FLEXRAYMESSAGE_STATE_STFI 0x10
356 #define BLF_FLEXRAYMESSAGE_STATE_FORMAT 0xe0
357 
358 #define BLF_FLEXRAYMESSAGE_HEADER_BIT_NM 0x01
359 #define BLF_FLEXRAYMESSAGE_HEADER_BIT_SYNC 0x02
360 #define BLF_FLEXRAYMESSAGE_HEADER_BIT_RES 0x04
361 
362 #define BLF_DLT_FLEXRAY_STFI 0x08
363 #define BLF_DLT_FLEXRAY_SFI 0x10
364 #define BLF_DLT_FLEXRAY_NFI 0x20
365 #define BLF_DLT_FLEXRAY_PPI 0x40
366 
367 typedef struct blf_flexraymessage {
368  uint16_t channel;
369  uint8_t dir; /* Flags: 0 RX, 1 TX, 2 TX Req, 3 internal, 4 internal*/
370  uint8_t lowTime;
371  uint32_t fpgaTick;
372  uint32_t fpgaTickOverflow;
373  uint32_t clientIndexFlexRayV6Message;
374  uint32_t clusterTime;
375  uint16_t frameId;
376  uint16_t headerCrc;
377  uint16_t frameState;
378  uint8_t length;
379  uint8_t cycle;
380  uint8_t headerBitMask;
381  uint8_t reservedFlexRayV6Message1;
382  uint16_t reservedFlexRayV6Message2;
384 
385 
386 /* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/FlexRayVFrReceiveMsg.h */
387 
388 #define BLF_FLEXRAYRCVMSG_DIR_RX 0x01
389 #define BLF_FLEXRAYRCVMSG_DIR_TX 0x02
390 #define BLF_FLEXRAYRCVMSG_DIR_TX_REQ 0x04
391 
392 #define BLF_FLEXRAYRCVMSG_CHANNELMASK_RES 0x00
393 #define BLF_FLEXRAYRCVMSG_CHANNELMASK_A 0x01
394 #define BLF_FLEXRAYRCVMSG_CHANNELMASK_B 0x02
395 #define BLF_FLEXRAYRCVMSG_CHANNELMASK_AB 0x03
396 
397 #define BLF_FLEXRAYRCVMSG_FRAME_FLAG_NULL_FRAME 0x00000001
398 #define BLF_FLEXRAYRCVMSG_FRAME_FLAG_VALID_DATA 0x00000002
399 #define BLF_FLEXRAYRCVMSG_FRAME_FLAG_SYNC 0x00000004
400 #define BLF_FLEXRAYRCVMSG_FRAME_FLAG_STARTUP 0x00000008
401 #define BLF_FLEXRAYRCVMSG_FRAME_FLAG_PAYLOAD_PREAM 0x00000010
402 #define BLF_FLEXRAYRCVMSG_FRAME_FLAG_RES_20 0x00000020
403 #define BLF_FLEXRAYRCVMSG_FRAME_FLAG_ERROR 0x00000040
404 #define BLF_FLEXRAYRCVMSG_FRAME_FLAG_RES_80 0x00000080
405 
406 typedef struct blf_flexrayrcvmessage {
407  uint16_t channel;
408  uint16_t version;
409  uint16_t channelMask; /* 0 res, 1 A, 2 B, 3 A+B */
410  uint16_t dir; /* 0 RX, 1 TX, 2 TX Req, 3 internal, 4 internal*/ /* high byte reserved! */
411  uint32_t clientIndex;
412  uint32_t clusterNo;
413  uint16_t frameId;
414  uint16_t headerCrc1;
415  uint16_t headerCrc2;
416  uint16_t payloadLength;
417  uint16_t payloadLengthValid;
418  uint16_t cycle; /* high byte reserved! */
419  uint32_t tag;
420  uint32_t data;
421  uint32_t frameFlags;
422  uint32_t appParameter;
423  /* if ext, skip 40 bytes */
424  /* payload bytes */
425  /* uint16_t res3 */
426  /* uint32_t res4 */
428 
429 
430 /* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/FlexRayVFrReceiveMsgEx.h */
431 
432 /* defines see above BLF_FLEXRAYRCVMSG_* */
433 
434 typedef struct blf_flexrayrcvmessageex {
435  uint16_t channel;
436  uint16_t version;
437  uint16_t channelMask; /* 0 res, 1 A, 2 B, 3 A+B */
438  uint16_t dir; /* 0 RX, 1 TX, 2 TX Req, 3 internal, 4 internal*/
439  uint32_t clientIndex;
440  uint32_t clusterNo;
441  uint16_t frameId;
442  uint16_t headerCrc1;
443  uint16_t headerCrc2;
444  uint16_t payloadLength;
445  uint16_t payloadLengthValid;
446  uint16_t cycle;
447  uint32_t tag;
448  uint32_t data;
449  uint32_t frameFlags;
450  uint32_t appParameter;
451  uint32_t frameCRC;
452  uint32_t frameLengthInNs;
453  uint16_t frameId1;
454  uint16_t pduOffset;
455  uint16_t blfLogMask;
456  uint16_t res1;
457  uint32_t res2;
458  uint32_t res3;
459  uint32_t res4;
460  uint32_t res5;
461  uint32_t res6;
462  uint32_t res7;
463  /* payload bytes */
465 
466 
467 /* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/LinMessage.h */
468 
469 typedef struct blf_linmessage {
470  uint16_t channel;
471  uint8_t id;
472  uint8_t dlc;
473  uint8_t data[8];
474  uint8_t fsmId;
475  uint8_t fsmState;
476  uint8_t headerTime;
477  uint8_t fullTime;
478  uint16_t crc;
479  uint8_t dir; /* 0 RX, 1 TX Receipt, 2 TX Req */
480  uint8_t res1;
481 /* This field is optional and skipping does not hurt us.
482  uint32_t res2;
483 */
485 
486 typedef struct blf_linsenderror {
487  uint16_t channel;
488  uint8_t id;
489  uint8_t dlc;
490  uint8_t fsmId;
491  uint8_t fsmState;
492  uint8_t headerTime;
493  uint8_t fullTime;
495 
496 typedef struct blf_linbusevent {
497  uint64_t sof;
498  uint32_t eventBaudrate;
499  uint16_t channel;
500  uint8_t res1[2];
502 
503 typedef struct blf_linsynchfieldevent {
504  blf_linbusevent_t linBusEvent;
505  uint64_t synchBreakLength;
506  uint64_t synchDelLength;
508 
509 typedef struct blf_linmessagedescriptor {
510  blf_linsynchfieldevent_t linSynchFieldEvent;
511  uint16_t supplierId; /* LIN 2.0 or higher */
512  uint16_t messageId; /* LIN 2.0: message identifier, LIN 2.1: position index as specified in LDF */
513  uint8_t configuredNodeAddress; /* LIN 2.0 or higher */
514  uint8_t id;
515  uint8_t dlc;
516  uint8_t checksumModel;
518 
520  blf_linmessagedescriptor_t linMessageDescriptor;
521  uint64_t databyteTimestamps[9]; /* Byte 0: Timestamp of last header byte, Bytes 1-9: Timestamps of data bytes 1-8 */
523 
524 typedef struct blf_linmessage2 {
525  blf_lindatabytetimestampevent_t linDataByteTimestampEvent;
526  uint8_t data[8];
527  uint16_t crc;
528  uint8_t dir; /* 0 RX, 1 TX Receipt, 2 TX Req */
529  uint8_t simulated; /* 0 Real frame, 1 Simulated frame */
530  uint8_t isEtf; /* 0 Not event triggered frame, 1 Event triggered frame */
531  uint8_t eftAssocIndex;
532  uint8_t eftAssocEftId;
533  uint8_t fsmId; /* Obsolete */
534  uint8_t fsmState; /* Obsolete */
535  uint8_t res1[3];
536 /* These fields are optional and skipping does not hurt us.
537  uint32_t respBaudrate;
538  double exactHeaderBaudrate;
539  uint32_t earlyStopBitOffset;
540  uint32_t earlyStopBitOffsetResponse;
541 */
543 
544 typedef struct blf_lincrcerror2 {
545  blf_lindatabytetimestampevent_t linDataByteTimestampEvent;
546  uint8_t data[8];
547  uint16_t crc;
548  uint8_t dir; /* 0 RX, 1 TX Receipt, 2 TX Req */
549  uint8_t fsmId; /* Obsolete */
550  uint8_t fsmState; /* Obsolete */
551  uint8_t simulated; /* 0 Real frame, 1 Simulated frame */
552  uint8_t res1[2];
553 /* These fields are optional and skipping does not hurt us.
554  uint32_t respBaudrate;
555  uint8_t res2[4];
556  double exactHeaderBaudrate;
557  uint32_t earlyStopBitOffset;
558  uint32_t earlyStopBitOffsetResponse;
559 */
561 
562 typedef struct blf_linsenderror2 {
563  blf_linmessagedescriptor_t linMessageDescriptor;
564  uint64_t eoh;
565  uint8_t isEtf;
566  uint8_t fsmId; /* Obsolete */
567  uint8_t fsmState; /* Obsolete */
568  uint8_t res1;
569 /* These fields are optional and skipping does not hurt us.
570  uint8_t res2[4];
571  double exactHeaderBaudrate;
572  uint32_t earlyStopBitOffset;
573 */
575 
576 
577 /* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/AppText.h */
578 
579 typedef struct blf_apptext {
580  uint32_t source;
581  uint32_t reservedAppText1;
582  uint32_t textLength;
583  uint32_t reservedAppText2;
584 } blf_apptext_t;
585 
586 #define BLF_APPTEXT_COMMENT 0x00000000
587 #define BLF_APPTEXT_CHANNEL 0x00000001
588 #define BLF_APPTEXT_METADATA 0x00000002
589 #define BLF_APPTEXT_ATTACHMENT 0x00000003
590 #define BLF_APPTEXT_TRACELINE 0x00000004
591 #define BLF_APPTEXT_CONT 0x000000FE
592 #define BLF_APPTEXT_FAILED 0x000000FF
593 
594 #define BLF_APPTEXT_XML_GENERAL 0x01
595 #define BLF_APPTEXT_XML_CHANNELS 0x02
596 #define BLF_APPTEXT_XML_IDENTITY 0x03
597 
598 #define BLF_BUSTYPE_CAN 1
599 #define BLF_BUSTYPE_LIN 5
600 #define BLF_BUSTYPE_MOST 6
601 #define BLF_BUSTYPE_FLEXRAY 7
602 #define BLF_BUSTYPE_J1708 9
603 #define BLF_BUSTYPE_ETHERNET 11
604 #define BLF_BUSTYPE_WLAN 13
605 #define BLF_BUSTYPE_AFDX 14
606 
607 /* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/EthernetStatus.h */
608 typedef struct blf_ethernet_status {
609  uint16_t channel;
610  uint16_t flags;
611  uint8_t linkStatus;
612  uint8_t ethernetPhy;
613  uint8_t duplex;
614  uint8_t mdi;
615  uint8_t connector;
616  uint8_t clockMode;
617  uint8_t pairs;
618  uint8_t hardwareChannel;
619  uint32_t bitrate;
620 /* Starting from version 1
621  uint64_t linkUpDuration; // In nanoseconds
622 */
624 
625 typedef struct blf_ethernet_phystate {
626  uint16_t channel;
627  uint16_t flags;
628  uint8_t phyState;
629  uint8_t phyEvent;
630  uint8_t hardwareChannel;
631  uint8_t res1;
633 
634 
635 /* see https://bitbucket.org/tobylorenz/vector_blf/src/master/src/Vector/BLF/ObjectHeaderBase.h */
636 
637 #define BLF_OBJTYPE_UNKNOWN 0
638 #define BLF_OBJTYPE_CAN_MESSAGE 1
639 #define BLF_OBJTYPE_CAN_ERROR 2
640 #define BLF_OBJTYPE_CAN_OVERLOAD 3
641 #define BLF_OBJTYPE_CAN_STATISTIC 4
642 #define BLF_OBJTYPE_APP_TRIGGER 5
643 #define BLF_OBJTYPE_ENV_INTEGER 6
644 #define BLF_OBJTYPE_ENV_DOUBLE 7
645 #define BLF_OBJTYPE_ENV_STRING 8
646 #define BLF_OBJTYPE_ENV_DATA 9
647 #define BLF_OBJTYPE_LOG_CONTAINER 10
648 #define BLF_OBJTYPE_LIN_MESSAGE 11
649 #define BLF_OBJTYPE_LIN_CRC_ERROR 12
650 #define BLF_OBJTYPE_LIN_DLC_INFO 13
651 #define BLF_OBJTYPE_LIN_RCV_ERROR 14
652 #define BLF_OBJTYPE_LIN_SND_ERROR 15
653 #define BLF_OBJTYPE_LIN_SLV_TIMEOUT 16
654 #define BLF_OBJTYPE_LIN_SCHED_MODCH 17
655 #define BLF_OBJTYPE_LIN_SYN_ERROR 18
656 #define BLF_OBJTYPE_LIN_BAUDRATE 19
657 #define BLF_OBJTYPE_LIN_SLEEP 20
658 #define BLF_OBJTYPE_LIN_WAKEUP 21
659 #define BLF_OBJTYPE_MOST_SPY 22
660 #define BLF_OBJTYPE_MOST_CTRL 23
661 #define BLF_OBJTYPE_MOST_LIGHTLOCK 24
662 #define BLF_OBJTYPE_MOST_STATISTIC 25
663 #define BLF_OBJTYPE_FLEXRAY_DATA 29
664 #define BLF_OBJTYPE_FLEXRAY_SYNC 30
665 #define BLF_OBJTYPE_CAN_DRIVER_ERROR 31
666 #define BLF_OBJTYPE_MOST_PKT 32
667 #define BLF_OBJTYPE_MOST_PKT2 33
668 #define BLF_OBJTYPE_MOST_HWMODE 34
669 #define BLF_OBJTYPE_MOST_REG 35
670 #define BLF_OBJTYPE_MOST_GENREG 36
671 #define BLF_OBJTYPE_MOST_NETSTATE 37
672 #define BLF_OBJTYPE_MOST_DATALOST 38
673 #define BLF_OBJTYPE_MOST_TRIGGER 39
674 #define BLF_OBJTYPE_FLEXRAY_CYCLE 40
675 #define BLF_OBJTYPE_FLEXRAY_MESSAGE 41
676 #define BLF_OBJTYPE_LIN_CHECKSUM_INFO 42
677 #define BLF_OBJTYPE_LIN_SPIKE_EVENT 43
678 #define BLF_OBJTYPE_CAN_DRIVER_SYNC 44
679 #define BLF_OBJTYPE_FLEXRAY_STATUS 45
680 #define BLF_OBJTYPE_GPS_EVENT 46
681 #define BLF_OBJTYPE_FLEXRAY_ERROR 47
682 #define BLF_OBJTYPE_FLEXRAY_STATUS2 48
683 #define BLF_OBJTYPE_FLEXRAY_STARTCYCLE 49
684 #define BLF_OBJTYPE_FLEXRAY_RCVMESSAGE 50
685 #define BLF_OBJTYPE_REALTIMECLOCK 51
686 #define BLF_OBJTYPE_LIN_STATISTIC 54
687 #define BLF_OBJTYPE_J1708_MESSAGE 55
688 #define BLF_OBJTYPE_J1708_VIRTUAL_MSG 56
689 #define BLF_OBJTYPE_LIN_MESSAGE2 57
690 #define BLF_OBJTYPE_LIN_SND_ERROR2 58
691 #define BLF_OBJTYPE_LIN_SYN_ERROR2 59
692 #define BLF_OBJTYPE_LIN_CRC_ERROR2 60
693 #define BLF_OBJTYPE_LIN_RCV_ERROR2 61
694 #define BLF_OBJTYPE_LIN_WAKEUP2 62
695 #define BLF_OBJTYPE_LIN_SPIKE_EVENT2 63
696 #define BLF_OBJTYPE_LIN_LONG_DOM_SIG 64
697 #define BLF_OBJTYPE_APP_TEXT 65
698 #define BLF_OBJTYPE_FLEXRAY_RCVMESSAGE_EX 66
699 #define BLF_OBJTYPE_MOST_STATISTICEX 67
700 #define BLF_OBJTYPE_MOST_TXLIGHT 68
701 #define BLF_OBJTYPE_MOST_ALLOCTAB 69
702 #define BLF_OBJTYPE_MOST_STRESS 70
703 #define BLF_OBJTYPE_ETHERNET_FRAME 71
704 #define BLF_OBJTYPE_SYS_VARIABLE 72
705 #define BLF_OBJTYPE_CAN_ERROR_EXT 73
706 #define BLF_OBJTYPE_CAN_DRIVER_ERROR_EXT 74
707 #define BLF_OBJTYPE_LIN_LONG_DOM_SIG2 75
708 #define BLF_OBJTYPE_MOST_150_MESSAGE 76
709 #define BLF_OBJTYPE_MOST_150_PKT 77
710 #define BLF_OBJTYPE_MOST_ETHERNET_PKT 78
711 #define BLF_OBJTYPE_MOST_150_MESSAGE_FRAGMENT 79
712 #define BLF_OBJTYPE_MOST_150_PKT_FRAGMENT 80
713 #define BLF_OBJTYPE_MOST_ETHERNET_PKT_FRAGMENT 81
714 #define BLF_OBJTYPE_MOST_SYSTEM_EVENT 82
715 #define BLF_OBJTYPE_MOST_150_ALLOCTAB 83
716 #define BLF_OBJTYPE_MOST_50_MESSAGE 84
717 #define BLF_OBJTYPE_MOST_50_PKT 85
718 #define BLF_OBJTYPE_CAN_MESSAGE2 86
719 #define BLF_OBJTYPE_LIN_UNEXPECTED_WAKEUP 87
720 #define BLF_OBJTYPE_LIN_SHORT_OR_SLOW_RESPONSE 88
721 #define BLF_OBJTYPE_LIN_DISTURBANCE_EVENT 89
722 #define BLF_OBJTYPE_SERIAL_EVENT 90
723 #define BLF_OBJTYPE_OVERRUN_ERROR 91
724 #define BLF_OBJTYPE_EVENT_COMMENT 92
725 #define BLF_OBJTYPE_WLAN_FRAME 93
726 #define BLF_OBJTYPE_WLAN_STATISTIC 94
727 #define BLF_OBJTYPE_MOST_ECL 95
728 #define BLF_OBJTYPE_GLOBAL_MARKER 96
729 #define BLF_OBJTYPE_AFDX_FRAME 97
730 #define BLF_OBJTYPE_AFDX_STATISTIC 98
731 #define BLF_OBJTYPE_KLINE_STATUSEVENT 99
732 #define BLF_OBJTYPE_CAN_FD_MESSAGE 100
733 #define BLF_OBJTYPE_CAN_FD_MESSAGE_64 101
734 #define BLF_OBJTYPE_ETHERNET_RX_ERROR 102
735 #define BLF_OBJTYPE_ETHERNET_STATUS 103
736 #define BLF_OBJTYPE_CAN_FD_ERROR_64 104
737 #define BLF_OBJTYPE_AFDX_STATUS 106
738 #define BLF_OBJTYPE_AFDX_BUS_STATISTIC 107
739 #define BLF_OBJTYPE_AFDX_ERROR_EVENT 109
740 #define BLF_OBJTYPE_A429_ERROR 110
741 #define BLF_OBJTYPE_A429_STATUS 111
742 #define BLF_OBJTYPE_A429_BUS_STATISTIC 112
743 #define BLF_OBJTYPE_A429_MESSAGE 113
744 #define BLF_OBJTYPE_ETHERNET_STATISTIC 114
745 #define BLF_OBJTYPE_RESERVED5 115
746 #define BLF_OBJTYPE_RESERVED6 116
747 #define BLF_OBJTYPE_RESERVED7 117
748 #define BLF_OBJTYPE_TEST_STRUCTURE 118
749 #define BLF_OBJTYPE_DIAG_REQUEST_INTERPRETATION 119
750 #define BLF_OBJTYPE_ETHERNET_FRAME_EX 120
751 #define BLF_OBJTYPE_ETHERNET_FRAME_FORWARDED 121
752 #define BLF_OBJTYPE_ETHERNET_ERROR_EX 122
753 #define BLF_OBJTYPE_ETHERNET_ERROR_FORWARDED 123
754 #define BLF_OBJTYPE_FUNCTION_BUS 124
755 #define BLF_OBJTYPE_DATA_LOST_BEGIN 125
756 #define BLF_OBJTYPE_DATA_LOST_END 126
757 #define BLF_OBJTYPE_WATER_MARK_EVENT 127
758 #define BLF_OBJTYPE_TRIGGER_CONDITION 128
759 #define BLF_OBJTYPE_CAN_SETTING_CHANGED 129
760 #define BLF_OBJTYPE_DISTRIBUTED_OBJECT_MEMBER 130
761 #define BLF_OBJTYPE_ATTRIBUTE_EVENT 131
762 #define BLF_OBJTYPE_DISTRIBUTED_OBJECT_CHANGE 132
763 #define BLF_OBJTYPE_ETHERNET_PHY_STATE 133
764 
765 #define BLF_ETH_STATUS_LINKSTATUS 0x0001
766 #define BLF_ETH_STATUS_BITRATE 0x0002
767 #define BLF_ETH_STATUS_ETHERNETPHY 0x0004
768 #define BLF_ETH_STATUS_DUPLEX 0x0008
769 #define BLF_ETH_STATUS_MDITYPE 0x0010
770 #define BLF_ETH_STATUS_CONNECTOR 0x0020
771 #define BLF_ETH_STATUS_CLOCKMODE 0x0040
772 #define BLF_ETH_STATUS_BRPAIR 0x0080
773 #define BLF_ETH_STATUS_HARDWARECHANNEL 0x0100
774 #define BLF_ETH_STATUS_LINKUPDURATION 0x0200
775 
776 #define BLF_PHY_STATE_PHYSTATE 0x0001
777 #define BLF_PHY_STATE_PHYEVENT 0x0002
778 #define BLF_PHY_STATE_HARDWARECHANNEL 0x0004
779 
780 #endif
781 
782 /*
783  * Editor modelines - https://www.wireshark.org/tools/modelines.html
784  *
785  * Local variables:
786  * c-basic-offset: 4
787  * tab-width: 8
788  * indent-tabs-mode: nil
789  * End:
790  *
791  * vi: set shiftwidth=4 tabstop=8 expandtab:
792  * :indentSize=4:tabSize=8:noTabs=true:
793  */
Definition: blf.h:579
Definition: blf.h:91
Definition: blf.h:262
Definition: blf.h:285
Definition: blf.h:306
Definition: blf.h:241
Definition: blf.h:209
Definition: blf.h:194
Definition: blf.h:184
Definition: blf.h:59
Definition: blf.h:625
Definition: blf.h:608
Definition: blf.h:151
Definition: blf.h:139
Definition: blf.h:71
Definition: blf.h:333
Definition: blf.h:367
Definition: blf.h:406
Definition: blf.h:434
Definition: blf.h:496
Definition: blf.h:544
Definition: blf.h:519
Definition: blf.h:524
Definition: blf.h:469
Definition: blf.h:509
Definition: blf.h:562
Definition: blf.h:486
Definition: blf.h:503
Definition: blf.h:99
Definition: blf.h:118
Definition: blf.h:127
Definition: blf.h:107
Definition: blf.h:164
Definition: wtap-int.h:36