* Major/minor version of ABI exposed to lttng tools. Major number
* should be increased when an incompatible ABI change is done.
*/
-#define LTTNG_MODULES_ABI_MAJOR_VERSION 1
+#define LTTNG_MODULES_ABI_MAJOR_VERSION 2
#define LTTNG_MODULES_ABI_MINOR_VERSION 0
#define LTTNG_KERNEL_SYM_NAME_LEN 256
char symbol_name[LTTNG_KERNEL_SYM_NAME_LEN];
} __attribute__((packed));
-struct lttng_kernel_syscall {
- char enable;
-} __attribute__((packed));
-
/*
- * For syscall tracing, name = '\0' means "enable all".
+ * For syscall tracing, name = "*" means "enable all".
*/
#define LTTNG_KERNEL_EVENT_PADDING1 16
#define LTTNG_KERNEL_EVENT_PADDING2 LTTNG_KERNEL_SYM_NAME_LEN + 32
struct lttng_kernel_kretprobe kretprobe;
struct lttng_kernel_kprobe kprobe;
struct lttng_kernel_function_tracer ftrace;
- struct lttng_kernel_syscall syscall;
char padding[LTTNG_KERNEL_EVENT_PADDING2];
} u;
} __attribute__((packed));
} u;
} __attribute__((packed));
+#define LTTNG_KERNEL_FILTER_BYTECODE_MAX_LEN 65536
+struct lttng_kernel_filter_bytecode {
+ uint32_t len;
+ uint32_t reloc_offset;
+ uint64_t seqnum;
+ char data[0];
+} __attribute__((packed));
+
/* LTTng file descriptor ioctl */
#define LTTNG_KERNEL_SESSION _IO(0xF6, 0x45)
#define LTTNG_KERNEL_TRACER_VERSION \
#define LTTNG_KERNEL_ENABLE _IO(0xF6, 0x82)
#define LTTNG_KERNEL_DISABLE _IO(0xF6, 0x83)
+/* Event FD ioctl */
+#define LTTNG_KERNEL_FILTER _IO(0xF6, 0x90)
+
/* LTTng-specific ioctls for the lib ringbuffer */
/* returns the timestamp begin of the current sub-buffer */
#define LTTNG_RING_BUFFER_GET_TIMESTAMP_BEGIN _IOR(0xF6, 0x20, uint64_t)