File: ttl.h

package info (click to toggle)
wireshark 4.6.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 351,244 kB
  • sloc: ansic: 3,101,885; cpp: 129,710; xml: 100,972; python: 56,512; perl: 24,575; sh: 5,874; lex: 4,383; pascal: 4,304; makefile: 165; ruby: 113; objc: 91; tcl: 35
file content (547 lines) | stat: -rw-r--r-- 24,436 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
/** @file
 *
 * TTX Logger (TTL) file format from TTTech Computertechnik AG decoder
 * for the Wiretap library.
 *
 * Copyright (c) 2024 by Giovanni Musto <giovanni.musto@partner.italdesign.it>
 *
 * SPDX-License-Identifier: GPL-2.0-or-later
 */

#ifndef __W_TTL_H__
#define __W_TTL_H__

#include <stdint.h>
#include "wtap.h"

wtap_open_return_val ttl_open(wtap* wth, int* err, char** err_info);

WS_DLL_PUBLIC int ttl_get_address_iface_type(uint16_t addr);
WS_DLL_PUBLIC bool ttl_is_chb_addr(uint16_t addr);
WS_DLL_PUBLIC uint16_t ttl_get_master_address(GHashTable* ht, uint16_t addr);
WS_DLL_PUBLIC const char* ttl_get_cascade_name(uint16_t addr);
WS_DLL_PUBLIC const char* ttl_get_device_name(uint16_t addr);
WS_DLL_PUBLIC const char* ttl_get_function_name(uint16_t addr);

#define ttl_addr_get_cascade(x)     (((x) >> 10) & 0x7)
#define ttl_addr_get_device(x)      (((x) >> 6) & 0xf)
#define ttl_addr_get_function(x)    ((x) & 0x3f)

/*
 * A TTL file is divided into two sections:
 * 1. Header section
 * 2. Trace Data section
 *
 * The Trace Data section is divided into blocks of fixes size (default: 2 MB).
 *
 * All multi-byte fields are stored as Little Endian.
 */

#define TTL_LOGFILE_INFO_SIZE   4080

 /*
  * The header of the file changed between versions. The real size is
  * indicated by the header_size field, with the bare minimum being 16 bytes.
  * The data after header_size (if any) is composed of two parts:
  * 1. Log File information
  * 2. XML describing the logger configuration used to create the log file
  *
  * The XML is assumed to be there only if the header size is bigger
  * than 4096 bytes (i.e. Log File information is 4080 bytes in size).
  */

 /* TTL File Header */
typedef struct ttl_fileheader {
    uint8_t     magic[4];       /* Magic Number - "TTL " */
    uint32_t    version;        /* File Format version */
    uint32_t    block_size;     /* Size of the blocks */
    uint32_t    header_size;    /* Size of the complete header */
} ttl_fileheader_t;

/* TTL Entry Header */
typedef struct ttl_entryheader {
    uint16_t    size_type;          /* Type (4 bits) | Size (12 bits) */
    uint16_t    dest_addr;          /* Meta 1 (3 bits) | Destination Address (13 bits) */
    uint16_t    src_addr;           /* Meta 2 (3 bits) | Source Address (13 bits) */
    uint16_t    status_info;        /* Meaning changes between types */
} ttl_entryheader_t;

#define TTL_BUS_DATA_ENTRY          0
#define TTL_COMMAND_ENTRY           1
#define TTL_BUS_RESERVED1_ENTRY     2
#define TTL_JOURNAL_ENTRY           3
#define TTL_SEGMENTED_MESSAGE_ENTRY 4
#define TTL_SEND_FRAME_ENTRY        5
#define TTL_PADDING_ENTRY           6
#define TTL_SOFTWARE_DATA_ENTRY     7
#define TTL_DROPPED_FRAMES_ENTRY    8

/* The address is Cascade (3 bits) | Device (4 bits) | Function (6 bits) */
#define TTL_ADDRESS_MASK                        0x1FFF
#define TTL_SIZE_MASK                           0x0FFF
#define TTL_META1_TIMESTAMP_SOURCE_MASK         0x2000
#define TTL_META1_COMPRESSED_FORMAT_MASK        0x4000
#define TTL_META1_FRAME_DUPLICATION_MARKER_MASK 0x8000

#define TTL_LOGGER_DEVICE_FPGA      0
#define TTL_LOGGER_DEVICE_ATOM      1
#define TTL_LOGGER_DEVICE_TRICORE1  2
#define TTL_LOGGER_DEVICE_TRICORE2  3
#define TTL_LOGGER_DEVICE_TRICORE3  4
#define TTL_LOGGER_DEVICE_TDA4x     5
#define TTL_LOGGER_DEVICE_FPGAA     6
#define TTL_LOGGER_DEVICE_FPGAB     7

