X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fsessiond-comm%2Fsessiond-comm.h;h=cbb79821d5f42b917c2195c48e283c36eda2bef6;hp=3b0093bfbc9e0d7d06d598a74ba6cace921ab6a2;hb=f2c1f0d46e0ed64f57a4f3bc3a5d6c5b6d743b77;hpb=3e3665b89947ebdd812bcfaca1090d22b34d5778 diff --git a/src/common/sessiond-comm/sessiond-comm.h b/src/common/sessiond-comm/sessiond-comm.h index 3b0093bfb..cbb79821d 100644 --- a/src/common/sessiond-comm/sessiond-comm.h +++ b/src/common/sessiond-comm/sessiond-comm.h @@ -35,7 +35,7 @@ #include #include #include -#include +#include #include #include @@ -107,7 +107,8 @@ enum lttcomm_sessiond_command { LTTNG_ROTATION_GET_INFO = 46, LTTNG_ROTATION_SET_SCHEDULE = 47, LTTNG_SESSION_LIST_ROTATION_SCHEDULES = 48, - LTTNG_CREATE_SESSION_EXT = 49 + LTTNG_CREATE_SESSION_EXT = 49, + LTTNG_CLEAR_SESSION = 50, }; enum lttcomm_relayd_command { @@ -131,14 +132,14 @@ enum lttcomm_relayd_command { RELAYD_STREAMS_SENT = 16, /* Ask the relay to reset the metadata trace file (2.8+) */ RELAYD_RESET_METADATA = 17, - /* Ask the relay to rotate a stream file (2.11+) */ - RELAYD_ROTATE_STREAM = 18, - /* Rename a chunk after the rotation is completed (2.11+) */ - RELAYD_ROTATE_RENAME = 19, - /* Check if a chunk has data pending (2.11+) */ - RELAYD_ROTATE_PENDING = 20, - /* Create a folder on the relayd FS (2.11+) */ - RELAYD_MKDIR = 21, + /* Ask the relay to rotate a set of stream files (2.11+) */ + RELAYD_ROTATE_STREAMS = 18, + /* Ask the relay to create a trace chunk (2.11+) */ + RELAYD_CREATE_TRACE_CHUNK = 19, + /* Ask the relay to close a trace chunk (2.11+) */ + RELAYD_CLOSE_TRACE_CHUNK = 20, + /* Ask the relay whether a trace chunk exists (2.11+) */ + RELAYD_TRACE_CHUNK_EXISTS = 21, }; /* @@ -480,7 +481,7 @@ struct lttcomm_consumer_msg { uint64_t channel_key; uint64_t session_id; /* ID of the session's current trace chunk. */ - LTTNG_OPTIONAL(uint64_t) LTTNG_PACKED chunk_id; + LTTNG_OPTIONAL_COMM(uint64_t) LTTNG_PACKED chunk_id; char pathname[PATH_MAX]; uint64_t relayd_id; /* nb_init_streams is the number of streams open initially. */ @@ -542,8 +543,8 @@ struct lttcomm_consumer_msg { uint64_t relayd_id; /* Relayd id if apply. */ uint64_t key; /* Unique channel key. */ /* ID of the session's current trace chunk. */ - LTTNG_OPTIONAL(uint64_t) LTTNG_PACKED chunk_id; - unsigned char uuid[UUID_LEN]; /* uuid for ust tracer. */ + LTTNG_OPTIONAL_COMM(uint64_t) LTTNG_PACKED chunk_id; + unsigned char uuid[LTTNG_UUID_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 */ @@ -632,26 +633,28 @@ struct lttcomm_consumer_msg { * (relayd_id unset). * * `override_name` is left NULL (all-zeroes) if the - * chunk's name is not overriden. + * chunk's name is not overridden. */ - LTTNG_OPTIONAL(uint64_t) LTTNG_PACKED relayd_id; + LTTNG_OPTIONAL_COMM(uint64_t) LTTNG_PACKED relayd_id; char override_name[LTTNG_NAME_MAX]; uint64_t session_id; uint64_t chunk_id; uint64_t creation_timestamp; - struct { + LTTNG_OPTIONAL_COMM(struct { uint32_t uid; uint32_t gid; - } LTTNG_PACKED credentials; + } LTTNG_PACKED ) LTTNG_PACKED credentials; } LTTNG_PACKED create_trace_chunk; struct { - LTTNG_OPTIONAL(uint64_t) LTTNG_PACKED relayd_id; + LTTNG_OPTIONAL_COMM(uint64_t) LTTNG_PACKED relayd_id; uint64_t session_id; uint64_t chunk_id; uint64_t close_timestamp; + /* enum lttng_trace_chunk_command_type */ + LTTNG_OPTIONAL_COMM(uint32_t) LTTNG_PACKED close_command; } LTTNG_PACKED close_trace_chunk; struct { - LTTNG_OPTIONAL(uint64_t) LTTNG_PACKED relayd_id; + LTTNG_OPTIONAL_COMM(uint64_t) LTTNG_PACKED relayd_id; uint64_t session_id; uint64_t chunk_id; } LTTNG_PACKED trace_chunk_exists; @@ -691,6 +694,12 @@ struct lttcomm_consumer_status_channel { unsigned int stream_count; } LTTNG_PACKED; +struct lttcomm_consumer_close_trace_chunk_reply { + enum lttcomm_return_code ret_code; + uint32_t path_length; + char path[]; +}; + #ifdef HAVE_LIBLTTNG_UST_CTL #include