#include <urcu/list.h>
#include "lttng-kernel.h"
+/* Default kernel channel attributes */
+#define DEFAULT_KERNEL_OVERWRITE 0
+#define DEFAULT_KERNEL_SUBBUF_SIZE 4096 /* bytes */
+#define DEFAULT_KERNEL_SUBBUF_NUM 8 /* Must always be a power of 2 */
+#define DEFAULT_KERNEL_SWITCH_TIMER 0 /* usec */
+#define DEFAULT_KERNEL_READ_TIMER 200 /* usec */
+
/* Kernel event list */
struct ltt_kernel_event_list {
struct cds_list_head head;
char *channel;
};
+/*
+ * Create functions malloc() the data structure.
+ */
+struct ltt_kernel_session *trace_create_kernel_session(void);
+struct ltt_kernel_channel *trace_create_kernel_channel(void);
+struct ltt_kernel_event *trace_create_kernel_event(char *name,
+ enum lttng_kernel_instrumentation type);
+struct ltt_kernel_metadata *trace_create_kernel_metadata(void);
+struct ltt_kernel_stream *trace_create_kernel_stream(void);
+
+/*
+ * Destroy functions free() the data structure and remove from linked list if
+ * it's applies.
+ */
+void trace_destroy_kernel_session(struct ltt_kernel_session *session);
+void trace_destroy_kernel_metadata(struct ltt_kernel_metadata *metadata);
+void trace_destroy_kernel_channel(struct ltt_kernel_channel *channel);
+void trace_destroy_kernel_event(struct ltt_kernel_event *event);
+void trace_destroy_kernel_stream(struct ltt_kernel_stream *stream);
+
#endif /* _LTT_TRACE_H */