#define TTL_LOGGER_FPGA_FUNCTION_CORE           0
#define TTL_LOGGER_FPGA_FUNCTION_EXT0_MOST25    1
#define TTL_LOGGER_FPGA_FUNCTION_EXT0_MOST150   2
#define TTL_LOGGER_FPGA_FUNCTION_ETHA_CH1       3
#define TTL_LOGGER_FPGA_FUNCTION_ETHB_CH1       4
#define TTL_LOGGER_FPGA_FUNCTION_FLEXRAY1A      5
#define TTL_LOGGER_FPGA_FUNCTION_FLEXRAY1B      6
#define TTL_LOGGER_FPGA_FUNCTION_FLEXRAY2A      7
#define TTL_LOGGER_FPGA_FUNCTION_FLEXRAY2B      8
#define TTL_LOGGER_FPGA_FUNCTION_FLEXRAY3A      9
#define TTL_LOGGER_FPGA_FUNCTION_FLEXRAY3B      10
#define TTL_LOGGER_FPGA_FUNCTION_CAN1           11
#define TTL_LOGGER_FPGA_FUNCTION_CAN2           12
#define TTL_LOGGER_FPGA_FUNCTION_CAN3           13
#define TTL_LOGGER_FPGA_FUNCTION_CAN4           14
#define TTL_LOGGER_FPGA_FUNCTION_CAN12          15
#define TTL_LOGGER_FPGA_FUNCTION_CAN6           16
#define TTL_LOGGER_FPGA_FUNCTION_CAN7           17
#define TTL_LOGGER_FPGA_FUNCTION_CAN10          18
#define TTL_LOGGER_FPGA_FUNCTION_CAN11          19
#define TTL_LOGGER_FPGA_FUNCTION_CAN8           20
#define TTL_LOGGER_FPGA_FUNCTION_CAN5           21
#define TTL_LOGGER_FPGA_FUNCTION_CAN9           22
#define TTL_LOGGER_FPGA_FUNCTION_EXT1_MOST25    23
#define TTL_LOGGER_FPGA_FUNCTION_LIN10          24
#define TTL_LOGGER_FPGA_FUNCTION_LIN3           25
#define TTL_LOGGER_FPGA_FUNCTION_LIN5           26
#define TTL_LOGGER_FPGA_FUNCTION_LIN4           27
#define TTL_LOGGER_FPGA_FUNCTION_LIN11          28
#define TTL_LOGGER_FPGA_FUNCTION_LIN1           29
#define TTL_LOGGER_FPGA_FUNCTION_LIN7           30
#define TTL_LOGGER_FPGA_FUNCTION_LIN8           31
#define TTL_LOGGER_FPGA_FUNCTION_LIN12          32
#define TTL_LOGGER_FPGA_FUNCTION_LIN6           33
#define TTL_LOGGER_FPGA_FUNCTION_LIN2           34
#define TTL_LOGGER_FPGA_FUNCTION_LIN9           35
#define TTL_LOGGER_FPGA_FUNCTION_CAN13          36
#define TTL_LOGGER_FPGA_FUNCTION_CAN14          37
#define TTL_LOGGER_FPGA_FUNCTION_CAN15          38
#define TTL_LOGGER_FPGA_FUNCTION_CAN16          39
#define TTL_LOGGER_FPGA_FUNCTION_CAN17          40
#define TTL_LOGGER_FPGA_FUNCTION_CAN18          41
#define TTL_LOGGER_FPGA_FUNCTION_CAN19          42
#define TTL_LOGGER_FPGA_FUNCTION_CAN20          43
#define TTL_LOGGER_FPGA_FUNCTION_CAN21          44
#define TTL_LOGGER_FPGA_FUNCTION_CAN22          45
#define TTL_LOGGER_FPGA_FUNCTION_CAN23          46
#define TTL_LOGGER_FPGA_FUNCTION_CAN24          47
#define TTL_LOGGER_FPGA_FUNCTION_ETHA_CH2       48
#define TTL_LOGGER_FPGA_FUNCTION_ETHB_CH2       49
#define TTL_LOGGER_FPGA_FUNCTION_ETHA_CH3       50
#define TTL_LOGGER_FPGA_FUNCTION_ETHB_CH3       51
/* 5 unused */
#define TTL_LOGGER_FPGA_FUNCTION_CAN_EXT_BOARD  57
#define TTL_LOGGER_FPGA_FUNCTION_RESERVED1      58
#define TTL_LOGGER_FPGA_FUNCTION_SLOT_CTRL      59
#define TTL_LOGGER_FPGA_FUNCTION_DRAM           60
#define TTL_LOGGER_FPGA_FUNCTION_SINK           61
#define TTL_LOGGER_FPGA_FUNCTION_POWER_AGENT    62
#define TTL_LOGGER_FPGA_FUNCTION_PKT_GENERATOR  63

#define TTL_LOGGER_ATOM_FUNCTION_FRAME_DEVICE       0
#define TTL_LOGGER_ATOM_FUNCTION_CHARACTER_DEVICE   1
#define TTL_LOGGER_ATOM_FUNCTION_ATMEL              2
#define TTL_LOGGER_ATOM_FUNCTION_ETHA               3
#define TTL_LOGGER_ATOM_FUNCTION_ETHB               4

