#ifndef _LTT_TRACE_H
#define _LTT_TRACE_H
+#include "ltt-sessiond.h"
#include "session.h"
+#include "lttng-kernel.h"
-/* LTTng trace representation */
-struct ltt_kernel_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 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 */
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(int sock, pid_t pid);
-int ust_start_trace(int sock, pid_t pid);
-int ust_stop_trace(int sock, pid_t pid);
+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 */