update test files header to "CTF 1.8"
[babeltrace.git] / formats / ctf / metadata / ctf-test / tofix / ctf-path.txt
CommitLineData
b7beee1d 1/* CTF 1.8 */
ff34a255
MD
2typealias integer { size = 8; align = 8; signed = false; base = hex; } := uint8_t;
3typealias integer { size = 32; align = 8; signed = false; base = hex; } := uint32_t;
4
5trace {
6 major = 1;
7 minor = 2;
8 byte_order = le;
9 uuid = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa";
10 packet.header := struct {
25c7b1ae
MD
11 uint32_t magic;
12 };
ff34a255
MD
13};
14
15variant var {
16 uint8_t small;
17 uint32_t big;
18};
19
20enum select : uint8_t { small = 0, big = 1 };
21
22stream {
23 event.header := struct {
24 enum select a;
25 };
26};
27
28event {
29 name = event1;
30 fields := struct {
31 /*
32 * TODO: Only an identifier is expected in the variant/sequence
33 * tag. It should be a dotted expression (a path).
25c7b1ae 34 *
ff34a255
MD
35 */
36 variant var <stream.event.header.a> b;
25c7b1ae
MD
37
38 /*
39 * TODO
40 * The path lookup only allows lookup for a full path starting
41 * from the root or for a field within the current scope. The
42 * CTF spec allows defining a relative sub-scope for a preceding
43 * field.
44 */
45 struct {
46 enum select sel2;
47 } str2;
48 variant var2 <str2.sel2> b;
7fb16836
MD
49
50 /*
51 * TODO: Deal with path name lookup conflict, e.g. if a field is
52 * named "stream", it conflicts with the stream dynamic scope.
8a9a5dfe 53 * Local fields hide dynamic scopes.
7fb16836
MD
54 */
55 struct {
56 enum select sel3
57 } stream;
8a9a5dfe
MD
58 variant var3 <stream.sel3> c;
59 /* But now the following lookup should fail: */
60 /* variant var4 <stream.event.header.a> d; */
7fb16836
MD
61
62 /*
63 * TODO: support conflict-free local-scoped tags, starting with
64 * ".".
65 */
8a9a5dfe 66 variant var5 <.stream.sel3> e;
ff34a255
MD
67 };
68};
This page took 0.025931 seconds and 4 git commands to generate.