/* CTF 1.8 */

trace {
	major = 0;
	minor = 1;
	uuid = "f816d884-6cea-11e0-ac7a-8f5f4e9f7724";
	byte_order = be;	/* Assuming big endian streams */
};

/* Architecture with 32-bit pointers, 32-bit integers, 32-bit longs */

typealias integer { size = 32; align = 32; signed = false; } := uint32_t;
typealias integer { size = 64; align = 64; signed = false; } := uint64_t;
typealias integer { size = 32; align = 32; signed = false; } := void *;

stream {
	event.header := struct {
		uint32_t id;
		uint64_t timestamp;
	};
	event.context := struct {	/*
		uint32_t thread_id;	 * This context belongs to all
		void *func_called;	 * events in this stream.
		void *called_from;	 */
		uint32_t event_count;	/* for debug */
	};
};

/*
 * All events have empty context/fields, because their field layout is
 * replicated for all events of the stream (in this particular trace
 * layout). See ctf-embedded-2.txt for a more compact layout.
 */

event { name = invalid; id = 0; };
event { name = func_enter; id = 1; };
event { name = func_exit; id = 2; };
