2 typealias integer { size = 8; align = 8; signed = false; base = hex; } := uint8_t;
3 typealias integer { size = 32; align = 8; signed = false; base = hex; } := uint32_t;
9 uuid = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa";
10 packet.header := struct {
20 enum select : uint8_t { small = 0, big = 1 };
23 event.header := struct {
32 * TODO: Only an identifier is expected in the variant/sequence
33 * tag. It should be a dotted expression (a path).
36 variant var <stream.event.header.a> b;
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
48 variant var2 <str2.sel2> b;
51 * TODO: Deal with path name lookup conflict, e.g. if a field is
52 * named "stream", it conflicts with the stream dynamic scope.
53 * Local fields hide dynamic scopes.
58 variant var3 <stream.sel3> c;
59 /* But now the following lookup should fail: */
60 /* variant var4 <stream.event.header.a> d; */
63 * TODO: support conflict-free local-scoped tags, starting with
66 variant var5 <.stream.sel3> e;