Add kernel enable event support
[lttng-tools.git] / ltt-sessiond / trace.h
index 36b2f2270eef69bedd70aa570027da7f61660f22..5b4ff68ff3a0c2718d90c5f5c8f377551e81e052 100644 (file)
 #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 */
This page took 0.026047 seconds and 4 git commands to generate.