+ snprintf(uuid_s, sizeof(uuid_s),
+ "%x%x%x%x-%x%x-%x%x-%x%x-%x%x%x%x%x%x",
+ uuid_s[0], uuid_s[1], uuid_s[2], uuid_s[3],
+ uuid_s[4], uuid_s[5], uuid_s[6], uuid_s[7],
+ uuid_s[8], uuid_s[9], uuid_s[10], uuid_s[11],
+ uuid_s[12], uuid_s[13], uuid_s[14], uuid_s[15]);
+
+ ret = lttng_metadata_printf(session,
+ "typealias integer {size = 8; align = %u; signed = false; } := uint8_t;\n"
+ "typealias integer {size = 32; align = %u; signed = false; } := uint32_t;\n"
+ "typealias integer {size = 64; align = %u; signed = false; } := uint64_t;\n"
+ "\n"
+ "trace {\n"
+ " major = %u;\n"
+ " minor = %u;\n"
+ " uuid = %s;\n"
+ " byte_order = %s;\n"
+ " packet.header := struct {\n"
+ " uint32_t magic;\n"
+ " uint8_t trace_uuid[16];\n"
+ " uint32_t stream_id;\n"
+ " uint64_t timestamp_begin;\n"
+ " uint64_t timestamp_end;\n"
+ " uint32_t content_size;\n"
+ " uint32_t packet_size;\n"
+ " uint32_t events_lost;\n"
+ " };\n",
+ "};\n\n",
+ ltt_alignof(uint8_t) * CHAR_BIT,
+ ltt_alignof(uint32_t) * CHAR_BIT,
+ ltt_alignof(uint64_t) * CHAR_BIT,
+ CTF_VERSION_MAJOR,
+ CTF_VERSION_MINOR,
+ uuid_s,
+#ifdef __BIG_ENDIAN
+ "be"
+#else
+ "le"
+#endif
+ );
+ if (ret)
+ goto end;
+