X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=ltt-sessiond%2Ftrace.h;h=9cfbd84ab1a636b86286e58623058af21d29cfc4;hp=36b2f2270eef69bedd70aa570027da7f61660f22;hb=9cb983500508a95363a09a5a65d2f67774c38b69;hpb=d4a2a84a5533017c9d0aa9fe66e7677a6b36b521 diff --git a/ltt-sessiond/trace.h b/ltt-sessiond/trace.h index 36b2f2270..9cfbd84ab 100644 --- a/ltt-sessiond/trace.h +++ b/ltt-sessiond/trace.h @@ -19,18 +19,39 @@ #ifndef _LTT_TRACE_H #define _LTT_TRACE_H +#include "ltt-sessiond.h" #include "session.h" +#include "lttng-kernel.h" -/* LTTng trace representation */ -struct ltt_lttng_trace { +/* Kernel event list */ +struct ltt_kernel_event_list { + struct cds_list_head head; +}; + +/* Kernel event */ +struct ltt_kernel_event { + char name[NAME_MAX]; + int fd; struct cds_list_head list; - char trace_name[NAME_MAX]; - struct cds_list_head marker_list; +}; + +/* Kernel channel */ +struct ltt_kernel_channel { + int fd; + struct lttng_kernel_channel *channel; + struct ltt_kernel_event_list events_list; +}; + +/* Kernel session */ +struct ltt_kernel_session { + int fd; + struct ltt_kernel_channel *channel; }; /* UST trace representation */ struct ltt_ust_trace { struct cds_list_head list; + char name[NAME_MAX]; int shmid; pid_t pid; struct cds_list_head markers; @@ -42,6 +63,10 @@ struct ltt_ust_marker { char *channel; }; -struct ltt_ust_trace *find_session_ust_trace_by_pid(struct ltt_session *session, pid_t pid); +int get_trace_count_per_session(struct ltt_session *session); +void get_traces_per_session(struct ltt_session *session, struct lttng_trace *traces); +int ust_create_trace(struct command_ctx *cmd_ctx); +int ust_start_trace(struct command_ctx *cmd_ctx); +int ust_stop_trace(struct command_ctx *cmd_ctx); #endif /* _LTT_TRACE_H */