#define TTL_LOGGER_TRICORE_FUNCTION_FLEXRAYA        1
#define TTL_LOGGER_TRICORE_FUNCTION_FLEXRAYB        2

#define TTL_LOGGER_TRICORE1_FUNCTION_CORE           0
#define TTL_LOGGER_TRICORE1_FUNCTION_FLEXRAY1A      TTL_LOGGER_TRICORE_FUNCTION_FLEXRAYA
#define TTL_LOGGER_TRICORE1_FUNCTION_FLEXRAY1B      TTL_LOGGER_TRICORE_FUNCTION_FLEXRAYB
#define TTL_LOGGER_TRICORE1_FUNCTION_CAN1           3
#define TTL_LOGGER_TRICORE1_FUNCTION_CAN2           4
#define TTL_LOGGER_TRICORE1_FUNCTION_CAN3           5
#define TTL_LOGGER_TRICORE1_FUNCTION_CAN4           6
#define TTL_LOGGER_TRICORE1_FUNCTION_ANALOGOUT1     7
#define TTL_LOGGER_TRICORE1_FUNCTION_DIGITALOUT6    8
#define TTL_LOGGER_TRICORE1_FUNCTION_DIGITALOUT5    9
#define TTL_LOGGER_TRICORE1_FUNCTION_RESERVED1      10
#define TTL_LOGGER_TRICORE1_FUNCTION_RESERVED2      11
#define TTL_LOGGER_TRICORE1_FUNCTION_SERIAL1        12
#define TTL_LOGGER_TRICORE1_FUNCTION_SERIAL2        13
#define TTL_LOGGER_TRICORE1_FUNCTION_ANALOGIN6      14
#define TTL_LOGGER_TRICORE1_FUNCTION_ANALOGIN8      15
#define TTL_LOGGER_TRICORE1_FUNCTION_ANALOGIN14     16
#define TTL_LOGGER_TRICORE1_FUNCTION_ANALOGIN15     17
#define TTL_LOGGER_TRICORE1_FUNCTION_ANALOGIN11     18
#define TTL_LOGGER_TRICORE1_FUNCTION_DIGITALIN8     19
#define TTL_LOGGER_TRICORE1_FUNCTION_DIGITALIN10    20
#define TTL_LOGGER_TRICORE1_FUNCTION_DIGITALIN12    21
#define TTL_LOGGER_TRICORE1_FUNCTION_DIGITALIN13    22
#define TTL_LOGGER_TRICORE1_FUNCTION_DIGITALIN11    23
#define TTL_LOGGER_TRICORE1_FUNCTION_KL15IN         24
#define TTL_LOGGER_TRICORE1_FUNCTION_KL30IN         25
#define TTL_LOGGER_TRICORE1_FUNCTION_FLEXRAY1       26
#define TTL_LOGGER_TRICORE1_FUNCTION_FLEXRAY1AB     27

#define TTL_LOGGER_TRICORE2_FUNCTION_CORE           0
#define TTL_LOGGER_TRICORE2_FUNCTION_FLEXRAY2A      TTL_LOGGER_TRICORE_FUNCTION_FLEXRAYA
#define TTL_LOGGER_TRICORE2_FUNCTION_FLEXRAY2B      TTL_LOGGER_TRICORE_FUNCTION_FLEXRAYB
#define TTL_LOGGER_TRICORE2_FUNCTION_CAN12          3
#define TTL_LOGGER_TRICORE2_FUNCTION_CAN6           4
#define TTL_LOGGER_TRICORE2_FUNCTION_CAN7           5
#define TTL_LOGGER_TRICORE2_FUNCTION_CAN10          6
#define TTL_LOGGER_TRICORE2_FUNCTION_ANALOGOUT2     7
#define TTL_LOGGER_TRICORE2_FUNCTION_DIGITALOUT4    8
#define TTL_LOGGER_TRICORE2_FUNCTION_DIGITALOUT3    9
#define TTL_LOGGER_TRICORE2_FUNCTION_RESERVED1      10
#define TTL_LOGGER_TRICORE2_FUNCTION_RESERVED2      11
#define TTL_LOGGER_TRICORE2_FUNCTION_SERIAL3        12
#define TTL_LOGGER_TRICORE2_FUNCTION_SERIAL4        13
#define TTL_LOGGER_TRICORE2_FUNCTION_ANALOGIN4      14
#define TTL_LOGGER_TRICORE2_FUNCTION_ANALOGIN3      15
#define TTL_LOGGER_TRICORE2_FUNCTION_ANALOGIN5      16
#define TTL_LOGGER_TRICORE2_FUNCTION_ANALOGIN9      17
#define TTL_LOGGER_TRICORE2_FUNCTION_ANALOGIN7      18
#define TTL_LOGGER_TRICORE2_FUNCTION_DIGITALIN14    19
#define TTL_LOGGER_TRICORE2_FUNCTION_DIGITALIN9     20
#define TTL_LOGGER_TRICORE2_FUNCTION_DIGITALIN15    21
#define TTL_LOGGER_TRICORE2_FUNCTION_DIGITALIN7     22
#define TTL_LOGGER_TRICORE2_FUNCTION_DIGITALIN6     23
/* 2 unused */
#define TTL_LOGGER_TRICORE2_FUNCTION_FLEXRAY2       26
#define TTL_LOGGER_TRICORE2_FUNCTION_FLEXRAY2AB     27

