Implement 2-step registration of userspace probe events
[lttng-tools.git] / src / common / lttng-kernel.h
index 922da33c84108a71c7ddee04b5ebfcce61b20934..cd1a15f67cf256fb66c63edd2517acb1d9e683c8 100644 (file)
@@ -42,6 +42,7 @@ enum lttng_kernel_instrumentation {
        LTTNG_KERNEL_KRETPROBE     = 3,
        LTTNG_KERNEL_NOOP          = 4,    /* not hooked */
        LTTNG_KERNEL_SYSCALL       = 5,
+       LTTNG_KERNEL_UPROBE        = 6,
 };
 
 enum lttng_kernel_context_type {
@@ -102,6 +103,20 @@ struct lttng_kernel_kprobe {
        char symbol_name[LTTNG_KERNEL_SYM_NAME_LEN];
 } LTTNG_PACKED;
 
+struct lttng_kernel_uprobe {
+       int fd;
+} LTTNG_PACKED;
+
+struct lttng_kernel_event_callsite_uprobe {
+       uint64_t offset;
+} LTTNG_PACKED;
+
+struct lttng_kernel_event_callsite {
+       union {
+               struct lttng_kernel_event_callsite_uprobe uprobe;
+       } u;
+} LTTNG_PACKED;
+
 /* Function tracer */
 struct lttng_kernel_function {
        char symbol_name[LTTNG_KERNEL_SYM_NAME_LEN];
@@ -118,6 +133,7 @@ struct lttng_kernel_event {
        union {
                struct lttng_kernel_kretprobe kretprobe;
                struct lttng_kernel_kprobe kprobe;
+               struct lttng_kernel_uprobe uprobe;
                struct lttng_kernel_function ftrace;
                char padding[LTTNG_KERNEL_EVENT_PADDING2];
        } u;
This page took 0.023865 seconds and 4 git commands to generate.