LTTNG_KERNEL_CONTEXT_VGID = 34,
LTTNG_KERNEL_CONTEXT_VEGID = 35,
LTTNG_KERNEL_CONTEXT_VSGID = 36,
+ LTTNG_KERNEL_CONTEXT_TIME_NS = 37,
};
/* Perf counter attributes */
} u;
} LTTNG_PACKED;
+enum lttng_kernel_syscall_entryexit {
+ LTTNG_KERNEL_SYSCALL_ENTRYEXIT = 0,
+ LTTNG_KERNEL_SYSCALL_ENTRY = 1,
+ LTTNG_KERNEL_SYSCALL_EXIT = 2,
+};
+
+enum lttng_kernel_syscall_abi {
+ LTTNG_KERNEL_SYSCALL_ABI_ALL = 0,
+ LTTNG_KERNEL_SYSCALL_ABI_NATIVE = 1,
+ LTTNG_KERNEL_SYSCALL_ABI_COMPAT = 2,
+};
+
+enum lttng_kernel_syscall_match {
+ LTTNG_KERNEL_SYSCALL_MATCH_NAME = 0,
+ LTTNG_KERNEL_SYSCALL_MATCH_NR = 1,
+};
+
+struct lttng_kernel_syscall {
+ uint8_t entryexit; /* enum lttng_kernel_syscall_entryexit */
+ uint8_t abi; /* enum lttng_kernel_syscall_abi */
+ uint8_t match; /* enum lttng_kernel_syscall_match */
+ uint8_t padding;
+ uint32_t nr; /* For LTTNG_SYSCALL_MATCH_NR */
+} LTTNG_PACKED;
+
/* Function tracer */
struct lttng_kernel_function {
char symbol_name[LTTNG_KERNEL_SYM_NAME_LEN];
} LTTNG_PACKED;
-#define LTTNG_KERNEL_EVENT_PADDING1 16
+#define LTTNG_KERNEL_EVENT_PADDING1 8
#define LTTNG_KERNEL_EVENT_PADDING2 LTTNG_KERNEL_SYM_NAME_LEN + 32
struct lttng_kernel_event {
char name[LTTNG_KERNEL_SYM_NAME_LEN];
enum lttng_kernel_instrumentation instrumentation;
+ uint64_t token;
char padding[LTTNG_KERNEL_EVENT_PADDING1];
/* Per instrumentation type configuration */
union {
struct lttng_kernel_kretprobe kretprobe;
struct lttng_kernel_kprobe kprobe;
- struct lttng_kernel_uprobe uprobe;
struct lttng_kernel_function ftrace;
+ struct lttng_kernel_uprobe uprobe;
+ struct lttng_kernel_syscall syscall;
char padding[LTTNG_KERNEL_EVENT_PADDING2];
} u;
} LTTNG_PACKED;
+#define LTTNG_KERNEL_EVENT_NOTIFIER_PADDING 40
+struct lttng_kernel_event_notifier {
+ struct lttng_kernel_event event;
+ char padding[LTTNG_KERNEL_EVENT_NOTIFIER_PADDING];
+} LTTNG_PACKED;
+
+#define LTTNG_KERNEL_EVENT_NOTIFIER_NOTIFICATION_PADDING 34
+struct lttng_kernel_event_notifier_notification {
+ uint64_t token;
+ char padding[LTTNG_KERNEL_EVENT_NOTIFIER_NOTIFICATION_PADDING];
+} LTTNG_PACKED;
+
struct lttng_kernel_tracer_version {
uint32_t major;
uint32_t minor;