-struct ctf_trace;
-struct ctf_stream;
-struct ctf_event;
-
-#define CTF_TRACE_SET_FIELD(ctf_trace, field, value) \
- do { \
- (ctf_trace)->(field) = (value); \
- (ctf_trace)->field_mask |= CTF_TRACE_ ## field; \
- } while (0)
-
-#define CTF_TRACE_FIELD_IS_SET(ctf_trace, field) \
- ((ctf_trace)->field_mask & CTF_TRACE_ ## field)
-
-#define CTF_TRACE_GET_FIELD(ctf_trace, field) \
- ({ \
- assert(CTF_TRACE_FIELD_IS_SET(ctf_trace, field)); \
- (ctf_trace)->(field); \
- })
-
-
-struct ctf_trace {
- /* root scope */
- struct declaration_scope *root_declaration_scope;
- /* root scope */
- struct definition_scope *root_definition_scope;
-
- struct declaration_scope *declaration_scope;
- struct definition_scope *definition_scope;
- GPtrArray *streams; /* Array of struct ctf_stream pointers*/
-
- uint64_t major;
- uint64_t minor;
- uuid_t uuid;
- uint64_t word_size;
-
- enum { /* Fields populated mask */
- CTF_TRACE_major = (1U << 0),
- CTF_TRACE_minor = (1U << 1),
- CTF_TRACE_uuid = (1U << 2),
- CTF_TRACE_word_size = (1U << 3),
- } field_mask;
-};
-
-#define CTF_STREAM_SET_FIELD(ctf_stream, field, value) \
- do { \
- (ctf_stream)->(field) = (value); \
- (ctf_stream)->field_mask |= CTF_STREAM_ ## field; \
- } while (0)
-
-#define CTF_STREAM_FIELD_IS_SET(ctf_stream, field) \
- ((ctf_stream)->field_mask & CTF_STREAM_ ## field)