3 ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
4 ; System call name/number master file (or rather, slave, from LINUX).
5 ; Processed to create linux_sysent.c, linux_proto.h and linux_syscall.h.
7 ; Columns: number audit type nargs name alt{name,tag,rtyp}/comments
8 ; number system call number, must be in order
9 ; audit the audit event associated with the system call
10 ; A value of AUE_NULL means no auditing, but it also means that
11 ; there is no audit event for the call at this time. For the
12 ; case where the event exists, but we don't want auditing, the
13 ; event should be #defined to AUE_NULL in audit_kevents.h.
14 ; type one of STD, NOPROTO, UNIMPL
15 ; name pseudo-prototype of syscall routine
16 ; If one of the following alts is different, then all appear:
17 ; altname name of system call if different
18 ; alttag name of args struct tag if different from [o]`name'"_args"
19 ; altrtyp return type if not int (bogus - syscalls always return int)
20 ; for UNIMPL, name continues with comments
24 ; UNIMPL not implemented, placeholder only
25 ; NOPROTO same as STD except do not create structure or
26 ; function prototype in sys/sysproto.h. Does add a
27 ; definition to syscall.h besides adding a sysent.
29 #include <sys/param.h>
30 #include <sys/sysent.h>
31 #include <sys/sysproto.h>
32 #include <compat/linux/linux_sysproto.h>
33 #include <amd64/linux/linux.h>
34 #include <amd64/linux/linux_proto.h>
36 ; Isn't pretty, but there seems to be no other way to trap nosys
37 #define nosys linux_nosys
39 ; #ifdef's, etc. may be included, and are copied to the output files.
109 10 AUE_MPROTECT STD {
116 11 AUE_MUNMAP NOPROTO {
128 int linux_rt_sigaction(
136 int linux_rt_sigprocmask(
144 int linux_rt_sigreturn(
145 struct l_ucontext *ucp
171 19 AUE_READV NOPROTO {
178 20 AUE_WRITEV NOPROTO {
202 struct l_timeval *timeout
205 24 AUE_NULL NOPROTO {
206 int sched_yield(void);
256 struct l_shmid_ds *buf
264 33 AUE_DUP2 NOPROTO {
271 int linux_pause(void);
275 const struct l_timespec *rqtp,
276 struct l_timespec *rmtp
279 36 AUE_GETITIMER STD {
282 struct l_itimerval *itv
290 38 AUE_SETITIMER STD {
293 struct l_itimerval *itv,
294 struct l_itimerval *oitv
298 int linux_getpid(void);
300 40 AUE_SENDFILE STD {
339 45 AUE_RECVFROM STD {
382 51 AUE_GETSOCKNAME STD {
383 int linux_getsockname(
389 52 AUE_GETPEERNAME STD {
390 int linux_getpeername(
396 53 AUE_SOCKETPAIR STD {
397 int linux_socketpair(
404 54 AUE_SETSOCKOPT STD {
405 int linux_setsockopt(
413 55 AUE_GETSOCKOPT STD {
414 int linux_getsockopt(
432 int linux_fork(void);
435 int linux_vfork(void);
454 struct rusage *rusage
465 struct l_new_utsname *buf
478 struct l_sembuf *tsops,
504 struct l_msgbuf *msgp,
512 struct l_msgbuf *msgp,
522 struct l_msqid_ds *buf
532 73 AUE_FLOCK NOPROTO {
538 74 AUE_FSYNC NOPROTO {
548 76 AUE_TRUNCATE STD {
554 77 AUE_FTRUNCATE STD {
560 78 AUE_GETDIRENTRIES STD {
578 81 AUE_FCHDIR NOPROTO {
623 89 AUE_READLINK STD {
636 91 AUE_FCHMOD NOPROTO {
649 93 AUE_FCHOWN NOPROTO {
663 95 AUE_UMASK NOPROTO {
668 96 AUE_NULL NOPROTO {
670 struct l_timeval *tp,
674 97 AUE_GETRLIMIT STD {
677 struct l_rlimit *rlim
680 98 AUE_GETRUSAGE NOPROTO {
683 struct rusage *rusage
688 struct l_sysinfo *info
693 struct l_times_argv *buf
705 int linux_getuid(void);
715 int linux_getgid(void);
717 105 AUE_SETUID NOPROTO {
722 106 AUE_SETGID NOPROTO {
727 107 AUE_GETEUID NOPROTO {
730 108 AUE_GETEGID NOPROTO {
733 109 AUE_SETPGRP NOPROTO {
739 110 AUE_GETPPID STD {
740 int linux_getppid(void);
742 111 AUE_GETPGRP NOPROTO {
745 112 AUE_SETSID NOPROTO {
748 113 AUE_SETREUID NOPROTO {
754 114 AUE_SETREGID NOPROTO {
760 115 AUE_GETGROUPS STD {
766 116 AUE_SETGROUPS STD {
772 117 AUE_SETRESUID NOPROTO {
779 118 AUE_GETRESUID NOPROTO {
786 119 AUE_SETRESGID NOPROTO {
793 120 AUE_GETRESGID NOPROTO {
800 121 AUE_GETPGID NOPROTO {
805 122 AUE_SETFSUID STD {
810 123 AUE_SETFSGID STD {
822 struct l_user_cap_header *hdrp,
823 struct l_user_cap_data *datap
828 struct l_user_cap_header *hdrp,
829 struct l_user_cap_data *datap
833 int linux_rt_sigpending(
839 int linux_rt_sigtimedwait(
842 struct l_timeval *timeout,
847 int linux_rt_sigqueueinfo(
854 int linux_rt_sigsuspend(
860 int linux_sigaltstack(
868 struct l_utimbuf *times
878 134 AUE_USELIB UNIMPL uselib
879 135 AUE_PERSONALITY STD {
880 int linux_personality(
893 struct l_statfs_buf *buf
896 138 AUE_FSTATFS STD {
899 struct l_statfs_buf *buf
909 140 AUE_GETPRIORITY STD {
910 int linux_getpriority(
915 141 AUE_SETPRIORITY NOPROTO {
922 142 AUE_SCHED_SETPARAM STD {
923 int linux_sched_setparam(
925 struct sched_param *param
928 143 AUE_SCHED_GETPARAM STD {
929 int linux_sched_getparam(
931 struct sched_param *param
934 144 AUE_SCHED_SETSCHEDULER STD {
935 int linux_sched_setscheduler(
938 struct sched_param *param
941 145 AUE_SCHED_GETSCHEDULER STD {
942 int linux_sched_getscheduler(
946 146 AUE_SCHED_GET_PRIORITY_MAX STD {
947 int linux_sched_get_priority_max(
951 147 AUE_SCHED_GET_PRIORITY_MIN STD {
952 int linux_sched_get_priority_min(
956 148 AUE_SCHED_RR_GET_INTERVAL STD {
957 int linux_sched_rr_get_interval(
959 struct l_timespec *interval
962 149 AUE_MLOCK NOPROTO {
968 150 AUE_MUNLOCK NOPROTO {
974 151 AUE_MLOCKALL NOPROTO {
979 152 AUE_MUNLOCKALL NOPROTO {
980 int munlockall(void);
983 int linux_vhangup(void);
986 int linux_modify_ldt(void);
988 155 AUE_PIVOT_ROOT STD {
989 int linux_pivot_root(void);
993 struct l___sysctl_args *args
1006 int linux_arch_prctl(
1011 159 AUE_ADJTIME STD {
1012 int linux_adjtimex(void);
1014 160 AUE_SETRLIMIT STD {
1015 int linux_setrlimit(
1017 struct l_rlimit *rlim
1020 161 AUE_CHROOT NOPROTO {
1025 162 AUE_SYNC NOPROTO {
1028 163 AUE_ACCT NOPROTO {
1033 164 AUE_SETTIMEOFDAY NOPROTO {
1035 struct l_timeval *tv,
1036 struct timezone *tzp
1043 char *filesystemtype,
1048 166 AUE_UMOUNT STD {
1054 167 AUE_SWAPON NOPROTO {
1059 168 AUE_SWAPOFF STD {
1060 int linux_swapoff(void);
1062 169 AUE_REBOOT STD {
1070 170 AUE_SYSCTL STD {
1071 int linux_sethostname(
1076 171 AUE_SYSCTL STD {
1077 int linux_setdomainname(
1088 int linux_ioperm(void);
1090 174 AUE_NULL UNIMPL create_module
1092 int linux_init_module(void);
1095 int linux_delete_module(void);
1097 177 AUE_NULL UNIMPL get_kernel_syms
1098 178 AUE_NULL UNIMPL query_module
1099 179 AUE_QUOTACTL STD {
1100 int linux_quotactl(void);
1102 180 AUE_NULL UNIMPL nfsservctl
1103 181 AUE_GETPMSG UNIMPL getpmsg
1104 182 AUE_PUTPMSG UNIMPL putpmsg
1105 183 AUE_NULL UNIMPL afs_syscall
1106 184 AUE_NULL UNIMPL tuxcall
1107 185 AUE_NULL UNIMPL security
1109 int linux_gettid(void);
1112 int linux_readahead(void);
1124 int linux_lsetxattr(
1133 int linux_fsetxattr(
1150 int linux_lgetxattr(
1158 int linux_fgetxattr(
1166 int linux_listxattr(
1173 int linux_llistxattr(
1180 int linux_flistxattr(
1187 int linux_removexattr(
1193 int linux_lremovexattr(
1199 int linux_fremovexattr(
1216 int linux_sys_futex(
1220 struct l_timespec *timeout,
1226 int linux_sched_setaffinity(
1229 l_ulong *user_mask_ptr
1233 int linux_sched_getaffinity(
1236 l_ulong *user_mask_ptr
1239 205 AUE_NULL UNIMPL set_thread_area
1241 int linux_io_setup(void);
1244 int linux_io_destroy(void);
1247 int linux_io_getevents(void);
1250 int linux_io_submit(void);
1253 int linux_io_cancel(void);
1255 211 AUE_NULL UNIMPL get_thread_area
1257 int linux_lookup_dcookie(void);
1260 int linux_epoll_create(
1264 214 AUE_NULL UNIMPL epoll_ctl_old
1265 215 AUE_NULL UNIMPL epoll_wait_old
1267 int linux_remap_file_pages(void);
1269 217 AUE_GETDIRENTRIES STD {
1270 int linux_getdents64(
1277 int linux_set_tid_address(
1282 int linux_restart_syscall(void);
1285 int linux_semtimedop(void);
1288 int linux_fadvise64(
1296 int linux_timer_create(
1298 struct sigevent *evp,
1303 int linux_timer_settime(
1306 const struct itimerspec *new,
1307 struct itimerspec *old
1311 int linux_timer_gettime(
1313 struct itimerspec *setting
1317 int linux_timer_getoverrun(
1322 int linux_timer_delete(
1326 227 AUE_CLOCK_SETTIME STD {
1327 int linux_clock_settime(
1329 struct l_timespec *tp
1333 int linux_clock_gettime(
1335 struct l_timespec *tp
1339 int linux_clock_getres(
1341 struct l_timespec *tp
1345 int linux_clock_nanosleep(
1348 struct l_timespec *rqtp,
1349 struct l_timespec *rmtp
1353 int linux_exit_group(
1358 int linux_epoll_wait(
1360 struct epoll_event *events,
1366 int linux_epoll_ctl(
1370 struct epoll_event *event
1380 235 AUE_UTIMES STD {
1383 struct l_timeval *tptr
1386 236 AUE_NULL UNIMPL vserver
1388 int linux_mbind(void);
1391 int linux_set_mempolicy(void);
1394 int linux_get_mempolicy(void);
1401 struct mq_attr *attr
1405 int linux_mq_unlink(
1410 int linux_mq_timedsend(
1412 const char *msg_ptr,
1415 const struct l_timespec *abs_timeout
1419 int linux_mq_timedreceive(
1424 const struct l_timespec *abs_timeout
1428 int linux_mq_notify(
1430 const struct l_timespec *abs_timeout
1434 int linux_mq_getsetattr(
1436 const struct mq_attr *attr,
1437 struct mq_attr *oattr
1441 int linux_kexec_load(void);
1449 struct rusage *rusage
1453 int linux_add_key(void);
1456 int linux_request_key(void);
1459 int linux_keyctl(void);
1462 int linux_ioprio_set(void);
1465 int linux_ioprio_get(void);
1468 int linux_inotify_init(void);
1471 int linux_inotify_add_watch(void);
1474 int linux_inotify_rm_watch(void);
1477 int linux_migrate_pages(void);
1479 257 AUE_OPEN_RWTC STD {
1482 const char *filename,
1487 258 AUE_MKDIRAT STD {
1490 const char *pathname,
1494 259 AUE_MKNODAT STD {
1497 const char *filename,
1502 260 AUE_FCHOWNAT STD {
1505 const char *filename,
1511 261 AUE_FUTIMESAT STD {
1512 int linux_futimesat(
1515 struct l_timeval *utimes
1518 262 AUE_FSTATAT STD {
1519 int linux_newfstatat(
1522 struct l_stat64 *statbuf,
1526 263 AUE_UNLINKAT STD {
1529 const char *pathname,
1533 264 AUE_RENAMEAT STD {
1536 const char *oldname,
1541 265 AUE_LINKAT STD {
1544 const char *oldname,
1546 const char *newname,
1550 266 AUE_SYMLINKAT STD {
1551 int linux_symlinkat(
1552 const char *oldname,
1557 267 AUE_READLINKAT STD {
1558 int linux_readlinkat(
1565 268 AUE_FCHMODAT STD {
1568 const char *filename,
1572 269 AUE_FACCESSAT STD {
1573 int linux_faccessat(
1575 const char *filename,
1579 270 AUE_SELECT STD {
1584 l_fd_set *exceptfds,
1585 struct l_timespec *tsp,
1593 struct l_timespec *tsp,
1599 int linux_unshare(void);
1602 int linux_set_robust_list(
1603 struct linux_robust_list_head *head,
1608 int linux_get_robust_list(
1610 struct linux_robust_list_head **head,
1625 int linux_tee(void);
1628 int linux_sync_file_range(
1636 int linux_vmsplice(void);
1639 int linux_move_pages(void);
1641 280 AUE_FUTIMESAT STD {
1642 int linux_utimensat(
1644 const char *pathname,
1645 const struct l_timespec *times,
1650 int linux_epoll_pwait(
1652 struct epoll_event *events,
1660 int linux_signalfd(void);
1663 int linux_timerfd_create(
1674 int linux_fallocate(
1682 int linux_timerfd_settime(
1685 const struct l_itimerspec *new_value,
1686 struct l_itimerspec *old_value
1690 int linux_timerfd_gettime(
1692 struct l_itimerspec *old_value
1695 288 AUE_ACCEPT STD {
1699 l_uintptr_t namelen,
1705 int linux_signalfd4(void);
1714 int linux_epoll_create1(
1732 int linux_inotify_init1(
1757 int linux_rt_tgsigqueueinfo(
1765 int linux_perf_event_open(void);
1771 struct l_mmsghdr *msg,
1774 struct l_timespec *timeout
1779 int linux_fanotify_init(void);
1782 int linux_fanotify_mark(void);
1786 int linux_prlimit64(
1793 ; Linux 2.6.39 (glibc 2.14):
1795 int linux_name_to_handle_at(void);
1798 int linux_open_by_handle_at(void);
1801 int linux_clock_adjtime(void);
1808 ; Linux 3.0 (glibc 2.14):
1812 struct l_mmsghdr *msg,
1823 ; Linux 2.6.19 (no glibc wrapper):
1831 ; Linux 3.2 (glibc 2.15):
1833 int linux_process_vm_readv(
1835 const struct iovec *lvec,
1837 const struct iovec *rvec,
1843 int linux_process_vm_writev(
1845 const struct iovec *lvec,
1847 const struct iovec *rvec,
1852 ; Linux 3.5 (no glibc wrapper):
1862 ; Linux 3.8 (no glibc wrapper):
1864 int linux_finit_module(
1872 int linux_sched_setattr(
1879 int linux_sched_getattr(
1888 int linux_renameat2(
1890 const char *oldname,
1892 const char *newname,
1905 int linux_getrandom(
1912 int linux_memfd_create(
1913 const char *uname_ptr,
1918 int linux_kexec_file_load(
1921 l_ulong cmdline_len,
1922 const char *cmdline_ptr,
1938 const char *filename,
1946 int linux_userfaultfd(
1952 int linux_membarrier(
1967 int linux_copy_file_range(
1980 const struct iovec *vec,
1990 const struct iovec *vec,
1999 int linux_pkey_mprotect(
2007 int linux_pkey_alloc(
2013 int linux_pkey_free(
2021 const char *pathname,
2029 int linux_io_pgetevents(void);
2032 int linux_rseq(void);
2035 335-423 AUE_NULL UNIMPL nosys
2037 int linux_pidfd_send_signal(
2045 int linux_io_uring_setup(void);
2048 int linux_io_uring_enter(void);
2051 int linux_io_uring_register(void);
2053 ; please, keep this line at the end.
2054 428 AUE_NULL UNIMPL nosys