Initial work for kernel tracing support
[lttng-tools.git] / ltt-sessiond / trace.h
index 5114272d879d3e354e081dd1c786a35b526f4454..2f80143fe8042ec8d22b5c97b1c80a325e10dc92 100644 (file)
 
 #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;
+};
+
+/* Channel stream list */
+struct ltt_kernel_stream_list {
+       struct cds_list_head head;
+};
+
+/* Channel list */
+struct ltt_kernel_channel_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;
+       char *pathname;
+       unsigned int stream_count;
+       struct lttng_kernel_channel *channel;
+       struct ltt_kernel_event_list events_list;
+       struct ltt_kernel_stream_list stream_list;
+       struct cds_list_head list;
+};
+
+/* Metadata */
+struct ltt_kernel_metadata {
+       int fd;
+       char *pathname;
+       struct lttng_kernel_channel *conf;
+};
+
+/* Channel stream */
+struct ltt_kernel_stream {
+       int fd;
+       char *pathname;
+       int state;
+       struct cds_list_head list;
+};
+
+/* Kernel session */
+struct ltt_kernel_session {
+       int fd;
+       int metadata_stream_fd;
+       unsigned int channel_count;
+       unsigned int stream_count_global;
+       struct ltt_kernel_metadata *metadata;
+       struct ltt_kernel_channel_list channel_list;
 };
 
 /* UST trace representation */
This page took 0.024857 seconds and 5 git commands to generate.