#define LTTNG_SYM_NAME_LEN 128
enum lttng_kernel_instrumentation {
- LTTNG_KERNEL_TRACEPOINTS,
- LTTNG_KERNEL_KPROBES,
- LTTNG_KERNEL_FUNCTION,
+ LTTNG_KERNEL_TRACEPOINT = 0,
+ LTTNG_KERNEL_KPROBE = 1,
+ LTTNG_KERNEL_FUNCTION = 2,
+};
+
+/*
+ * LTTng consumer mode
+ */
+enum lttng_kernel_output {
+ LTTNG_KERNEL_SPLICE = 0,
+ LTTNG_KERNEL_MMAP = 1,
};
/*
* This is the kernel ABI copied from lttng-modules tree.
*/
-/* Either addr is used or symbol_name and offset. */
-struct lttng_kernel_kprobe {
- uint64_t addr;
-
- uint64_t offset;
- char symbol_name[LTTNG_SYM_NAME_LEN];
-};
-
-struct lttng_kernel_function_tracer {
+/* Function tracer */
+struct lttng_kernel_function_attr {
char symbol_name[LTTNG_SYM_NAME_LEN];
};
enum lttng_kernel_instrumentation instrumentation;
/* Per instrumentation type configuration */
union {
- struct lttng_kernel_kprobe kprobe;
- struct lttng_kernel_function_tracer ftrace;
+ struct lttng_kernel_kprobe_attr kprobe;
+ struct lttng_kernel_function_attr ftrace;
} u;
};