X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Flttng-syscalls.h;h=a6bc30fb79e01598fe362e54fc57b497a21d0aca;hb=HEAD;hp=d221dfb7c7d2a4424d3086c548a4a928dc297bb8;hpb=e42c4f49c15b4365de8d01b1a010c9b7e95163b8;p=lttng-modules.git diff --git a/src/lttng-syscalls.h b/src/lttng-syscalls.h index d221dfb7..a6bc30fb 100644 --- a/src/lttng-syscalls.h +++ b/src/lttng-syscalls.h @@ -10,42 +10,91 @@ #ifndef LTTNG_SYSCALLS_H #define LTTNG_SYSCALLS_H -#include - #include +#include +#include +#include +#include +#include +#include #include #include +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,13,0)) +#include +#else +struct landlock_ruleset_attr; + +enum landlock_rule_type { + LANDLOCK_RULE_PATH_BENEATH = 1, +}; +#endif /* - * Forward declarations for old kernels. + * Forward declarations allowing LTTng to build its system call instrumentation + * against old kernels which do not declare the more recent system call + * argument structure types. */ +struct clone_args; +struct file_handle; +struct futex_waitv; +struct io_uring_params; +struct mmap_arg_struct; struct mmsghdr; -struct rlimit64; +struct mount_attr; struct oldold_utsname; struct old_utsname; +struct old_itimerspec32; +struct old_timespec32; +struct old_timeval32; +struct old_timex32; +struct old_utimbuf32; +struct open_how; +struct rlimit64; +struct rseq; +struct sched_attr; struct sel_arg_struct; -struct mmap_arg_struct; -struct file_handle; +struct statx; struct user_msghdr; -/* - * Forward declaration for kernels >= 5.6 - */ -struct timex; -struct timeval; -struct itimerval; -struct itimerspec; +struct __aio_sigset; +struct __kernel_old_itimerval; +struct __kernel_timespec; +struct __kernel_timex; +struct __kernel_old_timeval; +struct __kernel_itimerspec; + +union bpf_attr; + +#ifndef __kernel_long_t +typedef long __kernel_long_t; +#endif + +typedef __kernel_long_t __kernel_old_time_t; +typedef int __bitwise __kernel_rwf_t; +typedef __kernel_rwf_t rwf_t; +typedef s32 old_time32_t; #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,6,0)) +/* + * Forward declaration and typedef for old types expected by MIPS and POWER + * system call instrumentation when building against kernel >= 5.6.0. To be + * removed after those system call instrumentation headers are regenerated + * against a recent kernel. + */ typedef __kernel_old_time_t time_t; + +struct itimerspec; +struct itimerval; +struct timeval; +struct timex; #endif struct trace_syscall_entry { void *event_func; const struct lttng_kernel_event_desc *desc; - const struct lttng_kernel_event_field **fields; + const struct lttng_kernel_event_field * const *fields; unsigned int nrargs; };