Port: handle 'size_t' / 'off_t' on Solaris
[babeltrace.git] / plugins / ctf / fs-src / data-stream-file.c
index 5d255ab78441ecf08bc882fc9ac4dbb3547c3672..b49a32f683e93bce72ba7c2072153a363553aa3f 100644 (file)
@@ -110,9 +110,9 @@ enum bt_ctf_notif_iter_medium_status ds_file_mmap_next(
                        PROT_READ, MAP_PRIVATE, fileno(ds_file->file->fp),
                        ds_file->mmap_offset);
        if (ds_file->mmap_addr == MAP_FAILED) {
-               BT_LOGE("Cannot memory-map address (size %zu) of file \"%s\" (%p) at offset %zu: %s",
+               BT_LOGE("Cannot memory-map address (size %zu) of file \"%s\" (%p) at offset %jd: %s",
                                ds_file->mmap_len, ds_file->file->path->str,
-                               ds_file->file->fp, ds_file->mmap_offset,
+                               ds_file->file->fp, (intmax_t) ds_file->mmap_offset,
                                strerror(errno));
                goto error;
        }
@@ -176,7 +176,8 @@ end:
 
 static
 struct bt_ctf_stream *medop_get_stream(
-               struct bt_ctf_stream_class *stream_class, void *data)
+               struct bt_ctf_stream_class *stream_class, uint64_t stream_id,
+               void *data)
 {
        struct ctf_fs_ds_file *ds_file = data;
        struct bt_ctf_stream_class *ds_file_stream_class;
@@ -199,10 +200,12 @@ end:
        return stream;
 }
 
-static struct bt_ctf_notif_iter_medium_ops medops = {
+BT_HIDDEN
+struct bt_ctf_notif_iter_medium_ops ctf_fs_ds_file_medops = {
        .request_bytes = medop_request_bytes,
        .get_stream = medop_get_stream,
 };
+
 static
 struct ctf_fs_ds_index *ctf_fs_ds_index_create(size_t length)
 {
@@ -521,6 +524,7 @@ error:
 BT_HIDDEN
 struct ctf_fs_ds_file *ctf_fs_ds_file_create(
                struct ctf_fs_trace *ctf_fs_trace,
+               struct bt_ctf_notif_iter *notif_iter,
                struct bt_ctf_stream *stream, const char *path)
 {
        int ret;
@@ -544,8 +548,8 @@ struct ctf_fs_ds_file *ctf_fs_ds_file_create(
                goto error;
        }
 
-       ds_file->notif_iter = bt_ctf_notif_iter_create(
-               ctf_fs_trace->metadata->trace, page_size, medops, ds_file);
+       ds_file->notif_iter = notif_iter;
+       bt_ctf_notif_iter_set_medops_data(ds_file->notif_iter, ds_file);
        if (!ds_file->notif_iter) {
                goto error;
        }
@@ -585,10 +589,6 @@ void ctf_fs_ds_file_destroy(struct ctf_fs_ds_file *ds_file)
                ctf_fs_file_destroy(ds_file->file);
        }
 
-       if (ds_file->notif_iter) {
-               bt_ctf_notif_iter_destroy(ds_file->notif_iter);
-       }
-
        g_free(ds_file);
 }
 
This page took 0.026269 seconds and 4 git commands to generate.