X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=libkernelctl%2Flibkernelctl.c;h=1f30c77c0bb42e9502d6899557dae183362ddf36;hb=0b97ec540cc2e4561ddbef4d4542b6dfb59b0a43;hp=e15dd8da624b9489adf256015950a4b66abeeb9d;hpb=d4a1283e471c152cedf6cb5ebcc74d509009145d;p=lttng-tools.git diff --git a/libkernelctl/libkernelctl.c b/libkernelctl/libkernelctl.c index e15dd8da6..1f30c77c0 100644 --- a/libkernelctl/libkernelctl.c +++ b/libkernelctl/libkernelctl.c @@ -4,8 +4,8 @@ * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. + * as published by the Free Software Foundation; only version 2 + * of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -21,26 +21,47 @@ #include "kernel-ioctl.h" #include "libkernelctl.h" -#include "lttngerr.h" -int kernctl_create_channel(int fd, struct lttng_channel *chops) +int kernctl_add_context(int fd, struct lttng_kernel_context *ctx) { - return ioctl(fd, KERNEL_CREATE_CHANNEL, chops); + return ioctl(fd, LTTNG_KERNEL_CONTEXT, ctx); } -int kernctl_create_event(int fd, struct lttng_event *ev) +int kernctl_buffer_flush(int fd) { - return ioctl(fd, KERNEL_CREATE_EVENT, ev); + return ioctl(fd, RING_BUFFER_FLUSH); +} + +int kernctl_create_channel(int fd, struct lttng_channel_attr *chops) +{ + return ioctl(fd, LTTNG_KERNEL_CHANNEL, chops); +} + +int kernctl_create_event(int fd, struct lttng_kernel_event *ev) +{ + return ioctl(fd, LTTNG_KERNEL_EVENT, ev); } int kernctl_create_session(int fd) { - return ioctl(fd, KERNEL_CREATE_SESSION); + return ioctl(fd, LTTNG_KERNEL_SESSION); } int kernctl_create_stream(int fd) { - return ioctl(fd, KERNEL_CREATE_STREAM); + return ioctl(fd, LTTNG_KERNEL_STREAM); +} + +/* Enable event, channel and session ioctl */ +int kernctl_enable(int fd) +{ + return ioctl(fd, LTTNG_KERNEL_ENABLE); +} + +/* Disable event, channel and session ioctl */ +int kernctl_disable(int fd) +{ + return ioctl(fd, LTTNG_KERNEL_DISABLE); } /* returns the maximum size for sub-buffers. */ @@ -86,9 +107,9 @@ int kernctl_get_subbuf_size(int fd, unsigned long *len) } /* open the metadata global channel */ -int kernctl_open_metadata(int fd, struct lttng_channel *chops) +int kernctl_open_metadata(int fd, struct lttng_channel_attr *chops) { - return ioctl(fd, KERNEL_OPEN_METADATA, chops); + return ioctl(fd, LTTNG_KERNEL_METADATA, chops); } /* Release exclusive sub-buffer access, move consumer forward. */ @@ -123,11 +144,25 @@ int kernctl_snapshot_get_produced(int fd, unsigned long *pos) int kernctl_start_session(int fd) { - return ioctl(fd, KERNEL_SESSION_START); + return ioctl(fd, LTTNG_KERNEL_SESSION_START); } int kernctl_stop_session(int fd) { - return ioctl(fd, KERNEL_SESSION_STOP); + return ioctl(fd, LTTNG_KERNEL_SESSION_STOP); +} + +int kernctl_tracepoint_list(int fd) +{ + return ioctl(fd, LTTNG_KERNEL_TRACEPOINT_LIST); } +int kernctl_tracer_version(int fd, struct lttng_kernel_tracer_version *v) +{ + return ioctl(fd, LTTNG_KERNEL_TRACER_VERSION, v); +} + +int kernctl_wait_quiescent(int fd) +{ + return ioctl(fd, LTTNG_KERNEL_WAIT_QUIESCENT); +}