#define TTL_LOGGER_TRICORE3_FUNCTION_CORE           0
#define TTL_LOGGER_TRICORE3_FUNCTION_FLEXRAY3A      TTL_LOGGER_TRICORE_FUNCTION_FLEXRAYA
#define TTL_LOGGER_TRICORE3_FUNCTION_FLEXRAY3B      TTL_LOGGER_TRICORE_FUNCTION_FLEXRAYB
#define TTL_LOGGER_TRICORE3_FUNCTION_CAN11          3
#define TTL_LOGGER_TRICORE3_FUNCTION_CAN8           4
#define TTL_LOGGER_TRICORE3_FUNCTION_CAN5           5
#define TTL_LOGGER_TRICORE3_FUNCTION_CAN9           6
#define TTL_LOGGER_TRICORE3_FUNCTION_ANALOGOUT3     7
#define TTL_LOGGER_TRICORE3_FUNCTION_DIGITALOUT2    8
#define TTL_LOGGER_TRICORE3_FUNCTION_DIGITALOUT1    9
#define TTL_LOGGER_TRICORE3_FUNCTION_RESERVED1      10
#define TTL_LOGGER_TRICORE3_FUNCTION_RESERVED2      11
#define TTL_LOGGER_TRICORE3_FUNCTION_SERIAL5        12
#define TTL_LOGGER_TRICORE3_FUNCTION_SERIAL6        13
#define TTL_LOGGER_TRICORE3_FUNCTION_ANALOGIN1      14
#define TTL_LOGGER_TRICORE3_FUNCTION_ANALOGIN2      15
#define TTL_LOGGER_TRICORE3_FUNCTION_ANALOGIN10     16
#define TTL_LOGGER_TRICORE3_FUNCTION_ANALOGIN12     17
#define TTL_LOGGER_TRICORE3_FUNCTION_ANALOGIN13     18
#define TTL_LOGGER_TRICORE3_FUNCTION_DIGITALIN5     19
#define TTL_LOGGER_TRICORE3_FUNCTION_DIGITALIN4     20
#define TTL_LOGGER_TRICORE3_FUNCTION_DIGITALIN3     21
#define TTL_LOGGER_TRICORE3_FUNCTION_DIGITALIN2     22
#define TTL_LOGGER_TRICORE3_FUNCTION_DIGITALIN1     23
/* 2 unused */
#define TTL_LOGGER_TRICORE3_FUNCTION_FLEXRAY3       26
#define TTL_LOGGER_TRICORE3_FUNCTION_FLEXRAY3AB     27

#define TTL_LOGGER_TDA4x_FUNCTION_CORE              0
#define TTL_LOGGER_TDA4x_FUNCTION_CHARACTER_DEVICE  1
#define TTL_LOGGER_TDA4x_FUNCTION_CAN1              2
#define TTL_LOGGER_TDA4x_FUNCTION_CAN2              3
#define TTL_LOGGER_TDA4x_FUNCTION_CAN3              4
#define TTL_LOGGER_TDA4x_FUNCTION_CAN4              5
#define TTL_LOGGER_TDA4x_FUNCTION_CAN5              6
#define TTL_LOGGER_TDA4x_FUNCTION_CAN6              7
#define TTL_LOGGER_TDA4x_FUNCTION_CAN7              8
#define TTL_LOGGER_TDA4x_FUNCTION_CAN8              9
#define TTL_LOGGER_TDA4x_FUNCTION_CAN9              10
#define TTL_LOGGER_TDA4x_FUNCTION_CAN10             11
#define TTL_LOGGER_TDA4x_FUNCTION_CAN11             12
#define TTL_LOGGER_TDA4x_FUNCTION_SERIAL1           13
#define TTL_LOGGER_TDA4x_FUNCTION_SERIAL2           14
#define TTL_LOGGER_TDA4x_FUNCTION_SERIAL3           15
#define TTL_LOGGER_TDA4x_FUNCTION_SERIAL4           16
#define TTL_LOGGER_TDA4x_FUNCTION_SERIAL5           17
#define TTL_LOGGER_TDA4x_FUNCTION_SERIAL6           18
#define TTL_LOGGER_TDA4x_FUNCTION_ANALOGIN1         19
#define TTL_LOGGER_TDA4x_FUNCTION_ANALOGIN2         20
#define TTL_LOGGER_TDA4x_FUNCTION_ANALOGIN3         21
#define TTL_LOGGER_TDA4x_FUNCTION_ANALOGIN4         22
#define TTL_LOGGER_TDA4x_FUNCTION_ANALOGIN5         23
#define TTL_LOGGER_TDA4x_FUNCTION_ANALOGIN6         24
#define TTL_LOGGER_TDA4x_FUNCTION_ANALOGOUT1        25
#define TTL_LOGGER_TDA4x_FUNCTION_ANALOGOUT2        26
#define TTL_LOGGER_TDA4x_FUNCTION_KL15IN            27
#define TTL_LOGGER_TDA4x_FUNCTION_KL30IN            28
#define TTL_LOGGER_TDA4x_FUNCTION_FLEXRAY1A         29
#define TTL_LOGGER_TDA4x_FUNCTION_FLEXRAY1B         30
#define TTL_LOGGER_TDA4x_FUNCTION_FLEXRAY1AB        31
#define TTL_LOGGER_TDA4x_FUNCTION_CAN12             32
#define TTL_LOGGER_TDA4x_FUNCTION_CAN13             33
#define TTL_LOGGER_TDA4x_FUNCTION_CAN14             34
#define TTL_LOGGER_TDA4x_FUNCTION_SERIAL7           35
#define TTL_LOGGER_TDA4x_FUNCTION_SERIAL8           36
#define TTL_LOGGER_TDA4x_FUNCTION_SERIAL9           37
#define TTL_LOGGER_TDA4x_FUNCTION_SERIAL10          38

