uint64_t num_subbuf;
unsigned int switch_timer_interval; /* usecs */
unsigned int read_timer_interval; /* usecs */
- enum lttng_kernel_output output; /* splice, mmap */
+ uint32_t output; /* enum lttng_kernel_output (splice, mmap) */
int overwrite; /* 1: overwrite, 0: discard */
char padding[LTTNG_KERNEL_CHANNEL_PADDING];
} __attribute__((packed));
} u;
} __attribute__((packed));
+enum lttng_kernel_syscall_entryexit {
+ LTTNG_KERNEL_SYSCALL_ENTRYEXIT = 0,
+ LTTNG_KERNEL_SYSCALL_ENTRY = 1, /* Not implemented. */
+ LTTNG_KERNEL_SYSCALL_EXIT = 2, /* Not implemented. */
+};
+
+enum lttng_kernel_syscall_abi {
+ LTTNG_KERNEL_SYSCALL_ABI_ALL = 0,
+ LTTNG_KERNEL_SYSCALL_ABI_NATIVE = 1, /* Not implemented. */
+ LTTNG_KERNEL_SYSCALL_ABI_COMPAT = 2, /* Not implemented. */
+};
+
+enum lttng_kernel_syscall_match {
+ LTTNG_SYSCALL_MATCH_NAME = 0,
+ LTTNG_SYSCALL_MATCH_NR = 1, /* Not implemented. */
+};
+
+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 */
+} __attribute__((packed));
+
/*
* For syscall tracing, name = "*" means "enable all".
*/
#define LTTNG_KERNEL_EVENT_PADDING2 LTTNG_KERNEL_SYM_NAME_LEN + 32
struct lttng_kernel_event {
char name[LTTNG_KERNEL_SYM_NAME_LEN]; /* event name */
- enum lttng_kernel_instrumentation instrumentation;
+ uint32_t instrumentation; /* enum lttng_kernel_instrumentation */
char padding[LTTNG_KERNEL_EVENT_PADDING1];
/* Per instrumentation type configuration */
struct lttng_kernel_kprobe kprobe;
struct lttng_kernel_function_tracer ftrace;
struct lttng_kernel_uprobe uprobe;
+ struct lttng_kernel_syscall syscall;
char padding[LTTNG_KERNEL_EVENT_PADDING2];
} u;
} __attribute__((packed));
};
struct lttng_kernel_calibrate {
- enum lttng_kernel_calibrate_type type; /* type (input) */
+ uint32_t type; /* enum lttng_kernel_calibrate_type (input) */
} __attribute__((packed));
struct lttng_kernel_syscall_mask {
LTTNG_KERNEL_CONTEXT_VGID = 34,
LTTNG_KERNEL_CONTEXT_VEGID = 35,
LTTNG_KERNEL_CONTEXT_VSGID = 36,
+ LTTNG_KERNEL_CONTEXT_TIME_NS = 37,
};
struct lttng_kernel_perf_counter_ctx {
#define LTTNG_KERNEL_CONTEXT_PADDING1 16
#define LTTNG_KERNEL_CONTEXT_PADDING2 LTTNG_KERNEL_SYM_NAME_LEN + 32
struct lttng_kernel_context {
- enum lttng_kernel_context_type ctx;
+ uint32_t ctx; /*enum lttng_kernel_context_type */
char padding[LTTNG_KERNEL_CONTEXT_PADDING1];
union {
};
struct lttng_kernel_tracker_args {
- enum lttng_kernel_tracker_type type;
+ uint32_t type; /* enum lttng_kernel_tracker_type */
int32_t id;
};