- size_t (*packet_avail_size)(struct lttng_ust_lib_ring_buffer_channel *chan,
- struct lttng_ust_shm_handle *handle);
- int (*is_finalized)(struct lttng_ust_lib_ring_buffer_channel *chan);
- int (*is_disabled)(struct lttng_ust_lib_ring_buffer_channel *chan);
- int (*flush_buffer)(struct lttng_ust_lib_ring_buffer_channel *chan,
- struct lttng_ust_shm_handle *handle);
+ size_t (*packet_avail_size)(struct lttng_ust_channel_buffer *chan);
+ int (*is_finalized)(struct lttng_ust_channel_buffer *chan);
+ int (*is_disabled)(struct lttng_ust_channel_buffer *chan);
+ int (*flush_buffer)(struct lttng_ust_channel_buffer *chan);
+};
+
+struct lttng_ust_channel_common_private {
+ struct lttng_ust_channel_common *pub; /* Public channel interface */
+
+ int objd; /* Object associated with channel. */
+ int tstate:1; /* Transient enable state */
+};
+
+struct lttng_ust_channel_buffer_private {
+ struct lttng_ust_channel_common_private parent;
+
+ struct lttng_ust_channel_buffer *pub; /* Public channel buffer interface */
+ struct cds_list_head node; /* Channel list in session */
+ int header_type; /* 0: unset, 1: compact, 2: large */
+ unsigned int id; /* Channel ID */
+ enum lttng_ust_abi_chan_type type;
+ struct lttng_ust_ctx *ctx;
+ struct lttng_ust_lib_ring_buffer_channel *rb_chan; /* Ring buffer channel */
+ unsigned char uuid[LTTNG_UST_UUID_LEN]; /* Trace session unique ID */
+};
+
+/*
+ * IMPORTANT: this structure is part of the ABI between the consumer
+ * daemon and the UST library within traced applications. Changing it
+ * breaks the UST communication protocol.
+ *
+ * TODO: remove unused fields on next UST communication protocol
+ * breaking update.
+ */
+struct lttng_ust_abi_channel_config {
+ void *unused1;
+ int unused2;
+ void *unused3;
+ void *unused4;
+ int unused5;
+ struct cds_list_head unused6;
+ void *unused7;
+ int unused8;
+ void *unused9;
+
+ /* Channel ID */
+ unsigned int id;
+ enum lttng_ust_abi_chan_type unused10;
+ unsigned char uuid[LTTNG_UST_UUID_LEN]; /* Trace session unique ID */
+ int unused11:1;