#define TTL_LOGGER_FPGAA_FUNCTION_CORE          0
#define TTL_LOGGER_FPGAA_FUNCTION_CAN1          1
#define TTL_LOGGER_FPGAA_FUNCTION_CAN2          2
#define TTL_LOGGER_FPGAA_FUNCTION_CAN3          3
#define TTL_LOGGER_FPGAA_FUNCTION_CAN4          4
#define TTL_LOGGER_FPGAA_FUNCTION_CAN5          5
#define TTL_LOGGER_FPGAA_FUNCTION_CAN6          6
#define TTL_LOGGER_FPGAA_FUNCTION_CAN7          7
#define TTL_LOGGER_FPGAA_FUNCTION_CAN8          8
#define TTL_LOGGER_FPGAA_FUNCTION_CAN9          9
#define TTL_LOGGER_FPGAA_FUNCTION_CAN10         10
#define TTL_LOGGER_FPGAA_FUNCTION_CAN11         11
#define TTL_LOGGER_FPGAA_FUNCTION_LIN1          12
#define TTL_LOGGER_FPGAA_FUNCTION_LIN2          13
#define TTL_LOGGER_FPGAA_FUNCTION_LIN3          14
#define TTL_LOGGER_FPGAA_FUNCTION_LIN4          15
#define TTL_LOGGER_FPGAA_FUNCTION_LIN5          16
#define TTL_LOGGER_FPGAA_FUNCTION_LIN6          17
#define TTL_LOGGER_FPGAA_FUNCTION_LIN7          18
#define TTL_LOGGER_FPGAA_FUNCTION_LIN8          19
#define TTL_LOGGER_FPGAA_FUNCTION_LIN9          20
#define TTL_LOGGER_FPGAA_FUNCTION_LIN10         21
#define TTL_LOGGER_FPGAA_FUNCTION_LIN11         22
#define TTL_LOGGER_FPGAA_FUNCTION_LIN12         23
#define TTL_LOGGER_FPGAA_FUNCTION_LIN13         24
#define TTL_LOGGER_FPGAA_FUNCTION_LIN14         25
#define TTL_LOGGER_FPGAA_FUNCTION_LIN15         26
#define TTL_LOGGER_FPGAA_FUNCTION_LIN16         27
#define TTL_LOGGER_FPGAA_FUNCTION_FLEXRAY1A     28
#define TTL_LOGGER_FPGAA_FUNCTION_FLEXRAY1B     29
#define TTL_LOGGER_FPGAA_FUNCTION_SERIAL1       30
#define TTL_LOGGER_FPGAA_FUNCTION_SERIAL2       31
#define TTL_LOGGER_FPGAA_FUNCTION_SERIAL3       32
#define TTL_LOGGER_FPGAA_FUNCTION_SERIAL4       33
#define TTL_LOGGER_FPGAA_FUNCTION_SERIAL5       34
#define TTL_LOGGER_FPGAA_FUNCTION_SERIAL6       35
#define TTL_LOGGER_FPGAA_FUNCTION_SERIAL7       36
#define TTL_LOGGER_FPGAA_FUNCTION_SERIAL8       37
#define TTL_LOGGER_FPGAA_FUNCTION_SERIAL9       38
#define TTL_LOGGER_FPGAA_FUNCTION_SERIAL10      39
#define TTL_LOGGER_FPGAA_FUNCTION_CAN12         40
#define TTL_LOGGER_FPGAA_FUNCTION_CAN13         41
#define TTL_LOGGER_FPGAA_FUNCTION_CAN14         42
/* 16 unused */
#define TTL_LOGGER_FPGAA_FUNCTION_SLOT_CTRL     59
#define TTL_LOGGER_FPGAA_FUNCTION_DRAM          60
#define TTL_LOGGER_FPGAA_FUNCTION_SINK          61
#define TTL_LOGGER_FPGAA_FUNCTION_POWER_AGENT   62
#define TTL_LOGGER_FPGAA_FUNCTION_PKT_GENERATOR 63

