Implement support for lttng-modules syscall filtering
[lttng-tools.git] / src / common / kernel-ctl / kernel-ctl.c
index 5ea3e1ae12a122761750c291a7240708b4c36469..ce8d8a0eb1f4ec4df60d388589be6ab209673b4f 100644 (file)
@@ -139,6 +139,30 @@ int kernctl_create_channel(int fd, struct lttng_channel_attr *chops)
        return ioctl(fd, LTTNG_KERNEL_CHANNEL, &channel);
 }
 
+int kernctl_enable_syscall(int fd, const char *syscall_name)
+{
+       struct lttng_kernel_event event;
+
+       memset(&event, 0, sizeof(event));
+       strncpy(event.name, syscall_name, sizeof(event.name));
+       event.name[sizeof(event.name) - 1] = '\0';
+       event.instrumentation = LTTNG_KERNEL_SYSCALL;
+       event.u.syscall.disable = 0;
+       return ioctl(fd, LTTNG_KERNEL_EVENT, &event);
+}
+
+int kernctl_disable_syscall(int fd, const char *syscall_name)
+{
+       struct lttng_kernel_event event;
+
+       memset(&event, 0, sizeof(event));
+       strncpy(event.name, syscall_name, sizeof(event.name));
+       event.name[sizeof(event.name) - 1] = '\0';
+       event.instrumentation = LTTNG_KERNEL_SYSCALL;
+       event.u.syscall.disable = 1;
+       return ioctl(fd, LTTNG_KERNEL_EVENT, &event);
+}
+
 int kernctl_create_stream(int fd)
 {
        return compat_ioctl_no_arg(fd, LTTNG_KERNEL_OLD_STREAM,
@@ -188,7 +212,7 @@ int kernctl_add_context(int fd, struct lttng_kernel_context *ctx)
 
                old_ctx.ctx = ctx->ctx;
                /* only type that uses the union */
-               if (ctx->ctx == LTTNG_KERNEL_CONTEXT_PERF_COUNTER) {
+               if (ctx->ctx == LTTNG_KERNEL_CONTEXT_PERF_CPU_COUNTER) {
                        old_ctx.u.perf_counter.type =
                                ctx->u.perf_counter.type;
                        old_ctx.u.perf_counter.config =
This page took 0.02475 seconds and 4 git commands to generate.