X-Git-Url: http://git.efficios.com/?p=ctf.git;a=blobdiff_plain;f=common-trace-format-specification.txt;h=797dec14a53adc3009e11417257323e94635af6b;hp=1e51849d7d95ded149bc17e2ccea5b527401f431;hb=fbf2fa4f7c15cfcde273e35cbc5ff2f9e7289043;hpb=47911ef224434f1908271119ed1537cf803cbcdc diff --git a/common-trace-format-specification.txt b/common-trace-format-specification.txt index 1e51849..797dec1 100644 --- a/common-trace-format-specification.txt +++ b/common-trace-format-specification.txt @@ -1,4 +1,4 @@ -Common Trace Format (CTF) Specification (v1.8.1) +Common Trace Format (CTF) Specification (v1.8.2) Mathieu Desnoyers, EfficiOS Inc. @@ -171,16 +171,24 @@ TSDL meta-data attribute representation of a specific alignment: 4.1.3 Byte order -By default, the native endianness of the source architecture is used. -Byte order can be overridden for a basic type by specifying a "byte_order" -attribute. Typical use-case is to specify the network byte order (big endian: -"be") to save data captured from the network into the trace without conversion. -If not specified, the byte order is native. +By default, byte order of a basic type is the byte order described in +the trace description. It can be overridden by specifying a +"byte_order" attribute for a basic type. Typical use-case is to specify +the network byte order (big endian: "be") to save data captured from the +network into the trace without conversion. TSDL meta-data representation: byte_order = native OR network OR be OR le; /* network and be are aliases */ +The "native" keyword selects the byte order described in the trace +description. The "network" byte order is an alias for big endian. + +Even though the trace description section is not per se a type, for sake +of clarity, it should be noted that "native" and "network" byte orders +are only allowed within type declaration. The byte_order specified in +the trace description section only accepts "be" or "le" values. + 4.1.4 Size Type size, in bits, for integers and floats is that returned by "sizeof()" in C @@ -604,7 +612,7 @@ Arrays are always aligned on their element alignment requirement. 4.2.4 Sequences -Sequences are dynamically-sized arrays. They refer to a a "length" +Sequences are dynamically-sized arrays. They refer to a "length" unsigned integer field, which must appear in either the same static scope, prior to the sequence field (in field declaration order), in an upper static scope, or in an upper dynamic scope (see Section 7.3.2). This @@ -1182,6 +1190,14 @@ event { }; }; +callsite { + name = "event_name"; + func = "func_name"; + file = "myfile.c"; + line = 39; + ip = 0x40096c; +}; + /* More detail on types in section 4. Types */ /* @@ -1437,6 +1453,7 @@ token: keyword: is one of align +callsite const char clock @@ -1760,6 +1777,7 @@ ctf-specifier: stream { ctf-assignment-expression-list-opt } env { ctf-assignment-expression-list-opt } trace { ctf-assignment-expression-list-opt } + callsite { ctf-assignment-expression-list-opt } typealias declaration-specifiers abstract-declarator-list type-assignment-operator declaration-specifiers abstract-declarator-list typealias declaration-specifiers abstract-declarator-list type-assignment-operator declarator-list