#define TTL_LOGGER_FPGAB_FUNCTION_ETHA_CH1  0
#define TTL_LOGGER_FPGAB_FUNCTION_ETHB_CH1  1
#define TTL_LOGGER_FPGAB_FUNCTION_AETH1a_CH1 2
#define TTL_LOGGER_FPGAB_FUNCTION_AETH1b_CH1 3
#define TTL_LOGGER_FPGAB_FUNCTION_AETH2a_CH1 4
#define TTL_LOGGER_FPGAB_FUNCTION_AETH2b_CH1 5
#define TTL_LOGGER_FPGAB_FUNCTION_AETH3a_CH1 6
#define TTL_LOGGER_FPGAB_FUNCTION_AETH3b_CH1 7
#define TTL_LOGGER_FPGAB_FUNCTION_AETH4a_CH1 8
#define TTL_LOGGER_FPGAB_FUNCTION_AETH4b_CH1 9
#define TTL_LOGGER_FPGAB_FUNCTION_AETH5a_CH1 10
#define TTL_LOGGER_FPGAB_FUNCTION_AETH5b_CH1 11
#define TTL_LOGGER_FPGAB_FUNCTION_AETH6a_CH1 12
#define TTL_LOGGER_FPGAB_FUNCTION_AETH6b_CH1 13
#define TTL_LOGGER_FPGAB_FUNCTION_ETHA_CH2  14
#define TTL_LOGGER_FPGAB_FUNCTION_ETHB_CH2  15
#define TTL_LOGGER_FPGAB_FUNCTION_AETH1a_CH2 16
#define TTL_LOGGER_FPGAB_FUNCTION_AETH1b_CH2 17
#define TTL_LOGGER_FPGAB_FUNCTION_AETH2a_CH2 18
#define TTL_LOGGER_FPGAB_FUNCTION_AETH2b_CH2 19
#define TTL_LOGGER_FPGAB_FUNCTION_AETH3a_CH2 20
#define TTL_LOGGER_FPGAB_FUNCTION_AETH3b_CH2 21
#define TTL_LOGGER_FPGAB_FUNCTION_AETH4a_CH2 22
#define TTL_LOGGER_FPGAB_FUNCTION_AETH4b_CH2 23
#define TTL_LOGGER_FPGAB_FUNCTION_AETH5a_CH2 24
#define TTL_LOGGER_FPGAB_FUNCTION_AETH5b_CH2 25
#define TTL_LOGGER_FPGAB_FUNCTION_AETH6a_CH2 26
#define TTL_LOGGER_FPGAB_FUNCTION_AETH6b_CH2 27

#define TTL_TAP_DEVICE_PT15_FPGA        0
#define TTL_TAP_DEVICE_PT15_HPS_LINUX   1
#define TTL_TAP_DEVICE_PT20_FPGA        2
#define TTL_TAP_DEVICE_PT20_HPS_LINUX   3
#define TTL_TAP_DEVICE_PC3_FPGA         4
#define TTL_TAP_DEVICE_PC3_HPS_LINUX    5
#define TTL_TAP_DEVICE_PC3_AURIX        6
#define TTL_TAP_DEVICE_ZELDA_CANFD      7
#define TTL_TAP_DEVICE_ZELDA_LIN        8
#define TTL_TAP_DEVICE_ILLEGAL          15

#define TTL_PT15_FPGA_FUNCTION_CORE     0
#define TTL_PT15_FPGA_FUNCTION_CAN1     1
#define TTL_PT15_FPGA_FUNCTION_CAN2     2
#define TTL_PT15_FPGA_FUNCTION_BrdR1a   3
#define TTL_PT15_FPGA_FUNCTION_BrdR1b   4
#define TTL_PT15_FPGA_FUNCTION_BrdR2a   5
#define TTL_PT15_FPGA_FUNCTION_BrdR2b   6
#define TTL_PT15_FPGA_FUNCTION_BrdR3a   7
#define TTL_PT15_FPGA_FUNCTION_BrdR3b   8
#define TTL_PT15_FPGA_FUNCTION_BrdR4a   9
#define TTL_PT15_FPGA_FUNCTION_BrdR4b   10
#define TTL_PT15_FPGA_FUNCTION_BrdR5a   11
#define TTL_PT15_FPGA_FUNCTION_BrdR5b   12
#define TTL_PT15_FPGA_FUNCTION_BrdR6a   13
#define TTL_PT15_FPGA_FUNCTION_BrdR6b   14
/* 7 unused */
#define TTL_PT15_FPGA_FUNCTION_MDIO     22

