X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fkernel-ctl%2Fkernel-ioctl.h;h=e7ff50b24349e0f152856a30177f36b6cbebb8f3;hp=b37605bb19793583a53e91eed61c830b61027307;hb=8de8806159d9d2544e2bc3091cc3c98abe4d97ad;hpb=000fa86f1276f62aa32cdb18f6556db1bdeee09b diff --git a/src/common/kernel-ctl/kernel-ioctl.h b/src/common/kernel-ctl/kernel-ioctl.h index b37605bb1..e7ff50b24 100644 --- a/src/common/kernel-ctl/kernel-ioctl.h +++ b/src/common/kernel-ctl/kernel-ioctl.h @@ -20,7 +20,7 @@ #define _LTT_KERNEL_IOCTL_H #define LTTNG_MODULES_ABI_MAJOR_VERSION 2 -#define LTTNG_MODULES_ABI_MINOR_VERSION 0 +#define LTTNG_MODULES_ABI_MINOR_VERSION 3 /* Get a snapshot of the current ring buffer producer and consumer positions */ #define RING_BUFFER_SNAPSHOT _IO(0xF6, 0x00) @@ -47,8 +47,23 @@ #define RING_BUFFER_GET_MMAP_LEN _IOR(0xF6, 0x0A, unsigned long) /* returns the offset of the subbuffer belonging to the mmap reader. */ #define RING_BUFFER_GET_MMAP_READ_OFFSET _IOR(0xF6, 0x0B, unsigned long) -/* flush the current sub-buffer */ +/* Flush the current sub-buffer, if non-empty. */ #define RING_BUFFER_FLUSH _IO(0xF6, 0x0C) +/* Get the current version of the metadata cache (after a get_next). */ +#define RING_BUFFER_GET_METADATA_VERSION _IOR(0xF6, 0x0D, uint64_t) +/* + * Get a snapshot of the current ring buffer producer and consumer positions, + * regardless of whether or not the two positions are contained within the same + * sub-buffer. + */ +#define RING_BUFFER_SNAPSHOT_SAMPLE_POSITIONS _IO(0xF6, 0x0E) +/* Flush the current sub-buffer, even if empty. */ +#define RING_BUFFER_FLUSH_EMPTY _IO(0xF6, 0x0F) +/* + * Reset the position of what has been consumed from the metadata cache to 0 + * so it can be read again. + */ +#define RING_BUFFER_METADATA_CACHE_DUMP _IO(0xF6, 0x10) /* returns the timestamp begin of the current sub-buffer */ #define LTTNG_RING_BUFFER_GET_TIMESTAMP_BEGIN _IOR(0xF6, 0x20, uint64_t) @@ -76,8 +91,6 @@ _IOR(0xF6, 0x41, struct lttng_kernel_old_tracer_version) #define LTTNG_KERNEL_OLD_TRACEPOINT_LIST _IO(0xF6, 0x42) #define LTTNG_KERNEL_OLD_WAIT_QUIESCENT _IO(0xF6, 0x43) -#define LTTNG_KERNEL_OLD_CALIBRATE \ - _IOWR(0xF6, 0x44, struct lttng_kernel_old_calibrate) /* Session FD ioctl */ #define LTTNG_KERNEL_OLD_METADATA \ @@ -108,8 +121,6 @@ _IOR(0xF6, 0x46, struct lttng_kernel_tracer_version) #define LTTNG_KERNEL_TRACEPOINT_LIST _IO(0xF6, 0x47) #define LTTNG_KERNEL_WAIT_QUIESCENT _IO(0xF6, 0x48) -#define LTTNG_KERNEL_CALIBRATE \ - _IOWR(0xF6, 0x49, struct lttng_kernel_calibrate) #define LTTNG_KERNEL_SYSCALL_LIST _IO(0xF6, 0x4A) #define LTTNG_KERNEL_TRACER_ABI_VERSION \ _IOR(0xF6, 0x4B, struct lttng_kernel_tracer_abi_version) @@ -125,7 +136,15 @@ _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) @@ -144,5 +163,6 @@ /* Event FD ioctl */ #define LTTNG_KERNEL_FILTER _IO(0xF6, 0x90) +#define LTTNG_KERNEL_ADD_CALLSITE _IO(0xF6, 0x91) #endif /* _LTT_KERNEL_IOCTL_H */