#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;
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 */