X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Flttng-syscalls.h;h=e0f340efc550f82d03d8bfb86bfcce8e19d3313b;hb=d8539681e4d171e036f20b17aa912b515304994a;hp=c9888bd24ef57dc181e8a017dbbe55aa6756ba8e;hpb=87b2af7b86c6effda660f20da175317f26d155c9;p=lttng-modules.git diff --git a/src/lttng-syscalls.h b/src/lttng-syscalls.h index c9888bd2..e0f340ef 100644 --- a/src/lttng-syscalls.h +++ b/src/lttng-syscalls.h @@ -16,37 +16,62 @@ #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 sel_arg_struct; -struct mmap_arg_struct; -struct file_handle; +struct statx; struct user_msghdr; + +struct __aio_sigset; struct __kernel_old_itimerval; -struct open_how; -struct mount_attr; -struct futex_waitv; +struct __kernel_timespec; +struct __kernel_timex; +struct __kernel_old_timeval; +struct __kernel_itimerspec; -/* - * Forward declaration for kernels >= 5.6 - */ -struct timex; -struct timeval; -struct itimerval; -struct itimerspec; +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 {