-#ifndef _LTTNG_ABI_H
-#define _LTTNG_ABI_H
-
-/*
+/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
+ *
* lttng-abi.h
*
* LTTng ABI header
*
* Copyright (C) 2010-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; only
- * version 2.1 of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#ifndef _LTTNG_ABI_H
+#define _LTTNG_ABI_H
+
#include <linux/fs.h>
/*
* should be increased when an incompatible ABI change is done.
*/
#define LTTNG_MODULES_ABI_MAJOR_VERSION 2
-#define LTTNG_MODULES_ABI_MINOR_VERSION 0
+#define LTTNG_MODULES_ABI_MINOR_VERSION 3
#define LTTNG_KERNEL_SYM_NAME_LEN 256
LTTNG_KERNEL_CONTEXT_VPPID = 9,
LTTNG_KERNEL_CONTEXT_HOSTNAME = 10,
LTTNG_KERNEL_CONTEXT_CPU_ID = 11,
+ LTTNG_KERNEL_CONTEXT_INTERRUPTIBLE = 12,
+ LTTNG_KERNEL_CONTEXT_PREEMPTIBLE = 13,
+ LTTNG_KERNEL_CONTEXT_NEED_RESCHEDULE = 14,
+ LTTNG_KERNEL_CONTEXT_MIGRATABLE = 15,
+ LTTNG_KERNEL_CONTEXT_CALLSTACK_KERNEL = 16,
+ LTTNG_KERNEL_CONTEXT_CALLSTACK_USER = 17,
};
struct lttng_kernel_perf_counter_ctx {
_IOR(0xF6, 0x58, int32_t)
#define LTTNG_KERNEL_SESSION_UNTRACK_PID \
_IOR(0xF6, 0x59, int32_t)
+/*
+ * ioctl 0x58 and 0x59 are duplicated here. It works, since _IOR vs _IO
+ * are generating two different ioctl numbers, but this was not done on
+ * purpose. We should generally try to avoid those duplications.
+ */
#define LTTNG_KERNEL_SESSION_LIST_TRACKER_PIDS _IO(0xF6, 0x58)
+#define LTTNG_KERNEL_SESSION_METADATA_REGEN _IO(0xF6, 0x59)
+/* 0x5A and 0x5B are reserved for a future ABI-breaking cleanup. */
+#define LTTNG_KERNEL_SESSION_STATEDUMP _IO(0xF6, 0x5C)
/* Channel FD ioctl */
#define LTTNG_KERNEL_STREAM _IO(0xF6, 0x62)
#define LTTNG_RING_BUFFER_GET_STREAM_ID _IOR(0xF6, 0x25, uint64_t)
/* returns the current timestamp */
#define LTTNG_RING_BUFFER_GET_CURRENT_TIMESTAMP _IOR(0xF6, 0x26, uint64_t)
+/* returns the packet sequence number */
+#define LTTNG_RING_BUFFER_GET_SEQ_NUM _IOR(0xF6, 0x27, uint64_t)
+/* returns the stream instance id */
+#define LTTNG_RING_BUFFER_INSTANCE_ID _IOR(0xF6, 0x28, uint64_t)
#ifdef CONFIG_COMPAT
/* returns the timestamp begin of the current sub-buffer */
/* returns the current timestamp */
#define LTTNG_RING_BUFFER_COMPAT_GET_CURRENT_TIMESTAMP \
LTTNG_RING_BUFFER_GET_CURRENT_TIMESTAMP
+/* returns the packet sequence number */
+#define LTTNG_RING_BUFFER_COMPAT_GET_SEQ_NUM \
+ LTTNG_RING_BUFFER_GET_SEQ_NUM
+/* returns the stream instance id */
+#define LTTNG_RING_BUFFER_COMPAT_INSTANCE_ID \
+ LTTNG_RING_BUFFER_INSTANCE_ID
#endif /* CONFIG_COMPAT */
#endif /* _LTTNG_ABI_H */