Introduce the relayd socket object
[lttng-tools.git] / src / common / sessiond-comm / sessiond-comm.h
index 63d4eda078866b17342089aae7382e5aebf243a2..ebb896b585e6fb759a9ea0c85f32c801f4d94ec2 100644 (file)
@@ -171,6 +171,16 @@ struct lttcomm_sock {
        const struct lttcomm_proto_ops *ops;
 } LTTNG_PACKED;
 
+/*
+ * Relayd sock. Adds the protocol version to use for the communications with
+ * the relayd.
+ */
+struct lttcomm_relayd_sock {
+       struct lttcomm_sock sock;
+       uint32_t major;
+       uint32_t minor;
+} LTTNG_PACKED;
+
 struct lttcomm_net_family {
        int family;
        int (*create) (struct lttcomm_sock *sock, int type, int proto);
@@ -291,6 +301,8 @@ struct lttcomm_consumer_msg {
                        /* Use splice or mmap to consume this fd */
                        enum lttng_event_output output;
                        int type; /* Per cpu or metadata. */
+                       uint64_t tracefile_size; /* bytes */
+                       uint32_t tracefile_count; /* number of tracefiles */
                } LTTNG_PACKED channel; /* Only used by Kernel. */
                struct {
                        uint64_t stream_key;
@@ -301,7 +313,7 @@ struct lttcomm_consumer_msg {
                        uint64_t net_index;
                        enum lttng_stream_type type;
                        /* Open socket to the relayd */
-                       struct lttcomm_sock sock;
+                       struct lttcomm_relayd_sock sock;
                        /* Tracing session id associated to the relayd. */
                        uint64_t session_id;
                } LTTNG_PACKED relayd_sock;
@@ -328,6 +340,8 @@ struct lttcomm_consumer_msg {
                        uint64_t key;                           /* Unique channel key. */
                        unsigned char uuid[UUID_STR_LEN];       /* uuid for ust tracer. */
                        uint32_t chan_id;                       /* Channel ID on the tracer side. */
+                       uint64_t tracefile_size;        /* bytes */
+                       uint32_t tracefile_count;       /* number of tracefiles */
                } LTTNG_PACKED ask_channel;
                struct {
                        uint64_t key;
@@ -421,4 +435,8 @@ extern struct lttcomm_sock *lttcomm_alloc_copy_sock(struct lttcomm_sock *src);
 extern void lttcomm_copy_sock(struct lttcomm_sock *dst,
                struct lttcomm_sock *src);
 
+/* Relayd socket object. */
+extern struct lttcomm_relayd_sock *lttcomm_alloc_relayd_sock(
+               struct lttng_uri *uri, uint32_t major, uint32_t minor);
+
 #endif /* _LTTNG_SESSIOND_COMM_H */
This page took 0.023424 seconds and 4 git commands to generate.