X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fcommon%2Fsessiond-comm%2Frelayd.h;h=eb3e5f118bfdadbf0af3cfc7223d1df2792e182f;hb=f8f3885cc52af9d3c951da78989d6f4a25270411;hp=0a8f53b4ac7d40c46215637403edda5daa5c1551;hpb=ad7051c0f2e1eb584c623794bf4b83548e3ccadc;p=lttng-tools.git diff --git a/src/common/sessiond-comm/relayd.h b/src/common/sessiond-comm/relayd.h index 0a8f53b4a..eb3e5f118 100644 --- a/src/common/sessiond-comm/relayd.h +++ b/src/common/sessiond-comm/relayd.h @@ -19,16 +19,15 @@ #ifndef _RELAYD_COMM #define _RELAYD_COMM -#define _GNU_SOURCE - #include #include #include #include +#include -#define RELAYD_VERSION_COMM_MAJOR 2 -#define RELAYD_VERSION_COMM_MINOR 1 +#define RELAYD_VERSION_COMM_MAJOR VERSION_MAJOR +#define RELAYD_VERSION_COMM_MINOR VERSION_MINOR /* * lttng-relayd communication header. @@ -66,7 +65,18 @@ struct lttcomm_relayd_status_session { */ struct lttcomm_relayd_add_stream { char channel_name[DEFAULT_STREAM_NAME_LEN]; - char pathname[PATH_MAX]; + char pathname[LTTNG_PATH_MAX]; +} LTTNG_PACKED; + +/* + * Used to add a stream on the relay daemon. + * Protocol version 2.2 + */ +struct lttcomm_relayd_add_stream_2_2 { + char channel_name[DEFAULT_STREAM_NAME_LEN]; + char pathname[LTTNG_PATH_MAX]; + uint64_t tracefile_size; + uint64_t tracefile_count; } LTTNG_PACKED; /* @@ -137,4 +147,59 @@ struct lttcomm_relayd_quiescent_control { uint64_t stream_id; } LTTNG_PACKED; +/* + * Index data. + */ +struct lttcomm_relayd_index { + uint64_t relay_stream_id; + uint64_t net_seq_num; + uint64_t packet_size; + uint64_t content_size; + uint64_t timestamp_begin; + uint64_t timestamp_end; + uint64_t events_discarded; + uint64_t stream_id; + /* 2.8+ */ + uint64_t stream_instance_id; + uint64_t packet_seq_num; +} LTTNG_PACKED; + +static inline size_t lttcomm_relayd_index_len(uint32_t major, uint32_t minor) +{ + if (major == 1) { + switch (minor) { + case 0: + return offsetof(struct lttcomm_relayd_index, stream_id) + + member_sizeof(struct lttcomm_relayd_index, + stream_id); + case 1: + return offsetof(struct lttcomm_relayd_index, packet_seq_num) + + member_sizeof(struct lttcomm_relayd_index, + packet_seq_num); + default: + abort(); + } + } + abort(); +} + +/* + * Create session in 2.4 adds additionnal parameters for live reading. + */ +struct lttcomm_relayd_create_session_2_4 { + char session_name[LTTNG_NAME_MAX]; + char hostname[LTTNG_HOST_NAME_MAX]; + uint32_t live_timer; + uint32_t snapshot; +} LTTNG_PACKED; + +/* + * Used to ask the relay to reset the metadata trace file (regeneration). + * Send the new version of the metadata (starts at 0). + */ +struct lttcomm_relayd_reset_metadata { + uint64_t stream_id; + uint64_t version; +} LTTNG_PACKED; + #endif /* _RELAYD_COMM */