X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=libkernelctl%2Flibkernelctl.c;h=1f30c77c0bb42e9502d6899557dae183362ddf36;hp=e99e777c3ab0b25221e421db9aaca96cc8508cbc;hb=6e2d116c6138874c0357b1afb1db5aa7cd80ceb6;hpb=16421f6edd83b37e777b55add8396a91afcbb08a diff --git a/libkernelctl/libkernelctl.c b/libkernelctl/libkernelctl.c index e99e777c3..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_IO_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_IO_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_IO_CREATE_SESSION); + return ioctl(fd, LTTNG_KERNEL_SESSION); } int kernctl_create_stream(int fd) { - return ioctl(fd, KERNEL_IO_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. */ @@ -85,6 +106,12 @@ int kernctl_get_subbuf_size(int fd, unsigned long *len) return ioctl(fd, RING_BUFFER_GET_SUBBUF_SIZE, len); } +/* open the metadata global channel */ +int kernctl_open_metadata(int fd, struct lttng_channel_attr *chops) +{ + return ioctl(fd, LTTNG_KERNEL_METADATA, chops); +} + /* Release exclusive sub-buffer access, move consumer forward. */ int kernctl_put_next_subbuf(int fd) { @@ -117,11 +144,25 @@ int kernctl_snapshot_get_produced(int fd, unsigned long *pos) int kernctl_start_session(int fd) { - return ioctl(fd, KERNEL_IO_SESSION_START); + return ioctl(fd, LTTNG_KERNEL_SESSION_START); } int kernctl_stop_session(int fd) { - return ioctl(fd, KERNEL_IO_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); +}