Explain that content size and packet size are opt.
[ctf.git] / common-trace-format-proposal.txt
index 7a3b61c7a6d6009704a84a703a6c8e8683e91905..0e5704657e46bd68e86ae3fc3f0d861a95cf0133 100644 (file)
@@ -530,14 +530,10 @@ the metadata.
 
 Fixed layout (event packet header):
 
-- Magic number (CTF magic numbers: 0xC1FC1FC1 and its reverse endianness
-  representation: 0xC11FFCC1) It needs to have a non-symmetric bytewise
-  representation. Used to distinguish between big and little endian traces (this
-  information is determined by knowing the endianness of the architecture
-  reading the trace and comparing the magic number against its value and the
-  reverse, 0xC11FFCC1). This magic number specifies that we use the CTF metadata
-  description language described in this document. Different magic numbers
-  should be used for other metadata description languages.
+- Magic number (CTF magic number: 0xC1FC1FC1 This magic number specifies
+  that we use the CTF metadata description language described in this
+  document. Different magic numbers should be used for other metadata
+  description languages.
 - Trace UUID, used to ensure the event packet match the metadata used.
   (note: we cannot use a metadata checksum because metadata can be appended to
    while tracing is active)
@@ -551,7 +547,7 @@ Metadata-defined layout (event packet context):
   header.
 - Per-stream event packet sequence count (to deal with UDP packet loss). The
   number of significant sequence counter bits should also be present, so
-  wrap-arounds are deal with correctly.
+  wrap-arounds are dealt with correctly.
 - Timestamp at the beginning and timestamp at the end of the event packet.
   Both timestamps are written in the packet header, but sampled respectively
   while (or before) writing the first event and while (or after) writing the
@@ -597,9 +593,6 @@ trace {
   packet.header := struct event_packet_header;
 };
 
-If a packet header lacks the "magic" number field, the trace endianness
-needs to be specified in the trace "endian" metadata attribute.
-
 If the trace_uuid is not present, no validation that the metadata
 actually corresponds to the stream is performed.
 
@@ -611,8 +604,9 @@ don't need to declare a "stream_id" field.
 5.2 Event Packet Context Description
 
 Event packet context example. These are declared within the stream declaration
-in the metadata. All these fields are optional except for "content_size" and
-"packet_size", which must be present in the context.
+in the metadata. All these fields are optional. If the packet size field is
+missing, the whole stream only contains a single packet. If the content
+size field is missing, the packet is filled (no padding).
 
 An example event packet context type:
 
@@ -902,10 +896,6 @@ The grammar representing the TSDL metadata is presented in Appendix C.
 TSDL Grammar. This section presents a rather ligher reading that
 consists in examples of TSDL metadata, with template values.
 
-Note that the trace endianness is usually extracted from the packet
-header magic number. The "endian" field is only needed when the magic
-number packet header field is not present.
-
 The stream "id" can be left out if there is only one stream in the
 trace. The event "id" field can be left out if there is only one event
 in a stream.
@@ -914,7 +904,7 @@ trace {
   major = value;                               /* Trace format version */
   minor = value;
   uuid = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa";       /* Trace UUID */
-  endian = big OR little;                      /* Endianness (optional) */
+  byte_order = be OR le;                       /* Endianness (required) */
   packet.header := struct {
     uint32_t magic;
     uint8_t  trace_uuid[16];
This page took 0.023128 seconds and 4 git commands to generate.