*/
#include <babeltrace/types.h>
+#include <babeltrace/ctf/types.h>
+#include <sys/types.h>
+#include <dirent.h>
#include <uuid/uuid.h>
#include <assert.h>
#include <glib.h>
struct ctf_stream;
struct ctf_event;
+struct ctf_stream_file {
+ /* Information about stream backing file */
+ int fd;
+ char *mmap; /* current stream mmap */
+ struct stream_pos pos; /* current stream position */
+};
+
#define CTF_TRACE_SET_FIELD(ctf_trace, field) \
do { \
(ctf_trace)->field_mask |= CTF_TRACE_ ## field; \
struct declaration_scope *declaration_scope;
GPtrArray *streams; /* Array of struct ctf_stream pointers*/
+ struct ctf_stream_file metadata;
uint64_t major;
uint64_t minor;
uuid_t uuid;
- uint64_t word_size;
int byte_order;
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;
+
+ /* Information about trace backing directory and files */
+ DIR *dir;
+ int dirfd;
+ int flags; /* open flags */
};
#define CTF_STREAM_SET_FIELD(ctf_stream, field) \
enum { /* Fields populated mask */
CTF_STREAM_stream_id = (1 << 0),
} field_mask;
+
+ struct ctf_stream_file file; /* Backing file */
};
#define CTF_EVENT_SET_FIELD(ctf_event, field) \