Handle negative time and offset from Epoch
[babeltrace.git] / include / babeltrace / format.h
index d0f9378e5dfce942c785858345b2bd298e47c060..c9b84a6f59abf1c4462778a955b37a8b41c5bb2e 100644 (file)
@@ -44,21 +44,19 @@ typedef int bt_intern_str;
 struct bt_stream_pos;
 struct bt_context;
 struct bt_trace_handle;
+struct bt_trace_descriptor;
 
-/* Parent trace descriptor */
-struct bt_trace_descriptor {
-};
-
-struct mmap_stream {
+struct bt_mmap_stream {
        int fd;
        struct bt_list_head list;
+       void *priv;
 };
 
-struct mmap_stream_list {
+struct bt_mmap_stream_list {
        struct bt_list_head head;
 };
 
-struct format {
+struct bt_format {
        bt_intern_str name;
 
        struct bt_trace_descriptor *(*open_trace)(const char *path, int flags,
@@ -66,7 +64,7 @@ struct format {
                                size_t index, int whence),
                        FILE *metadata_fp);
        struct bt_trace_descriptor *(*open_mmap_trace)(
-                       struct mmap_stream_list *mmap_list,
+                       struct bt_mmap_stream_list *mmap_list,
                        void (*packet_seek)(struct bt_stream_pos *pos,
                                size_t index, int whence),
                        FILE *metadata_fp);
@@ -75,17 +73,19 @@ struct format {
                        struct bt_context *ctx);
        void (*set_handle)(struct bt_trace_descriptor *descriptor,
                        struct bt_trace_handle *handle);
-       uint64_t (*timestamp_begin)(struct bt_trace_descriptor *descriptor,
-                       struct bt_trace_handle *handle, enum bt_clock_type type);
-       uint64_t (*timestamp_end)(struct bt_trace_descriptor *descriptor,
-                       struct bt_trace_handle *handle, enum bt_clock_type type);
+       int (*timestamp_begin)(struct bt_trace_descriptor *descriptor,
+                       struct bt_trace_handle *handle, enum bt_clock_type type,
+                       int64_t *timestamp);
+       int (*timestamp_end)(struct bt_trace_descriptor *descriptor,
+                       struct bt_trace_handle *handle, enum bt_clock_type type,
+                       int64_t *timestamp);
        int (*convert_index_timestamp)(struct bt_trace_descriptor *descriptor);
 };
 
-extern struct format *bt_lookup_format(bt_intern_str qname);
+extern struct bt_format *bt_lookup_format(bt_intern_str qname);
 extern void bt_fprintf_format_list(FILE *fp);
-extern int bt_register_format(struct format *format);
-extern void bt_unregister_format(struct format *format);
+extern int bt_register_format(struct bt_format *format);
+extern void bt_unregister_format(struct bt_format *format);
 
 #ifdef __cplusplus
 }
This page took 0.025905 seconds and 4 git commands to generate.