Remove ENABLE_EVENT_* values and fix enable filtering
[lttng-tools.git] / src / common / sessiond-comm / sessiond-comm.h
index cf6262e6aabe6e1bd9e5b932f943614039b71ea7..2246477f385f5e47496187d2ab73d4804bcaec53 100644 (file)
@@ -80,8 +80,8 @@ enum lttcomm_sessiond_command {
        LTTNG_DISABLE_CONSUMER              = 19,
        LTTNG_ENABLE_CONSUMER               = 20,
        LTTNG_SET_CONSUMER_URI              = 21,
-       LTTNG_ENABLE_EVENT_WITH_FILTER      = 22,
-       LTTNG_HEALTH_CHECK                  = 23,
+       /* 22 */
+       /* 23 */
        LTTNG_DATA_PENDING                  = 24,
        LTTNG_SNAPSHOT_ADD_OUTPUT           = 25,
        LTTNG_SNAPSHOT_DEL_OUTPUT           = 26,
@@ -103,6 +103,11 @@ enum lttcomm_relayd_command {
        RELAYD_QUIESCENT_CONTROL            = 9,
        RELAYD_BEGIN_DATA_PENDING           = 10,
        RELAYD_END_DATA_PENDING             = 11,
+       RELAYD_ADD_INDEX                    = 12,
+       RELAYD_SEND_INDEX                   = 13,
+       RELAYD_CLOSE_INDEX                  = 14,
+       /* Live-reading commands. */
+       RELAYD_LIST_SESSIONS                = 15,
 };
 
 /*
@@ -225,6 +230,14 @@ struct lttcomm_session_msg {
                        struct lttng_event event;
                        /* Length of following bytecode for filter. */
                        uint32_t bytecode_len;
+                       /* exclusion data */
+                       uint32_t exclusion_count;
+                       /*
+                        * After this structure, the following variable-length
+                        * items are transmitted:
+                        * - char exclusion_names[LTTNG_SYMBOL_NAME_LEN][exclusion_count]
+                        * - unsigned char filter_bytecode[bytecode_len]
+                        */
                } LTTNG_PACKED enable;
                /* Create channel */
                struct {
@@ -279,6 +292,18 @@ struct lttng_filter_bytecode {
        char data[0];
 } LTTNG_PACKED;
 
+/*
+ * Event exclusion data. At the end of the structure, there will actually
+ * by zero or more names, where the actual number of names is given by
+ * the 'count' item of the structure.
+ */
+#define LTTNG_EVENT_EXCLUSION_PADDING  32
+struct lttng_event_exclusion {
+       uint32_t count;
+       char padding[LTTNG_EVENT_EXCLUSION_PADDING];
+       char names[LTTNG_SYMBOL_NAME_LEN][0];
+} LTTNG_PACKED;
+
 /*
  * Data structure for the response from sessiond to the lttng client.
  */
@@ -295,15 +320,6 @@ struct lttcomm_lttng_output_id {
        uint32_t id;
 } LTTNG_PACKED;
 
-struct lttcomm_health_msg {
-       uint32_t component;
-       uint32_t cmd;
-} LTTNG_PACKED;
-
-struct lttcomm_health_data {
-       uint32_t ret_code;
-} LTTNG_PACKED;
-
 /*
  * lttcomm_consumer_msg is the message sent from sessiond to consumerd
  * to either add a channel, add a stream, update a stream, or stop
@@ -346,6 +362,8 @@ struct lttcomm_consumer_msg {
                        struct lttcomm_relayd_sock sock;
                        /* Tracing session id associated to the relayd. */
                        uint64_t session_id;
+                       /* Relayd session id, only used with control socket. */
+                       uint64_t relayd_session_id;
                } LTTNG_PACKED relayd_sock;
                struct {
                        uint64_t net_seq_idx;
This page took 0.037486 seconds and 5 git commands to generate.