Add text-based metadata header: /* TSDL
[babeltrace.git] / formats / ctf / metadata / ctf-test / succeed / ctf-test.txt
index c148a436964ea350a926c564e1096f6a2b294789..b6ff20a25371a02dc44265ff93522fe16677134d 100644 (file)
@@ -1,9 +1,11 @@
+/* TSDL */
 
 typealias integer { size = 32; align = 32; signed = true; } := int;
+typealias integer { size = 32; align = 32; signed = false; } := uint;
 typealias integer { size = 64; align = 64; signed = true; } := long;
 typealias integer { size = 64; align = 64; } := unsigned long;
 
-enum name1 <int> {
+enum name1 : int {
   ZERO,
   ONE,
   TWO,
@@ -11,18 +13,20 @@ enum name1 <int> {
   ELEVEN,
 };
 
-enum name2 <long> { ONE, TWO };
+enum name2 : long { ONE, TWO };
 
-enum name3 <unsigned long> { ONE, TWO };
+enum name3 : unsigned long { ONE, TWO };
 
-enum name4 <unsigned long> {
+enum name4 : unsigned long {
   string          = 1 ... 2,
   "other string"      = 3...4,
   yet_another_string,   /* will be assigned to end_value2 + 1 */
   "some other string" = 10,
 };
 
-enum name5 <long> { "int" = 1, };
+enum name5 : long { "int" = 1, };
+
+enum name6 { "int" = 1, };
 
 typealias floating_point {
   exp_dig = 8;         /* sizeof(float) * CHAR_BIT - FLT_MANT_DIG */
@@ -36,11 +40,21 @@ typealias integer {
   signed = false;
 } := struct page *;
 
+struct event_packet_header {
+  typealias integer { size = 32; align = 32; signed = false; } := uint32_t;
+  typealias integer { size = 8; align = 8; signed = false; } := uint8_t;
+
+  uint32_t magic;
+  uint8_t  uuid[16];
+  uint32_t stream_id;
+};
+
 trace {
        major = 66;
        minor = 2;
+       byte_order = le;
        uuid = "1123fcea-706e-11e0-a38b-f3c28a683a3d";
-       word_size = 64;
+       packet.header := struct event_packet_header;
 };
 
 stream {
@@ -69,7 +83,7 @@ struct name {
   typealias integer { size = 16; align = 16; signed = true; } := short;
   typealias uint32_t := unsigned int;
 
-  enum <uint2_t> { a, b, c, d } choice;
+  enum : uint2_t { a, b, c, d } choice;
   /* Unrelated fields can be added between the variant and its tag */
   int32_t somevalue;
   variant <choice> {
@@ -91,15 +105,6 @@ typealias integer {
 
 typealias string { encoding = UTF8; } := test;
 
-struct event_packet_header {
-  typealias integer { size = 32; align = 32; signed = false; } := uint32_t;
-  typealias integer { size = 8; align = 8; signed = false; } := uint8_t;
-
-  uint32_t magic;
-  uint8_t  trace_uuid[16];
-  uint32_t stream_id;
-};
-
 struct event_packet_context {
   typealias integer { size = 64; align = 64; signed = false; } := uint64_t;
   typealias integer { size = 32; align = 32; signed = false; } := uint32_t;
@@ -130,7 +135,7 @@ struct event_header_1 {
    * id: range: 0 - 30.
    * id 31 is reserved to indicate an extended header.
    */
-  enum <uint5_t> { compact = 0 ... 30, extended = 31 } id;
+  enum : uint5_t { compact = 0 ... 30, extended = 31 } id;
   variant <id> {
     struct {
       uint27_t timestamp;
@@ -151,7 +156,7 @@ struct event_header_2 {
    * id: range: 0 - 65534.
    * id 65535 is reserved to indicate an extended header.
    */
-  enum <uint16_t> { compact = 0 ... 65534, extended = 65535 } id;
+  enum : uint16_t { compact = 0 ... 65534, extended = 65535 } id;
   variant <id> {
     struct {
       uint32_t timestamp;
@@ -172,7 +177,29 @@ event {
        id = 0;
        stream_id = 5;
        context := struct {};
-       payload := struct {};
+       fields := struct {};
 };
 
 typealias integer { size = 32; align = 32; signed = false; } := unsigned long long *;
+
+variant vardecl {
+       int a;
+       int b;
+};
+
+event {
+       typealias integer { size = 8; align = 8; signed = true; } := char;
+       typealias integer { size = 32; align = 32; signed = false; } := unsigned int;
+
+       name = test_event2;
+       id = 1;
+       stream_id = 5;
+       fields := struct {
+               enum : char { a = 0, b = 1, } tag;
+               variant vardecl <tag> myvariant;
+               unsigned int seqlen;
+               int myseq[seqlen];
+       };
+};
+
+typedef int myarray[10];
This page took 0.025283 seconds and 4 git commands to generate.