+struct consumer_socket *consumer_find_socket(int key,
+ struct consumer_output *consumer);
+struct consumer_socket *consumer_allocate_socket(int fd);
+void consumer_add_socket(struct consumer_socket *sock,
+ struct consumer_output *consumer);
+void consumer_del_socket(struct consumer_socket *sock,
+ struct consumer_output *consumer);
+void consumer_destroy_socket(struct consumer_socket *sock);
+
+struct consumer_output *consumer_create_output(enum consumer_dst_type type);
+struct consumer_output *consumer_copy_output(struct consumer_output *obj);
+void consumer_destroy_output(struct consumer_output *obj);
+int consumer_set_network_uri(struct consumer_output *obj,
+ struct lttng_uri *uri);
+int consumer_send_fds(int sock, int *fds, size_t nb_fd);
+int consumer_send_stream(int sock, struct consumer_output *dst,
+ struct lttcomm_consumer_msg *msg, int *fds, size_t nb_fd);
+int consumer_send_channel(int sock, struct lttcomm_consumer_msg *msg);
+int consumer_send_relayd_socket(int consumer_sock,
+ struct lttcomm_sock *sock, struct consumer_output *consumer,
+ enum lttng_stream_type type);
+int consumer_send_destroy_relayd(struct consumer_socket *sock,
+ struct consumer_output *consumer);
+void consumer_output_send_destroy_relayd(struct consumer_output *consumer);
+int consumer_create_socket(struct consumer_data *data,
+ struct consumer_output *output);
+int consumer_set_subdir(struct consumer_output *consumer,
+ const char *session_name);
+
+void consumer_init_stream_comm_msg(struct lttcomm_consumer_msg *msg,
+ enum lttng_consumer_command cmd,
+ int channel_key,
+ int stream_key,
+ uint32_t state,
+ enum lttng_event_output output,
+ uint64_t mmap_len,
+ uid_t uid,
+ gid_t gid,
+ int net_index,
+ unsigned int metadata_flag,
+ const char *name,
+ const char *pathname);
+void consumer_init_channel_comm_msg(struct lttcomm_consumer_msg *msg,
+ enum lttng_consumer_command cmd,
+ int channel_key,
+ uint64_t max_sb_size,
+ uint64_t mmap_len,
+ const char *name);
+