Add "tagged" union
[ctf.git] / common-trace-format-proposal.txt
index 4da86e3e871e48ed1de3c07cf6a36f2d11c2d6b5..0daac2adccfa4115a91f0576f0402f5c31be3157 100644 (file)
@@ -335,7 +335,7 @@ struct {
   ...
 }
 
-4.2.2 Variants (Discriminated Unions)
+4.2.2 Variants (Discriminated/Tagged Unions)
 
 A CTF variant is a selection between different types. A CTF variant must always
 be defined within the scope of a structure or within fields contained within a
@@ -771,7 +771,8 @@ and trace UUID.
 The metadata can be parsed by reading through the metadata strings, skipping
 newlines and null-characters. Type names are made of a single identifier, and
 can be surrounded by prefix/postfix. Text contained within "/*" and "*/", as
-well as within "//" and end of line, are treated as comments.
+well as within "//" and end of line, are treated as comments. Boolean values can
+be represented as true, TRUE, or 1 for true, and false, FALSE, or 0 for false.
 
 The grammar representing the CTF metadata is presented in
 Appendix C. CTF Metadata Grammar.
@@ -785,18 +786,13 @@ trace {
 
 stream {
   id = stream_id;
-  event {
-    header_alignment = value;
-    /* Type 1 - Few event IDs; Type 2 - Many event IDs. See section 6.2. */
-    header = event_header_1 OR event_header_2;
-    context = struct {
-      ...
-    };
+  /* Type 1 - Few event IDs; Type 2 - Many event IDs. See section 6.2. */
+  event.header = event_header_1 OR event_header_2;
+  event.context = struct {
+    ...
   };
-  packet {
-    context = struct {
-      ...
-    };
+  packet.context = struct {
+    ...
   };
 };
 
This page took 0.022763 seconds and 4 git commands to generate.