Add a save API to lttng-ctl
[lttng-tools.git] / src / common / sessiond-comm / sessiond-comm.h
index 6861b04080d97db9cd4e3da589568650f9aa066d..bbc7ce5a8e403156e1bedc38ba574ffdccc390ea 100644 (file)
@@ -29,6 +29,7 @@
 #include <limits.h>
 #include <lttng/lttng.h>
 #include <lttng/snapshot-internal.h>
+#include <lttng/save-internal.h>
 #include <common/compat/socket.h>
 #include <common/uri.h>
 #include <common/defaults.h>
@@ -89,6 +90,7 @@ enum lttcomm_sessiond_command {
        LTTNG_SNAPSHOT_RECORD               = 28,
        LTTNG_CREATE_SESSION_SNAPSHOT       = 29,
        LTTNG_CREATE_SESSION_LIVE           = 30,
+       LTTNG_SAVE_SESSION                  = 31,
 };
 
 enum lttcomm_relayd_command {
@@ -106,8 +108,10 @@ enum lttcomm_relayd_command {
        RELAYD_ADD_INDEX                    = 12,
        RELAYD_SEND_INDEX                   = 13,
        RELAYD_CLOSE_INDEX                  = 14,
-       /* Live-reading commands. */
+       /* Live-reading commands (2.4+). */
        RELAYD_LIST_SESSIONS                = 15,
+       /* All streams of the channel have been sent to the relayd (2.4+). */
+       RELAYD_STREAMS_SENT                 = 16,
 };
 
 /*
@@ -230,6 +234,8 @@ struct lttcomm_session_msg {
                struct {
                        char channel_name[LTTNG_SYMBOL_NAME_LEN];
                        struct lttng_event event;
+                       /* Length of following filter expression. */
+                       uint32_t expression_len;
                        /* Length of following bytecode for filter. */
                        uint32_t bytecode_len;
                        /* exclusion data */
@@ -238,6 +244,7 @@ struct lttcomm_session_msg {
                         * After this structure, the following variable-length
                         * items are transmitted:
                         * - char exclusion_names[LTTNG_SYMBOL_NAME_LEN][exclusion_count]
+                        * - unsigned char filter_expression[expression_len]
                         * - unsigned char filter_bytecode[bytecode_len]
                         */
                } LTTNG_PACKED enable;
@@ -275,6 +282,9 @@ struct lttcomm_session_msg {
                        uint32_t nb_uri;
                        unsigned int timer_interval;    /* usec */
                } LTTNG_PACKED session_live;
+               struct {
+                       struct lttng_save_session_attr attr;
+               } LTTNG_PACKED save_session;
        } u;
 } LTTNG_PACKED;
 
@@ -433,6 +443,10 @@ struct lttcomm_consumer_msg {
                        uint64_t key;
                        uint64_t max_stream_size;
                } LTTNG_PACKED snapshot_channel;
+               struct {
+                       uint64_t channel_key;
+                       uint64_t net_seq_idx;
+               } LTTNG_PACKED sent_streams;
        } u;
 } LTTNG_PACKED;
 
This page took 0.025444 seconds and 5 git commands to generate.