X-Git-Url: http://git.efficios.com/?p=ctf.git;a=blobdiff_plain;f=common-trace-format-proposal.txt;h=3b4e407c38c30a01ae71f394d57a157de128b71b;hp=97f67e7793609c09c5a2b39d9c642497340cf859;hb=3d13ef1a022617489f5509bc6d3b0676ce86a5c1;hpb=cc089c3a15c506c905e594c2ac350f41b84706b0;ds=sidebyside diff --git a/common-trace-format-proposal.txt b/common-trace-format-proposal.txt index 97f67e7..3b4e407 100644 --- a/common-trace-format-proposal.txt +++ b/common-trace-format-proposal.txt @@ -1,5 +1,5 @@ -RFC: Common Trace Format Proposal (v1.6) +RFC: Common Trace Format (CTF) Proposal (v1.6) Mathieu Desnoyers, EfficiOS Inc. @@ -717,7 +717,7 @@ stream { }; event { - name = eventname; + name = event_name; id = value; /* Numeric identifier within the stream */ stream = stream_id; fields = struct { @@ -727,18 +727,34 @@ event { /* More detail on types in section 4. Types */ -/* Named types */ -typedef some existing type new_type; +/* + * Named types: + * + * A named type can only have a prefix and postfix if it aliases a CTF basic + * type. A type name aliasing another type name cannot have prefix nor postfix, + * but the type aliased can have a prefix and/or postfix. + */ + +typedef aliased_type_prefix aliased_type new_type aliased_type_postfix; +/* e.g.: typedef struct example new_type_name[10]; */ typedef type_class { ... -} new_type; +} new_type_prefix new_type new_type_postfix; +/* + * e.g.: + * typedef integer { + * size = 32; + * align = 32; + * signed = false; + * } struct page *; + */ struct name { ... }; -enum name { +enum name { ... }; @@ -747,7 +763,7 @@ struct { ... }; -enum { +enum { ... };