c148a436964ea350a926c564e1096f6a2b294789
[babeltrace.git] / formats / ctf / metadata / ctf-test / succeed / ctf-test.txt
1
2 typealias integer { size = 32; align = 32; signed = true; } := int;
3 typealias integer { size = 64; align = 64; signed = true; } := long;
4 typealias integer { size = 64; align = 64; } := unsigned long;
5
6 enum name1 <int> {
7 ZERO,
8 ONE,
9 TWO,
10 TEN = 10,
11 ELEVEN,
12 };
13
14 enum name2 <long> { ONE, TWO };
15
16 enum name3 <unsigned long> { ONE, TWO };
17
18 enum name4 <unsigned long> {
19 string = 1 ... 2,
20 "other string" = 3...4,
21 yet_another_string, /* will be assigned to end_value2 + 1 */
22 "some other string" = 10,
23 };
24
25 enum name5 <long> { "int" = 1, };
26
27 typealias floating_point {
28 exp_dig = 8; /* sizeof(float) * CHAR_BIT - FLT_MANT_DIG */
29 mant_dig = 24; /* FLT_MANT_DIG */
30 byte_order = native;
31 } := float;
32
33 typealias integer {
34 size = 32;
35 align = 32;
36 signed = false;
37 } := struct page *;
38
39 trace {
40 major = 66;
41 minor = 2;
42 uuid = "1123fcea-706e-11e0-a38b-f3c28a683a3d";
43 word_size = 64;
44 };
45
46 stream {
47 typealias integer { size = 64; align = 64; signed = false; } := uint64_t;
48 typealias integer { size = 16; align = 16; signed = false; } := uint16_t;
49 typealias integer { size = 32; align = 32; signed = true; } := int;
50 typedef int pid_t;
51
52 id = 5;
53 /* Type 1 - Few event IDs; Type 2 - Many event IDs. See section 6.2. */
54 event.header := struct { uint64_t timestamp; uint16_t id; };
55 event.context := struct { pid_t pid; };
56 };
57
58 struct example {
59 /* TODO gcc bitfields not supported yet. */
60 /* short a:12;
61 short b:5; */
62 };
63
64 struct name {
65 typealias integer { size = 64; align = 64; signed = false; } := uint64_t;
66 typealias integer { size = 32; align = 32; signed = false; } := uint32_t;
67 typealias integer { size = 32; align = 32; signed = true; } := int32_t;
68 typealias integer { size = 2; align = 8; signed = false; } := uint2_t;
69 typealias integer { size = 16; align = 16; signed = true; } := short;
70 typealias uint32_t := unsigned int;
71
72 enum <uint2_t> { a, b, c, d } choice;
73 /* Unrelated fields can be added between the variant and its tag */
74 int32_t somevalue;
75 variant <choice> {
76 uint32_t a;
77 uint64_t b;
78 short c;
79 struct {
80 unsigned int field1;
81 uint64_t field2;
82 } d;
83 } s;
84 };
85
86 typealias integer {
87 size = 32;
88 signed = false;
89 align = 32;
90 } := uint32_t;
91
92 typealias string { encoding = UTF8; } := test;
93
94 struct event_packet_header {
95 typealias integer { size = 32; align = 32; signed = false; } := uint32_t;
96 typealias integer { size = 8; align = 8; signed = false; } := uint8_t;
97
98 uint32_t magic;
99 uint8_t trace_uuid[16];
100 uint32_t stream_id;
101 };
102
103 struct event_packet_context {
104 typealias integer { size = 64; align = 64; signed = false; } := uint64_t;
105 typealias integer { size = 32; align = 32; signed = false; } := uint32_t;
106 typealias integer { size = 16; align = 16; signed = false; } := uint16_t;
107 typealias integer { size = 8; align = 8; signed = false; } := uint8_t;
108
109 uint64_t timestamp_begin;
110 uint64_t timestamp_end;
111 uint32_t checksum;
112 uint32_t stream_packet_count;
113 uint32_t events_discarded;
114 uint32_t cpu_id;
115 uint16_t content_size;
116 uint16_t packet_size;
117 uint8_t stream_packet_count_bits; /* Significant counter bits */
118 uint8_t compression_scheme;
119 uint8_t encryption_scheme;
120 uint8_t checksum_scheme;
121 };
122
123 struct event_header_1 {
124 typealias integer { size = 64; align = 64; signed = false; } := uint64_t;
125 typealias integer { size = 32; align = 32; signed = false; } := uint32_t;
126 typealias integer { size = 5; align = 1; signed = false; } := uint5_t;
127 typealias integer { size = 27; align = 1; signed = false; } := uint27_t;
128
129 /*
130 * id: range: 0 - 30.
131 * id 31 is reserved to indicate an extended header.
132 */
133 enum <uint5_t> { compact = 0 ... 30, extended = 31 } id;
134 variant <id> {
135 struct {
136 uint27_t timestamp;
137 } compact;
138 struct {
139 uint32_t id; /* 32-bit event IDs */
140 uint64_t timestamp; /* 64-bit timestamps */
141 } extended;
142 } v;
143 };
144
145 struct event_header_2 {
146 typealias integer { size = 64; align = 64; signed = false; } := uint64_t;
147 typealias integer { size = 32; align = 32; signed = false; } := uint32_t;
148 typealias integer { size = 16; align = 16; signed = false; } := uint16_t;
149
150 /*
151 * id: range: 0 - 65534.
152 * id 65535 is reserved to indicate an extended header.
153 */
154 enum <uint16_t> { compact = 0 ... 65534, extended = 65535 } id;
155 variant <id> {
156 struct {
157 uint32_t timestamp;
158 } compact;
159 struct {
160 uint32_t id; /* 32-bit event IDs */
161 uint64_t timestamp; /* 64-bit timestamps */
162 } extended;
163 } v;
164 };
165
166 typedef int rootscopetest;
167
168 /* parser level only: event { a.b.c.d.e = f.g.h->i->j; }; */
169
170 event {
171 name = test_event;
172 id = 0;
173 stream_id = 5;
174 context := struct {};
175 payload := struct {};
176 };
177
178 typealias integer { size = 32; align = 32; signed = false; } := unsigned long long *;
This page took 0.03202 seconds and 3 git commands to generate.