X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Flttng-syscalls.h;h=ce63973f8f6e430f8c09ca6a1d37ddd3eda3e7f6;hb=1c56bda830dfa393962ac1c14df408536a750d84;hp=01416f4fa01a44f52a7ea2f56f70babbaa8cd25e;hpb=4f1d1ee53c08ab61f0208aeed80303a0dfec2c48;p=lttng-modules.git diff --git a/src/lttng-syscalls.h b/src/lttng-syscalls.h index 01416f4f..ce63973f 100644 --- a/src/lttng-syscalls.h +++ b/src/lttng-syscalls.h @@ -10,36 +10,75 @@ #ifndef LTTNG_SYSCALLS_H #define LTTNG_SYSCALLS_H -#include - #include +#include +#include +#include +#include +#include +#include #include #include - /* - * 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 {