Add kernel namespace contexts
[lttng-tools.git] / src / common / lttng-kernel.h
index 922da33c84108a71c7ddee04b5ebfcce61b20934..9445b37403f49947792b1d1178eb673f4ed986e2 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 {
@@ -63,6 +64,13 @@ enum lttng_kernel_context_type {
        LTTNG_KERNEL_CONTEXT_MIGRATABLE     = 15,
        LTTNG_KERNEL_CONTEXT_CALLSTACK_KERNEL = 16,
        LTTNG_KERNEL_CONTEXT_CALLSTACK_USER   = 17,
+       LTTNG_KERNEL_CONTEXT_CGROUP_NS      = 18,
+       LTTNG_KERNEL_CONTEXT_IPC_NS         = 19,
+       LTTNG_KERNEL_CONTEXT_MNT_NS         = 20,
+       LTTNG_KERNEL_CONTEXT_NET_NS         = 21,
+       LTTNG_KERNEL_CONTEXT_PID_NS         = 22,
+       LTTNG_KERNEL_CONTEXT_USER_NS        = 23,
+       LTTNG_KERNEL_CONTEXT_UTS_NS         = 24,
 };
 
 /* Perf counter attributes */
@@ -102,6 +110,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 +140,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.024751 seconds and 5 git commands to generate.