X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=ltt-sessiond%2Ftrace.h;h=5b4ff68ff3a0c2718d90c5f5c8f377551e81e052;hb=f34daff7d0139d162e949f1b4fbb4cd003746b15;hp=36b2f2270eef69bedd70aa570027da7f61660f22;hpb=d4a2a84a5533017c9d0aa9fe66e7677a6b36b521;p=lttng-tools.git diff --git a/ltt-sessiond/trace.h b/ltt-sessiond/trace.h index 36b2f2270..5b4ff68ff 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 { + int fd; + struct lttng_kernel_event *event; 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 */