X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Flttng-live%2Flttng-live.h;h=9739078a52e67278ca3b9d85962700e9a317cfc1;hp=4ab641d59609dceb6d53d2a9cfa4f12f9835d467;hb=bb35f032b52330cfb17c144bfed81f2b1569f308;hpb=0206bb4ab13c24263966d56fbe5bda7b1645de51 diff --git a/formats/lttng-live/lttng-live.h b/formats/lttng-live/lttng-live.h index 4ab641d5..9739078a 100644 --- a/formats/lttng-live/lttng-live.h +++ b/formats/lttng-live/lttng-live.h @@ -25,6 +25,8 @@ */ #include +#include +#include #include "lttng-viewer-abi.h" #define LTTNG_DEFAULT_NETWORK_VIEWER_PORT 5344 @@ -32,6 +34,13 @@ #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[MAXNAMLEN]; char session_name[MAXNAMLEN]; @@ -57,6 +66,9 @@ struct lttng_live_viewer_stream { struct lttng_live_session *session; struct lttng_live_ctf_trace *ctf_trace; struct lttng_viewer_index current_index; + struct bt_list_head session_stream_node; /* Owns stream. */ + struct bt_list_head trace_stream_node; + int in_trace; char path[PATH_MAX]; }; @@ -64,14 +76,16 @@ struct lttng_live_session { uint64_t live_timer_interval; uint64_t stream_count; struct lttng_live_ctx *ctx; - struct lttng_live_viewer_stream *streams; + /* The session stream list owns the lttng_live_viewer_stream object. */ + struct bt_list_head stream_list; GHashTable *ctf_traces; }; struct lttng_live_ctf_trace { uint64_t ctf_trace_id; struct lttng_live_viewer_stream *metadata_stream; - GPtrArray *streams; + /* The trace has a list of streams, but it has no ownership on them. */ + struct bt_list_head stream_list; FILE *metadata_fp; struct bt_trace_handle *handle; int trace_id;