X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fsessiond-comm%2Frelayd.h;h=1152d28e907676aa6e06ed046ae62c5e5da977df;hp=7bc7a12173236b4609322291ec3d5af89038853b;hb=36d2e35df61339e4394e84ad9790b984d259e0f0;hpb=ce2a9e76964f3bd53abb652299e5b00f824172ff diff --git a/src/common/sessiond-comm/relayd.h b/src/common/sessiond-comm/relayd.h index 7bc7a1217..1152d28e9 100644 --- a/src/common/sessiond-comm/relayd.h +++ b/src/common/sessiond-comm/relayd.h @@ -26,9 +26,11 @@ #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. @@ -37,9 +39,9 @@ struct lttcomm_relayd_hdr { /* Circuit ID not used for now so always ignored */ uint64_t circuit_id; uint64_t data_size; /* data size following this header */ - uint32_t cmd; /* enum lttcomm_sessiond_command */ + uint32_t cmd; /* enum lttcomm_relayd_command */ uint32_t cmd_version; /* command version */ -} __attribute__ ((__packed__)); +} LTTNG_PACKED; /* * lttng-relayd data header. @@ -51,7 +53,15 @@ struct lttcomm_relayd_data_hdr { uint64_t net_seq_num; /* Network sequence number, per stream. */ uint32_t data_size; /* data size following this header */ uint32_t padding_size; /* Size of 0 padding the data */ -} __attribute__ ((__packed__)); +} LTTNG_PACKED; + +/* + * Reply from a create session command. + */ +struct lttcomm_relayd_status_session { + uint64_t session_id; + uint32_t ret_code; +} LTTNG_PACKED; /* * Used to add a stream on the relay daemon. @@ -59,7 +69,18 @@ struct lttcomm_relayd_data_hdr { struct lttcomm_relayd_add_stream { char channel_name[DEFAULT_STREAM_NAME_LEN]; char pathname[PATH_MAX]; -} __attribute__ ((__packed__)); +} 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[PATH_MAX]; + uint64_t tracefile_size; + uint64_t tracefile_count; +} LTTNG_PACKED; /* * Answer from an add stream command. @@ -67,21 +88,21 @@ struct lttcomm_relayd_add_stream { struct lttcomm_relayd_status_stream { uint64_t handle; uint32_t ret_code; -} __attribute__ ((__packed__)); +} LTTNG_PACKED; /* * Used to return command code for command not needing special data. */ struct lttcomm_relayd_generic_reply { uint32_t ret_code; -} __attribute__ ((__packed__)); +} LTTNG_PACKED; /* * Used to update synchronization information. */ struct lttcomm_relayd_update_sync_info { /* TODO: fill the structure. Feature not implemented yet */ -} __attribute__ ((__packed__)); +} LTTNG_PACKED; /* * Version command. @@ -89,7 +110,7 @@ struct lttcomm_relayd_update_sync_info { struct lttcomm_relayd_version { uint32_t major; uint32_t minor; -} __attribute__ ((__packed__)); +} LTTNG_PACKED; /* * Metadata payload used when metadata command is sent. @@ -98,7 +119,7 @@ struct lttcomm_relayd_metadata_payload { uint64_t stream_id; uint32_t padding_size; char payload[]; -} __attribute__ ((__packed__)); +} LTTNG_PACKED; /* * Used to indicate that a specific stream id can now be closed. @@ -106,7 +127,7 @@ struct lttcomm_relayd_metadata_payload { struct lttcomm_relayd_close_stream { uint64_t stream_id; uint64_t last_net_seq_num; /* sequence number of last packet */ -} __attribute__ ((__packed__)); +} LTTNG_PACKED; /* * Used to test if for a given stream id the data is pending on the relayd side @@ -115,6 +136,42 @@ struct lttcomm_relayd_close_stream { struct lttcomm_relayd_data_pending { uint64_t stream_id; uint64_t last_net_seq_num; /* Sequence number of the last packet */ -} __attribute__ ((__packed__)); +} LTTNG_PACKED; + +struct lttcomm_relayd_begin_data_pending { + uint64_t session_id; +} LTTNG_PACKED; + +struct lttcomm_relayd_end_data_pending { + uint64_t session_id; +} LTTNG_PACKED; + +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; +} LTTNG_PACKED; + +/* + * 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[HOST_NAME_MAX]; + uint32_t live_timer; + uint32_t snapshot; +} LTTNG_PACKED; #endif /* _RELAYD_COMM */