-struct channel *channel_create(const struct lib_ring_buffer_config *config,
- const char *name, void *priv,
- void *buf_addr,
- size_t subbuf_size, size_t num_subbuf,
- unsigned int switch_timer_interval,
- unsigned int read_timer_interval);
+struct lttng_ust_shm_handle *channel_create(const struct lttng_ust_lib_ring_buffer_config *config,
+ const char *name,
+ void **priv_data,
+ size_t priv_data_align,
+ size_t priv_data_size,
+ void *priv_data_init,
+ void *buf_addr,
+ size_t subbuf_size, size_t num_subbuf,
+ unsigned int switch_timer_interval,
+ unsigned int read_timer_interval,
+ int **shm_fd, int **wait_fd,
+ uint64_t **memory_map_size);
+
+/* channel_handle_create - for consumer. */
+extern
+struct lttng_ust_shm_handle *channel_handle_create(int shm_fd, int wait_fd,
+ uint64_t memory_map_size);
+
+/* channel_handle_add_stream - for consumer. */
+extern
+int channel_handle_add_stream(struct lttng_ust_shm_handle *handle,
+ int shm_fd, int wait_fd, uint64_t memory_map_size);