X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Flttng-live%2Flttng-live.h;h=ef799fd7f5d402fc420cde3bd76e6fea765b1739;hp=cf47437bbd03e83f55331d2637833c987d1ae7ec;hb=21fe3eb3b83998d6fad94f7ec346d57593afe8c1;hpb=2875672988a4ff834617379e222a3c109fb5d903 diff --git a/formats/lttng-live/lttng-live.h b/formats/lttng-live/lttng-live.h index cf47437b..ef799fd7 100644 --- a/formats/lttng-live/lttng-live.h +++ b/formats/lttng-live/lttng-live.h @@ -25,18 +25,31 @@ */ #include +#include +#include +#include "lttng-viewer-abi.h" #define LTTNG_DEFAULT_NETWORK_VIEWER_PORT 5344 #define LTTNG_LIVE_MAJOR 2 #define LTTNG_LIVE_MINOR 4 +/* + * The lttng-live output file pointer is currently hardcoded to stdout, + * and is expected to be hardcoded to this by fflush() performed between + * each packet. + */ +#define LTTNG_LIVE_OUTPUT_FP stdout + struct lttng_live_ctx { - char traced_hostname[NAME_MAX]; - char session_name[NAME_MAX]; - char relay_hostname[NAME_MAX]; + char traced_hostname[MAXNAMLEN]; + char session_name[MAXNAMLEN]; + char relay_hostname[MAXNAMLEN]; int control_sock; int port; + /* Protocol version to use for this connection. */ + uint32_t major; + uint32_t minor; struct lttng_live_session *session; struct bt_context *bt_ctx; GArray *session_ids; @@ -45,12 +58,15 @@ struct lttng_live_ctx { struct lttng_live_viewer_stream { uint64_t id; uint64_t mmap_size; + uint64_t ctf_stream_id; FILE *metadata_fp_write; ssize_t metadata_len; int metadata_flag; - int first_read; + int data_pending; struct lttng_live_session *session; struct lttng_live_ctf_trace *ctf_trace; + struct lttng_viewer_index current_index; + struct bt_list_head stream_node; char path[PATH_MAX]; }; @@ -58,7 +74,7 @@ struct lttng_live_session { uint64_t live_timer_interval; uint64_t stream_count; struct lttng_live_ctx *ctx; - struct lttng_live_viewer_stream *streams; + struct bt_list_head stream_list; GHashTable *ctf_traces; };