#define TTL_PT20_FPGA_FUNCTION_CORE     0
#define TTL_PT20_FPGA_FUNCTION_CAN1     1
#define TTL_PT20_FPGA_FUNCTION_CAN2     2
#define TTL_PT20_FPGA_FUNCTION_CAN3     3
#define TTL_PT20_FPGA_FUNCTION_CAN4     4
#define TTL_PT20_FPGA_FUNCTION_CAN5     5
#define TTL_PT20_FPGA_FUNCTION_GbEth1a  6
#define TTL_PT20_FPGA_FUNCTION_GbEth1b  7
#define TTL_PT20_FPGA_FUNCTION_GbEth2a  8
#define TTL_PT20_FPGA_FUNCTION_GbEth2b  9
#define TTL_PT20_FPGA_FUNCTION_GbEth3a  10
#define TTL_PT20_FPGA_FUNCTION_GbEth3b  11
/* 10 unused */
#define TTL_PT20_FPGA_FUNCTION_MDIO     22

#define TTL_PC3_FPGA_FUNCTION_CORE      0
/* 2 unused */
#define TTL_PC3_FPGA_FUNCTION_BrdR1a    3
#define TTL_PC3_FPGA_FUNCTION_BrdR1b    4

#define TTL_PC3_AURIX_FUNCTION_CORE         0
#define TTL_PC3_AURIX_FUNCTION_CAN1         1
#define TTL_PC3_AURIX_FUNCTION_CAN2         2
#define TTL_PC3_AURIX_FUNCTION_CAN3         3
#define TTL_PC3_AURIX_FUNCTION_CAN4         4
#define TTL_PC3_AURIX_FUNCTION_FLEXRAY1A    5
#define TTL_PC3_AURIX_FUNCTION_FLEXRAY1B    6
#define TTL_PC3_AURIX_FUNCTION_FLEXRAY2A    7
#define TTL_PC3_AURIX_FUNCTION_FLEXRAY2B    8
#define TTL_PC3_AURIX_FUNCTION_DIGITALIN1   9
#define TTL_PC3_AURIX_FUNCTION_DIGITALIN2   10
#define TTL_PC3_AURIX_FUNCTION_DIGITALOUT1  11
#define TTL_PC3_AURIX_FUNCTION_DIGITALOUT2  12

#define TTL_TAP_DEVICE_ZELDA_CORE       0

#define TTL_TAP_DEVICE_ZELDA_CANFD1     1
#define TTL_TAP_DEVICE_ZELDA_CANFD2     2
#define TTL_TAP_DEVICE_ZELDA_CANFD3     3
#define TTL_TAP_DEVICE_ZELDA_CANFD4     4
#define TTL_TAP_DEVICE_ZELDA_CANFD5     5
#define TTL_TAP_DEVICE_ZELDA_CANFD6     6
#define TTL_TAP_DEVICE_ZELDA_CANFD7     7
#define TTL_TAP_DEVICE_ZELDA_CANFD8     8
#define TTL_TAP_DEVICE_ZELDA_CANFD9     9
#define TTL_TAP_DEVICE_ZELDA_CANFD10    10
#define TTL_TAP_DEVICE_ZELDA_CANFD11    11
#define TTL_TAP_DEVICE_ZELDA_CANFD12    12
#define TTL_TAP_DEVICE_ZELDA_CANFD13    13
#define TTL_TAP_DEVICE_ZELDA_CANFD14    14
#define TTL_TAP_DEVICE_ZELDA_CANFD15    15

#define TTL_TAP_DEVICE_ZELDA_LIN1       1
#define TTL_TAP_DEVICE_ZELDA_LIN2       2
#define TTL_TAP_DEVICE_ZELDA_LIN3       3
#define TTL_TAP_DEVICE_ZELDA_LIN4       4
#define TTL_TAP_DEVICE_ZELDA_LIN5       5
#define TTL_TAP_DEVICE_ZELDA_LIN6       6
#define TTL_TAP_DEVICE_ZELDA_LIN7       7
#define TTL_TAP_DEVICE_ZELDA_LIN8       8
#define TTL_TAP_DEVICE_ZELDA_LIN9       9
#define TTL_TAP_DEVICE_ZELDA_LIN10      10
#define TTL_TAP_DEVICE_ZELDA_LIN11      11
#define TTL_TAP_DEVICE_ZELDA_LIN12      12
#define TTL_TAP_DEVICE_ZELDA_LIN13      13
#define TTL_TAP_DEVICE_ZELDA_LIN14      14
#define TTL_TAP_DEVICE_ZELDA_LIN15      15
#define TTL_TAP_DEVICE_ZELDA_LIN16      16
#define TTL_TAP_DEVICE_ZELDA_LIN17      17
#define TTL_TAP_DEVICE_ZELDA_LIN18      18
#define TTL_TAP_DEVICE_ZELDA_LIN19      19
#define TTL_TAP_DEVICE_ZELDA_LIN20      20
#define TTL_TAP_DEVICE_ZELDA_LIN21      21
#define TTL_TAP_DEVICE_ZELDA_LIN22      22
#define TTL_TAP_DEVICE_ZELDA_LIN23      23
#define TTL_TAP_DEVICE_ZELDA_LIN24      24

