struct ctf_stream_class;
struct ctf_stream;
struct ctf_event;
+struct ctf_stream;
+struct ctf_clock;
struct ctf_stream {
struct ctf_stream_class *stream_class;
uint64_t event_id; /* Current event ID */
int has_timestamp;
uint64_t stream_id;
+ int consumed; /* Last packet used by caller */
struct definition_struct *trace_packet_header;
struct definition_struct *stream_packet_context;
struct definition_scope *parent_def_scope; /* for initialization */
int stream_definitions_created;
+ struct ctf_clock *current_clock;
+
/* Event discarded information */
uint32_t events_discarded;
uint64_t prev_timestamp; /* Last event */
enum { /* Fields populated mask */
CTF_CLOCK_name = (1U << 0),
+ CTF_CLOCK_freq = (1U << 1),
} field_mask;
};
GPtrArray *streams; /* Array of struct ctf_stream_class pointers */
struct ctf_stream *metadata;
GHashTable *clocks;
+ struct ctf_clock *single_clock; /* currently supports only one clock */
struct trace_collection *collection; /* Container of this trace */
struct declaration_struct *packet_header_decl;
/* Heap of streams, ordered to always get the lowest timestam */
struct ptr_heap *stream_heap;
- char collection_path[PATH_MAX];
char path[PATH_MAX];
- char domain[PATH_MAX];
- char procname[PATH_MAX];
- char vpid[PATH_MAX];
};
#define CTF_STREAM_SET_FIELD(ctf_stream, field) \