X-Git-Url: http://git.efficios.com/?p=ctf.git;a=blobdiff_plain;f=common-trace-format-proposal.txt;h=552ac32d33983d47f4b0dd30ba15abc4e198d25b;hp=cb8ee16499645d018b28c6e92899eb4d701823ed;hb=13441bf58f43115c03856276005260dc2b869ea7;hpb=eacb16d1f3e474265853018832ae358d74e5bb40 diff --git a/common-trace-format-proposal.txt b/common-trace-format-proposal.txt index cb8ee16..552ac32 100644 --- a/common-trace-format-proposal.txt +++ b/common-trace-format-proposal.txt @@ -193,6 +193,8 @@ TSDL meta-data representation: /* based used for pretty-printing output, default: decimal. */ base = decimal OR dec OR OR d OR i OR u OR 10 OR hexadecimal OR hex OR x OR X OR p OR 16 OR octal OR oct OR o OR 8 OR binary OR b OR 2; + /* character encoding, default: none */ + encoding = none or UTF8 or ASCII; } Example of type inheritance (creation of a uint32_t named type): @@ -211,6 +213,17 @@ typealias integer { align = 1; } := int5_t; +The character encoding field can be used to specify that the integer +must be printed as a text character when read. e.g.: + +typealias integer { + size = 8; + align = 8; + signed = false; + encoding = UTF8; +} := utf_char; + + 4.1.6 GNU/C bitfields The GNU/C bitfields follow closely the integer representation, with a @@ -649,7 +662,7 @@ the fields typically expected (although these fields are each optional): struct event_packet_header { uint32_t magic; - uint8_t trace_uuid[16]; + uint8_t uuid[16]; uint32_t stream_id; }; @@ -661,8 +674,8 @@ trace { If the magic number is not present, tools such as "file" will have no mean to discover the file type. -If the trace_uuid is not present, no validation that the meta-data -actually corresponds to the stream is performed. +If the uuid is not present, no validation that the meta-data actually +corresponds to the stream is performed. If the stream_id packet header field is missing, the trace can only contain a single stream. Its "id" field can be left out, and its events @@ -895,7 +908,7 @@ contains, exactly: struct metadata_packet_header { uint32_t magic; /* 0x75D11D57 */ - uint8_t trace_uuid[16]; /* Unique Universal Identifier */ + uint8_t uuid[16]; /* Unique Universal Identifier */ uint32_t checksum; /* 0 if unused */ uint32_t content_size; /* in bits */ uint32_t packet_size; /* in bits */ @@ -1010,7 +1023,7 @@ trace { byte_order = be OR le; /* Endianness (required) */ packet.header := struct { uint32_t magic; - uint8_t trace_uuid[16]; + uint8_t uuid[16]; uint32_t stream_id; }; }; @@ -1539,8 +1552,8 @@ ctf-type-specifier: string { ctf-assignment-expression-list-opt } ctf-assignment-expression-list: - ctf-assignment-expression - ctf-assignment-expression-list ; ctf-assignment-expression + ctf-assignment-expression ; + ctf-assignment-expression-list ctf-assignment-expression ; ctf-assignment-expression: unary-expression assignment-operator unary-expression