#define TTL_ETH_STATUS_VALID_FRAME              0x0001
#define TTL_ETH_STATUS_CRC_ERROR_FRAME          0x0002
#define TTL_ETH_STATUS_LENGTH_ERROR_FRAME       0x0004
#define TTL_ETH_STATUS_PHY_ERROR_FRAME          0x0008
#define TTL_ETH_STATUS_TX_ERROR_FRAME           0x0010
#define TTL_ETH_STATUS_TX_FREEMEM_INFO_FRAME    0x2000
#define TTL_ETH_STATUS_TX_FRAME                 0x4000
#define TTL_ETH_STATUS_PHY_STATUS               0x8000

#define TTL_CAN_STATUS_VALID_BIT_MASK   0x0001
#define TTL_CAN_STATUS_RTR_BIT_MASK     0x0002
#define TTL_CAN_STATUS_BUSOFF_MASK      0x0004
#define TTL_CAN_STATUS_MATCHED_BIT_MASK 0x0008
#define TTL_CAN_STATUS_ERROR_CODE_MASK  0x0070
#define TTL_CAN_STATUS_ERROR_CODE_POS   4
#define TTL_CAN_STATUS_DLC_MASK         0x0F00
#define TTL_CAN_STATUS_DLC_POS          8
#define TTL_CAN_STATUS_IDE_BIT_MASK     0x1000
#define TTL_CAN_STATUS_EDL_BIT_MASK     0x2000
#define TTL_CAN_STATUS_BRS_BIT_MASK     0x4000
#define TTL_CAN_STATUS_ESI_BIT_MASK     0x8000

#define TTL_CAN_ERROR_NO_ERROR      0x0
#define TTL_CAN_ERROR_STUFF_ERROR   0x1
#define TTL_CAN_ERROR_FORM_ERROR    0x2
#define TTL_CAN_ERROR_ACK_ERROR     0x3
#define TTL_CAN_ERROR_BIT1_ERROR    0x4
#define TTL_CAN_ERROR_BIT0_ERROR    0x5
#define TTL_CAN_ERROR_CRC_ERROR     0x6
#define TTL_CAN_ERROR_INVALID_DLC   0x7

#define TTL_LIN_STATUS_PID_MASK             0x00ff
#define TTL_LIN_ERROR_PARITY_ERROR          0x0100
#define TTL_LIN_ERROR_SYNC_ERROR            0x0200
#define TTL_LIN_ERROR_LIN2CHECKSUM_ERROR    0x0400
#define TTL_LIN_ERROR_LIN1CHECKSUM_ERROR    0x0800
#define TTL_LIN_ERROR_ANY_CHECKSUM          (TTL_LIN_ERROR_LIN2CHECKSUM_ERROR | TTL_LIN_ERROR_LIN1CHECKSUM_ERROR)
#define TTL_LIN_ERROR_NO_DATA_ERROR         0x1000
#define TTL_LIN_ERROR_ABORT_ERROR           0x2000

#define TTL_FLEXRAY_ITEM_MASK               0x0007
#define TTL_FLEXRAY_ITEM_REGULAR_FRAME      0
#define TTL_FLEXRAY_ITEM_ABORTED_FRAME      1
#define TTL_FLEXRAY_ITEM_0_PULSE            2
#define TTL_FLEXRAY_ITEM_1_PULSE            3
#define TTL_FLEXRAY_ITEM_ERROR_INFORMATION  4
#define TTL_FLEXRAY_MATCHED_MASK            0x0008
#define TTL_FLEXRAY_FSS_ERROR_MASK          0x0020
#define TTL_FLEXRAY_BSS_ERROR_MASK          0x0040
#define TTL_FLEXRAY_FES_ERROR_MASK          0x0080
#define TTL_FLEXRAY_FRAME_CRC_ERROR_MASK    0x0100
#define TTL_FLEXRAY_HEADER_CRC_ERROR_MASK   0x0200
#define TTL_FLEXRAY_IDLE_ERROR_MASK         0x0400

#define TTL_SEGMENTED_MESSAGE_ENTRY_TYPE_INVALID        0x00000000
#define TTL_SEGMENTED_MESSAGE_ENTRY_TYPE_FIRMWARE       0x00000001
#define TTL_SEGMENTED_MESSAGE_ENTRY_TYPE_CONFIGURATION  0x00000002
#define TTL_SEGMENTED_MESSAGE_ENTRY_TYPE_NESTED_FRAME   0x00000003

#endif

 /*
  * Editor modelines  -  https://www.wireshark.org/tools/modelines.html
  *
  * Local variables:
  * c-basic-offset: 4
  * tab-width: 8
  * indent-tabs-mode: nil
  * End:
  *
  * vi: set shiftwidth=4 tabstop=8 expandtab:
  * :indentSize=4:tabSize=8:noTabs=true:
  */