Cleanup: remove duplicated code in snapshot record command
[lttng-tools.git] / src / common / sessiond-comm / sessiond-comm.h
index 62224bd75db8cf24f5e3ece8739eed6a51b6363e..836c3af66b28877d50c5d5a7fc1ed1745d577438 100644 (file)
@@ -36,6 +36,7 @@
 #include <common/uri.h>
 #include <common/defaults.h>
 #include <common/compat/uuid.h>
+#include <common/macros.h>
 
 #include <arpa/inet.h>
 #include <netinet/in.h>
@@ -67,7 +68,7 @@ enum lttcomm_sessiond_command {
        LTTNG_ENABLE_EVENT                    = 6,
        /* 7 */
        /* Session daemon command */
-       LTTNG_CREATE_SESSION                  = 8,
+       /* 8 */
        LTTNG_DESTROY_SESSION                 = 9,
        LTTNG_LIST_CHANNELS                   = 10,
        LTTNG_LIST_DOMAINS                    = 11,
@@ -90,8 +91,8 @@ enum lttcomm_sessiond_command {
        LTTNG_SNAPSHOT_DEL_OUTPUT             = 26,
        LTTNG_SNAPSHOT_LIST_OUTPUT            = 27,
        LTTNG_SNAPSHOT_RECORD                 = 28,
-       LTTNG_CREATE_SESSION_SNAPSHOT         = 29,
-       LTTNG_CREATE_SESSION_LIVE             = 30,
+       /* 29 */
+       /* 30 */
        LTTNG_SAVE_SESSION                    = 31,
        LTTNG_TRACK_PID                       = 32,
        LTTNG_UNTRACK_PID                     = 33,
@@ -104,8 +105,8 @@ enum lttcomm_sessiond_command {
        LTTNG_ROTATE_SESSION                  = 45,
        LTTNG_ROTATION_GET_INFO               = 46,
        LTTNG_ROTATION_SET_SCHEDULE           = 47,
-       LTTNG_SESSION_GET_CURRENT_OUTPUT      = 48,
-       LTTNG_SESSION_LIST_ROTATION_SCHEDULES = 49,
+       LTTNG_SESSION_LIST_ROTATION_SCHEDULES = 48,
+       LTTNG_CREATE_SESSION_EXT              = 49
 };
 
 enum lttcomm_relayd_command {
@@ -165,6 +166,12 @@ enum lttcomm_return_code {
        LTTCOMM_CONSUMERD_CHANNEL_FAIL,             /* Channel creation failed. */
        LTTCOMM_CONSUMERD_CHAN_NOT_FOUND,           /* Channel not found. */
        LTTCOMM_CONSUMERD_ALREADY_SET,              /* Resource already set. */
+       LTTCOMM_CONSUMERD_ROTATION_FAIL,            /* Rotation has failed. */
+       LTTCOMM_CONSUMERD_ROTATE_RENAME_FAILED,     /* Rotation rename has failed. */
+       LTTCOMM_CONSUMERD_ROTATION_PENDING_LOCAL_FAILED, /* Rotation pending relay failed. */
+       LTTCOMM_CONSUMERD_ROTATION_PENDING_RELAY_FAILED, /* Rotation pending relay failed. */
+       LTTCOMM_CONSUMERD_MKDIR_FAILED,             /* mkdir has failed. */
+       LTTCOMM_CONSUMERD_SNAPSHOT_FAILED,          /* snapshot has failed. */
 
        /* MUST be last element */
        LTTCOMM_NR,                                             /* Last element */
@@ -350,10 +357,22 @@ struct lttcomm_session_msg {
                        uint8_t set;
                        uint64_t value;
                } LTTNG_PACKED rotation_set_schedule;
+               struct {
+                       /*
+                        * Includes the null-terminator.
+                        * Must be an absolute path.
+                        *
+                        * Size bounded by LTTNG_PATH_MAX.
+                        */
+                       uint16_t home_dir_size;
+                       uint64_t session_descriptor_size;
+                       /* An lttng_session_descriptor follows. */
+               } LTTNG_PACKED create_session;
        } u;
 } LTTNG_PACKED;
 
 #define LTTNG_FILTER_MAX_LEN   65536
+#define LTTNG_SESSION_DESCRIPTOR_MAX_LEN       65536
 
 /*
  * Filter bytecode data. The reloc table is located at the end of the
@@ -410,6 +429,11 @@ struct lttcomm_event_extended_header {
         * character.
         */
        uint32_t nb_exclusions;
+
+       /*
+        * Size of the event's userspace probe location (if applicable).
+        */
+       uint32_t userspace_probe_location_len;
 } LTTNG_PACKED;
 
 /*
@@ -433,7 +457,7 @@ struct lttcomm_lttng_output_id {
  * operation.
  */
 struct lttcomm_consumer_msg {
-       uint32_t cmd_type;      /* enum consumerd_command */
+       uint32_t cmd_type;      /* enum lttng_consumer_command */
        union {
                struct {
                        uint64_t channel_key;
@@ -598,11 +622,15 @@ struct lttcomm_consumer_msg {
                        uint32_t uid;
                        uint32_t gid;
                } LTTNG_PACKED rotate_rename;
+               struct {
+                       uint64_t session_id;
+                       uint64_t chunk_id;
+               } LTTNG_PACKED check_rotation_pending_local;
                struct {
                        uint64_t relayd_id;
                        uint64_t session_id;
                        uint64_t chunk_id;
-               } LTTNG_PACKED rotate_pending_relay;
+               } LTTNG_PACKED check_rotation_pending_relay;
                struct {
                        char path[LTTNG_PATH_MAX];
                        uint64_t relayd_id; /* Relayd id if apply. */
This page took 0.024536 seconds and 4 git commands to generate.