/* 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.
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;
-} __attribute__ ((__packed__));
+} LTTNG_PACKED;
/*
* Used to add a stream on the relay daemon.
struct lttcomm_relayd_add_stream {
char channel_name[DEFAULT_STREAM_NAME_LEN];
char pathname[PATH_MAX];
-} __attribute__ ((__packed__));
+} LTTNG_PACKED;
/*
* Answer from an add stream command.
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.
struct lttcomm_relayd_version {
uint32_t major;
uint32_t minor;
-} __attribute__ ((__packed__));
+} LTTNG_PACKED;
/*
* Metadata payload used when metadata command is sent.
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.
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
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;
#endif /* _RELAYD_COMM */