Commit | Line | Data |
---|---|---|
ff34a255 MD |
1 | typealias integer { size = 8; align = 8; signed = false; base = hex; } := uint8_t; |
2 | typealias integer { size = 32; align = 8; signed = false; base = hex; } := uint32_t; | |
3 | ||
4 | trace { | |
5 | major = 1; | |
6 | minor = 2; | |
7 | byte_order = le; | |
8 | uuid = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"; | |
9 | packet.header := struct { | |
25c7b1ae MD |
10 | uint32_t magic; |
11 | }; | |
ff34a255 MD |
12 | }; |
13 | ||
14 | variant var { | |
15 | uint8_t small; | |
16 | uint32_t big; | |
17 | }; | |
18 | ||
19 | enum select : uint8_t { small = 0, big = 1 }; | |
20 | ||
21 | stream { | |
22 | event.header := struct { | |
23 | enum select a; | |
24 | }; | |
25 | }; | |
26 | ||
27 | event { | |
28 | name = event1; | |
29 | fields := struct { | |
30 | /* | |
31 | * TODO: Only an identifier is expected in the variant/sequence | |
32 | * tag. It should be a dotted expression (a path). | |
25c7b1ae | 33 | * |
ff34a255 MD |
34 | */ |
35 | variant var <stream.event.header.a> b; | |
25c7b1ae MD |
36 | |
37 | /* | |
38 | * TODO | |
39 | * The path lookup only allows lookup for a full path starting | |
40 | * from the root or for a field within the current scope. The | |
41 | * CTF spec allows defining a relative sub-scope for a preceding | |
42 | * field. | |
43 | */ | |
44 | struct { | |
45 | enum select sel2; | |
46 | } str2; | |
47 | variant var2 <str2.sel2> b; | |
ff34a255 MD |
48 | }; |
49 | }; |