X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=ltt-sessiond%2Fevent.c;h=66e134e4641be8690f9fffbbb10086a96d229bdc;hp=3e3ecd32049c07b10e9979d967e1e12034676dbc;hb=8c9ae521a34f2d83c42ced6b00a599518e8473e8;hpb=9928e7b733043d2f44bd2a4b0e041a0553fd427f diff --git a/ltt-sessiond/event.c b/ltt-sessiond/event.c index 3e3ecd320..66e134e46 100644 --- a/ltt-sessiond/event.c +++ b/ltt-sessiond/event.c @@ -25,6 +25,19 @@ #include "event.h" #include "kernel-ctl.h" +/* + * Setup a lttng_event used to enable *all* syscall tracing. + */ +static void init_syscalls_kernel_event(struct lttng_event *event) +{ + event->name[0] = '\0'; + /* + * We use LTTNG_EVENT* here since the trace kernel creation will make the + * right changes for the kernel. + */ + event->type = LTTNG_EVENT_SYSCALL; +} + /* * Disable kernel event for a channel from the kernel session. */ @@ -153,3 +166,27 @@ int event_kernel_enable_all(struct ltt_kernel_session *ksession, error: return ret; } + +/* + * Enable all kernel syscalls tracing. + */ +int event_kernel_enable_syscalls(struct ltt_kernel_session *ksession, + struct ltt_kernel_channel *kchan, int kernel_tracer_fd) +{ + int ret; + struct lttng_event event; + + init_syscalls_kernel_event(&event); + + DBG("Enabling all syscall tracing"); + + ret = kernel_create_event(&event, kchan); + if (ret < 0) { + goto error; + } + + ret = LTTCOMM_OK; + +error: + return ret; +}