X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=libustctl%2Fustctl.c;h=abe6d034bb4211f7941da8dcec40cb4a56325cbc;hb=6e922b240977010b0f257d22c379df95cf1a6fb9;hp=581de965c573ad2610e53692786cda5b976b1f34;hpb=5224b5c8815b8afb888359719e1d05c1e2514c48;p=lttng-ust.git diff --git a/libustctl/ustctl.c b/libustctl/ustctl.c index 581de965..abe6d034 100644 --- a/libustctl/ustctl.c +++ b/libustctl/ustctl.c @@ -452,6 +452,31 @@ void ustctl_unmap_channel(struct shm_handle *handle) channel_destroy(chan, handle, 1); } +struct lib_ring_buffer *ustctl_open_stream_read(struct shm_handle *handle, + int cpu) +{ + struct channel *chan = handle->shadow_chan; + int shm_fd, wait_fd; + uint64_t memory_map_size; + struct lib_ring_buffer *buf; + int ret; + + buf = channel_get_ring_buffer(&chan->backend.config, + chan, cpu, handle, &shm_fd, &wait_fd, &memory_map_size); + if (!buf) + return NULL; + ret = lib_ring_buffer_open_read(buf, handle, 1); + if (ret) + return NULL; + return buf; +} + +void ustctl_close_stream_read(struct shm_handle *handle, + struct lib_ring_buffer *buf) +{ + lib_ring_buffer_release_read(buf, handle, 1); +} + /* For mmap mode, readable without "get" operation */ /* returns the length to mmap. */