Implement filtering infrastructure
[lttng-modules.git] / lttng-abi.h
index a2e34ff7f87a594d969746477f4d20d8551cb41d..e029bc70f3e862dc4e54800f3e12488a0b61dda2 100644 (file)
@@ -86,10 +86,6 @@ struct lttng_kernel_function_tracer {
        char symbol_name[LTTNG_KERNEL_SYM_NAME_LEN];
 } __attribute__((packed));
 
-struct lttng_kernel_syscall {
-       char enable;
-} __attribute__((packed));
-
 /*
  * For syscall tracing, name = "*" means "enable all".
  */
@@ -105,7 +101,6 @@ struct lttng_kernel_event {
                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));
@@ -166,6 +161,14 @@ struct lttng_kernel_context {
        } u;
 } __attribute__((packed));
 
+#define 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            \
@@ -206,6 +209,9 @@ struct lttng_kernel_context {
 #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)
This page took 0.0228 seconds and 4 git commands to generate.