42-archive/strace/includes/strace.h
2017-09-03 23:15:54 +02:00

367 lines
19 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_ping.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2017/04/22 14:10:24 by jhalford #+# #+# */
/* Updated: 2017/04/22 15:52:07 by jhalford ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef FT_STRACE_H
# define FT_STRACE_H
# include "libft.h"
# include <sys/ptrace.h>
# include <sys/user.h>
# include <sys/wait.h>
enum e_param {
PARAM_NUMBER = 1,
PARAM_STRING,
PARAM_ADDR,
};
struct s_syscall {
char name[40];
enum e_param params[7];
};
typedef struct s_syscall t_syscall;
t_syscall g_syscalls[] = {
{"read", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, 0}},
{"write", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, 0}},
{"open", {PARAM_STRING, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"close", {PARAM_NUMBER, 0}},
{"stat", {PARAM_STRING, PARAM_ADDR, 0}},
{"fstat", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"lstat", {PARAM_STRING, PARAM_ADDR, 0}},
{"poll", {PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"lseek", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"mmap", {PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"mprotect", {PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"munmap", {PARAM_ADDR, PARAM_NUMBER, 0}},
{"brk", {PARAM_ADDR, 0}},
{"rt_sigaction", {PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, PARAM_NUMBER, 0}},
{"rt_sigprocmask", {PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, PARAM_NUMBER, 0}},
{"rt_sigreturn", {PARAM_NUMBER, 0}},
{"ioctl", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"pread64", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"pwrite64", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"readv", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"writev", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"access", {PARAM_STRING, PARAM_NUMBER, 0}},
{"pipe", {PARAM_ADDR, 0}},
{"select", {PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, PARAM_ADDR, PARAM_ADDR, 0}},
{"sched_yield", {0}},
{"mremap", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"msync", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"mincore", {PARAM_NUMBER, PARAM_NUMBER, PARAM_STRING, 0}},
{"madvise", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"shmget", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"shmat", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, 0}},
{"shmctl", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, 0}},
{"dup", {PARAM_NUMBER, 0}},
{"dup2", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"pause", {0}},
{"nanosleep", {PARAM_ADDR, PARAM_ADDR, 0}},
{"getitimer", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"alarm", {PARAM_NUMBER, 0}},
{"setitimer", {PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"getpid", {0}},
{"sendfile", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"socket", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"connect", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"accept", {PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"sendto", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"recvfrom", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"sendmsg", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"recvmsg", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"shutdown", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"bind", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"listen", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"getsockname", {PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"getpeername", {PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"socketpair", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, 0}},
{"setsockopt", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, 0}},
{"getsockopt", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_STRING, PARAM_ADDR, 0}},
{"clone", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"fork", {0}},
{"vfork", {0}},
{"execve", {PARAM_STRING, PARAM_ADDR, PARAM_ADDR, 0}},
{"exit", {PARAM_NUMBER, 0}},
{"wait4", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_ADDR, 0}},
{"kill", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"uname", {PARAM_ADDR, 0}},
{"semget", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"semop", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"semctl", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"shmdt", {PARAM_STRING, 0}},
{"msgget", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"msgsnd", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"msgrcv", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"msgctl", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, 0}},
{"fcntl", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"flock", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"fsync", {PARAM_NUMBER, 0}},
{"fdatasync", {PARAM_NUMBER, 0}},
{"truncate", {PARAM_STRING, PARAM_NUMBER, 0}},
{"ftruncate", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"getdents", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"getcwd", {PARAM_STRING, PARAM_NUMBER, 0}},
{"chdir", {PARAM_STRING, 0}},
{"fchdir", {PARAM_NUMBER, 0}},
{"rename", {PARAM_STRING, PARAM_STRING, 0}},
{"mkdir", {PARAM_STRING, PARAM_NUMBER, 0}},
{"rmdir", {PARAM_STRING, 0}},
{"creat", {PARAM_STRING, PARAM_NUMBER, 0}},
{"link", {PARAM_STRING, PARAM_STRING, 0}},
{"unlink", {PARAM_STRING, 0}},
{"symlink", {PARAM_STRING, PARAM_STRING, 0}},
{"readlink", {PARAM_STRING, PARAM_STRING, PARAM_NUMBER, 0}},
{"chmod", {PARAM_STRING, PARAM_NUMBER, 0}},
{"fchmod", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"chown", {PARAM_STRING, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"fchown", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"lchown", {PARAM_STRING, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"umask", {PARAM_NUMBER, 0}},
{"gettimeofday", {PARAM_ADDR, PARAM_ADDR, 0}},
{"getrlimit", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"getrusage", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"sysinfo", {PARAM_ADDR, 0}},
{"times", {PARAM_ADDR, 0}},
{"ptrace", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"getuid", {0}},
{"syslog", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, 0}},
{"getgid", {0}},
{"setuid", {PARAM_NUMBER, 0}},
{"setgid", {PARAM_NUMBER, 0}},
{"geteuid", {0}},
{"getegid", {0}},
{"setpgid", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"getppid", {0}},
{"getpgrp", {0}},
{"setsid", {0}},
{"setreuid", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"setregid", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"getgroups", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"setgroups", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"setresuid", {PARAM_ADDR, PARAM_ADDR, PARAM_ADDR, 0}},
{"getresuid", {PARAM_ADDR, PARAM_ADDR, PARAM_ADDR, 0}},
{"setresgid", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"getresgid", {PARAM_ADDR, PARAM_ADDR, PARAM_ADDR, 0}},
{"getpgid", {PARAM_NUMBER, 0}},
{"setfsuid", {PARAM_NUMBER, 0}},
{"setfsgid", {PARAM_NUMBER, 0}},
{"getsid", {PARAM_NUMBER, 0}},
{"capget", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"capset", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"rt_sigpending", {PARAM_ADDR, PARAM_NUMBER, 0}},
{"rt_sigtimedwait", {PARAM_ADDR, PARAM_ADDR, PARAM_ADDR, PARAM_NUMBER, 0}},
{"rt_sigqueueinfo", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, 0}},
{"rt_sigsuspend", {PARAM_ADDR, PARAM_NUMBER, 0}},
{"sigaltstack", {PARAM_ADDR, PARAM_ADDR, 0}},
{"utime", {PARAM_STRING, PARAM_ADDR, 0}},
{"mknod", {PARAM_STRING, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"uselib", {PARAM_NUMBER, 0}},
{"personality", {PARAM_NUMBER, 0}},
{"ustat", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"statfs", {PARAM_STRING, PARAM_ADDR, 0}},
{"fstatfs", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"sysfs", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"getpriority", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"setpriority", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"sched_setparam", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"sched_getparam", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"sched_setscheduler", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, 0}},
{"sched_getscheduler", {PARAM_NUMBER, 0}},
{"sched_get_priority_max", {PARAM_NUMBER, 0}},
{"sched_get_priority_min", {PARAM_NUMBER, 0}},
{"sched_rr_get_interval", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"mlock", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"munlock", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"mlockall", {PARAM_NUMBER, 0}},
{"munlockall", {0}},
{"vhangup", {0}},
{"modify_ldt", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"pivot_root", {PARAM_STRING, PARAM_STRING, 0}},
{"_sysctl", {PARAM_ADDR, 0}},
{"prctl", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"arch_prctl", {PARAM_ADDR, PARAM_NUMBER, PARAM_ADDR, 0}},
{"adjtimex", {PARAM_ADDR, 0}},
{"setrlimit", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"chroot", {PARAM_STRING, 0}},
{"sync", {0}},
{"acct", {PARAM_STRING, 0}},
{"settimeofday", {PARAM_ADDR, PARAM_ADDR, 0}},
{"mount", {PARAM_STRING, PARAM_STRING, PARAM_STRING, PARAM_NUMBER, PARAM_ADDR, 0}},
{"umount2", {PARAM_STRING, PARAM_NUMBER, 0}},
{"swapon", {PARAM_STRING, PARAM_NUMBER, 0}},
{"swapoff", {PARAM_STRING, 0}},
{"reboot", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, 0}},
{"sethostname", {PARAM_STRING, PARAM_NUMBER, 0}},
{"setdomainname", {PARAM_STRING, PARAM_NUMBER, 0}},
{"iopl", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"ioperm", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"create_module", {PARAM_NUMBER, 0}},
{"init_module", {PARAM_ADDR, PARAM_NUMBER, PARAM_STRING, 0}},
{"delete_module", {PARAM_ADDR, PARAM_NUMBER, 0}},
{"get_kernel_syms", {PARAM_NUMBER, 0}},
{"query_module", {PARAM_NUMBER, 0}},
{"quotactl", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, PARAM_ADDR, 0}},
{"nfsservctl", {PARAM_NUMBER, 0}},
{"getpmsg", {PARAM_NUMBER, 0}},
{"putpmsg", {PARAM_NUMBER, 0}},
{"afs_syscall", {PARAM_NUMBER, 0}},
{"tuxcall", {PARAM_NUMBER, 0}},
{"security", {PARAM_NUMBER, 0}},
{"gettid", {0}},
{"readahead", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"setxattr", {PARAM_STRING, PARAM_STRING, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"lsetxattr", {PARAM_STRING, PARAM_STRING, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"fsetxattr", {PARAM_NUMBER, PARAM_STRING, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"getxattr", {PARAM_STRING, PARAM_STRING, PARAM_ADDR, PARAM_NUMBER, 0}},
{"lgetxattr", {PARAM_STRING, PARAM_STRING, PARAM_ADDR, PARAM_NUMBER, 0}},
{"fgetxattr", {PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, PARAM_NUMBER, 0}},
{"listxattr", {PARAM_STRING, PARAM_STRING, PARAM_NUMBER, 0}},
{"llistxattr", {PARAM_STRING, PARAM_STRING, PARAM_NUMBER, 0}},
{"flistxattr", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, 0}},
{"removexattr", {PARAM_STRING, PARAM_STRING, 0}},
{"lremovexattr", {PARAM_STRING, PARAM_STRING, 0}},
{"fremovexattr", {PARAM_NUMBER, PARAM_STRING, 0}},
{"tkill", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"time", {PARAM_ADDR, 0}},
{"futex", {PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, PARAM_NUMBER, 0}},
{"sched_setaffinity", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, 0}},
{"sched_getaffinity", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, 0}},
{"set_thread_area", {PARAM_NUMBER, 0}},
{"io_setup", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"io_destroy", {PARAM_NUMBER, 0}},
{"io_getevents", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, 0}},
{"io_submit", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, 0}},
{"io_cancel", {PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"get_thread_area", {PARAM_NUMBER, 0}},
{"lookup_dcookie", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"epoll_create", {PARAM_NUMBER, 0}},
{"epoll_ctl_old", {PARAM_NUMBER, 0}},
{"epoll_wait_old", {PARAM_NUMBER, 0}},
{"remap_file_pages", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"getdents64", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"set_tid_address", {PARAM_ADDR, 0}},
{"restart_syscall", {0}},
{"semtimedop", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_ADDR, 0}},
{"fadvise64", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"timer_create", {PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"timer_settime", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"timer_gettime", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"timer_getoverrun", {PARAM_NUMBER, 0}},
{"timer_delete", {PARAM_NUMBER, 0}},
{"clock_settime", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"clock_gettime", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"clock_getres", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"clock_nanosleep", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"exit_group", {PARAM_NUMBER, 0}},
{"epoll_wait", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"epoll_ctl", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, 0}},
{"tgkill", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"utimes", {PARAM_STRING, PARAM_ADDR, 0}},
{"vserver", {PARAM_NUMBER, 0}},
{"mbind", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"set_mempolicy", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"get_mempolicy", {PARAM_ADDR, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"mq_open", {PARAM_STRING, PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, 0}},
{"mq_unlink", {PARAM_STRING, 0}},
{"mq_timedsend", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, 0}},
{"mq_timedreceive", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"mq_notify", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"mq_getsetattr", {PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"kexec_load", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"waitid", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_ADDR, 0}},
{"add_key", {PARAM_STRING, PARAM_STRING, PARAM_ADDR, PARAM_NUMBER, 0}},
{"request_key", {PARAM_STRING, PARAM_STRING, PARAM_STRING, PARAM_NUMBER, 0}},
{"keyctl", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"ioprio_set", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"ioprio_get", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"inotify_init", {0}},
{"inotify_add_watch", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, 0}},
{"inotify_rm_watch", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"migrate_pages", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"openat", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"mkdirat", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, 0}},
{"mknodat", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"fchownat", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"futimesat", {PARAM_NUMBER, PARAM_STRING, PARAM_ADDR, 0}},
{"newfstatat", {PARAM_NUMBER, PARAM_STRING, PARAM_ADDR, PARAM_NUMBER, 0}},
{"unlinkat", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, 0}},
{"renameat", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, PARAM_STRING, 0}},
{"linkat", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, 0}},
{"symlinkat", {PARAM_STRING, PARAM_NUMBER, PARAM_STRING, 0}},
{"readlinkat", {PARAM_NUMBER, PARAM_STRING, PARAM_STRING, PARAM_NUMBER, 0}},
{"fchmodat", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, 0}},
{"faccessat", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, 0}},
{"pselect6", {PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, PARAM_ADDR, PARAM_ADDR, PARAM_ADDR, 0}},
{"ppoll", {PARAM_ADDR, PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, PARAM_NUMBER, 0}},
{"unshare", {PARAM_NUMBER, 0}},
{"set_robust_list", {PARAM_ADDR, PARAM_NUMBER, 0}},
{"get_robust_list", {PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"splice", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"tee", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"sync_file_range", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"vmsplice", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"move_pages", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, PARAM_ADDR, PARAM_NUMBER, 0}},
{"utimensat", {PARAM_NUMBER, PARAM_STRING, PARAM_ADDR, PARAM_NUMBER, 0}},
{"epoll_pwait", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"signalfd", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"timerfd_create", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"eventfd", {PARAM_NUMBER, 0}},
{"fallocate", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"timerfd_settime", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"timerfd_gettime", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"accept4", {PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, PARAM_NUMBER, 0}},
{"signalfd4", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"eventfd2", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"epoll_create1", {PARAM_NUMBER, 0}},
{"dup3", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"pipe2", {PARAM_ADDR, PARAM_NUMBER, 0}},
{"inotify_init1", {PARAM_NUMBER, 0}},
{"preadv", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"pwritev", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"rt_tgsigqueueinfo", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, 0}},
{"perf_event_open", {PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"recvmmsg", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, 0}},
{"fanotify_init", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"fanotify_mark", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"prlimit64", {PARAM_NUMBER, PARAM_NUMBER, PARAM_ADDR, PARAM_ADDR, 0}},
{"name_to_handle_at", {PARAM_NUMBER, PARAM_STRING, PARAM_ADDR, PARAM_ADDR, PARAM_NUMBER, 0}},
{"open_by_handle_at", {PARAM_NUMBER, PARAM_STRING, PARAM_ADDR, PARAM_ADDR, PARAM_NUMBER, 0}},
{"clock_adjtime", {PARAM_NUMBER, PARAM_ADDR, 0}},
{"syncfs", {PARAM_NUMBER, 0}},
{"sendmmsg", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"setns", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"getcpu", {PARAM_ADDR, PARAM_ADDR, PARAM_ADDR, 0}},
{"process_vm_readv", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"process_vm_writev", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"kcmp", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"finit_module", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, 0}},
{"sched_setattr", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"sched_getattr", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"renameat2", {PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, 0}},
{"seccomp", {PARAM_NUMBER, PARAM_NUMBER, PARAM_STRING, 0}},
{"getrandom", {PARAM_STRING, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"memfd_create", {PARAM_STRING, PARAM_NUMBER, 0}},
{"kexec_file_load", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_STRING, PARAM_NUMBER, 0}},
{"bpf", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, 0}},
{"stub_execveat", {PARAM_NUMBER, PARAM_STRING, PARAM_ADDR, PARAM_ADDR, PARAM_NUMBER, 0}},
{"userfaultfd", {PARAM_NUMBER, 0}},
{"membarrier", {PARAM_NUMBER, PARAM_NUMBER, 0}},
{"mlock2", {PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"copy_file_range", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"preadv2", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
{"pwritev2", {PARAM_NUMBER, PARAM_ADDR, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, PARAM_NUMBER, 0}},
};
#endif