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 <i386/linux/linux.h>
34 #include <i386/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.
41 0 AUE_NULL UNIMPL setup
137 17 AUE_NULL UNIMPL break
141 struct linux_stat *up
152 int linux_getpid(void);
158 char *filesystemtype,
174 int linux_getuid16(void);
176 25 AUE_SETTIMEOFDAY STD {
177 int linux_stime(void);
195 struct linux_stat *up
199 int linux_pause(void);
204 struct l_utimbuf *times
207 31 AUE_NULL UNIMPL stty
208 32 AUE_NULL UNIMPL gtty
220 35 AUE_NULL UNIMPL ftime
221 36 AUE_SYNC NOPROTO {
259 struct l_times_argv *buf
262 44 AUE_NULL UNIMPL prof
274 int linux_getgid16(void);
283 int linux_geteuid16(void);
286 int linux_getegid16(void);
288 51 AUE_ACCT NOPROTO {
299 53 AUE_NULL UNIMPL lock
314 56 AUE_NULL UNIMPL mpx
315 57 AUE_SETPGRP NOPROTO {
321 58 AUE_NULL UNIMPL ulimit
323 int linux_olduname(void);
325 60 AUE_UMASK NOPROTO {
330 61 AUE_CHROOT NOPROTO {
341 63 AUE_DUP2 NOPROTO {
348 int linux_getppid(void);
350 65 AUE_GETPGRP NOPROTO {
353 66 AUE_SETSID NOPROTO {
364 int linux_sgetmask(void);
371 70 AUE_SETREUID STD {
372 int linux_setreuid16(
377 71 AUE_SETREGID STD {
378 int linux_setregid16(
384 int linux_sigsuspend(
391 int linux_sigpending(
396 int linux_sethostname(
401 75 AUE_SETRLIMIT STD {
404 struct l_rlimit *rlim
407 76 AUE_GETRLIMIT STD {
408 int linux_old_getrlimit(
410 struct l_rlimit *rlim
413 77 AUE_GETRUSAGE NOPROTO {
416 struct rusage *rusage
419 78 AUE_NULL NOPROTO {
425 79 AUE_SETTIMEOFDAY NOPROTO {
431 80 AUE_GETGROUPS STD {
432 int linux_getgroups16(
437 81 AUE_SETGROUPS STD {
438 int linux_setgroups16(
444 int linux_old_select(
445 struct l_old_select_argv *ptr
461 85 AUE_READLINK STD {
473 87 AUE_SWAPON NOPROTO {
487 89 AUE_GETDIRENTRIES STD {
490 struct l_dirent *dent,
497 struct l_mmap_argv *ptr
500 91 AUE_MUNMAP NOPROTO {
506 92 AUE_TRUNCATE STD {
512 93 AUE_FTRUNCATE STD {
518 94 AUE_FCHMOD NOPROTO {
524 95 AUE_FCHOWN NOPROTO {
531 96 AUE_GETPRIORITY STD {
532 int linux_getpriority(
537 97 AUE_SETPRIORITY NOPROTO {
544 98 AUE_PROFILE UNIMPL profil
548 struct l_statfs_buf *buf
551 100 AUE_FSTATFS STD {
554 struct l_statfs_buf *buf
565 int linux_socketcall(
577 104 AUE_SETITIMER STD {
580 struct l_itimerval *itv,
581 struct l_itimerval *oitv
584 105 AUE_GETITIMER STD {
587 struct l_itimerval *itv
593 struct l_newstat *buf
599 struct l_newstat *buf
605 struct l_newstat *buf
610 int linux_uname(void);
618 int linux_vhangup(void);
620 112 AUE_NULL UNIMPL idle
622 int linux_vm86old(void);
632 115 AUE_SWAPOFF STD {
633 int linux_swapoff(void);
637 struct l_sysinfo *info
650 118 AUE_FSYNC NOPROTO {
655 119 AUE_SIGRETURN STD {
657 struct l_sigframe *sfp
670 int linux_setdomainname(
677 struct l_new_utsname *buf
681 int linux_modify_ldt(
687 124 AUE_ADJTIME STD {
688 int linux_adjtimex(void);
690 125 AUE_MPROTECT STD {
697 126 AUE_SIGPROCMASK STD {
698 int linux_sigprocmask(
704 127 AUE_NULL UNIMPL create_module
706 int linux_init_module(void);
709 int linux_delete_module(void);
711 130 AUE_NULL UNIMPL get_kernel_syms
712 131 AUE_QUOTACTL STD {
713 int linux_quotactl(void);
715 132 AUE_GETPGID NOPROTO {
720 133 AUE_FCHDIR NOPROTO {
725 134 AUE_BDFLUSH STD {
726 int linux_bdflush(void);
735 136 AUE_PERSONALITY STD {
736 int linux_personality(
740 137 AUE_NULL UNIMPL afs_syscall
741 138 AUE_SETFSUID STD {
742 int linux_setfsuid16(
746 139 AUE_SETFSGID STD {
747 int linux_setfsgid16(
760 141 AUE_GETDIRENTRIES STD {
774 struct l_timeval *timeout
777 143 AUE_FLOCK NOPROTO {
790 145 AUE_READV NOPROTO {
797 146 AUE_WRITEV NOPROTO {
816 struct l___sysctl_args *args
819 150 AUE_MLOCK NOPROTO {
825 151 AUE_MUNLOCK NOPROTO {
831 152 AUE_MLOCKALL NOPROTO {
836 153 AUE_MUNLOCKALL NOPROTO {
837 int munlockall(void);
839 154 AUE_SCHED_SETPARAM STD {
840 int linux_sched_setparam(
842 struct sched_param *param
845 155 AUE_SCHED_GETPARAM STD {
846 int linux_sched_getparam(
848 struct sched_param *param
851 156 AUE_SCHED_SETSCHEDULER STD {
852 int linux_sched_setscheduler(
855 struct sched_param *param
858 157 AUE_SCHED_GETSCHEDULER STD {
859 int linux_sched_getscheduler(
863 158 AUE_NULL NOPROTO {
864 int sched_yield(void);
866 159 AUE_SCHED_GET_PRIORITY_MAX STD {
867 int linux_sched_get_priority_max(
871 160 AUE_SCHED_GET_PRIORITY_MIN STD {
872 int linux_sched_get_priority_min(
876 161 AUE_SCHED_RR_GET_INTERVAL STD {
877 int linux_sched_rr_get_interval(
879 struct l_timespec *interval
884 const struct l_timespec *rqtp,
885 struct l_timespec *rmtp
897 164 AUE_SETRESUID STD {
898 int linux_setresuid16(
904 165 AUE_GETRESUID STD {
905 int linux_getresuid16(
912 int linux_vm86(void);
914 167 AUE_NULL UNIMPL query_module
915 168 AUE_POLL NOPROTO {
922 169 AUE_NULL UNIMPL nfsservctl
923 170 AUE_SETRESGID STD {
924 int linux_setresgid16(
930 171 AUE_GETRESGID STD {
931 int linux_getresgid16(
947 int linux_rt_sigreturn(
948 struct l_ucontext *ucp
952 int linux_rt_sigaction(
960 int linux_rt_sigprocmask(
968 int linux_rt_sigpending(
974 int linux_rt_sigtimedwait(
977 struct l_timeval *timeout,
982 int linux_rt_sigqueueinfo(
989 int linux_rt_sigsuspend(
1002 181 AUE_PWRITE STD {
1017 183 AUE_GETCWD STD {
1023 184 AUE_CAPGET STD {
1025 struct l_user_cap_header *hdrp,
1026 struct l_user_cap_data *datap
1029 185 AUE_CAPSET STD {
1031 struct l_user_cap_header *hdrp,
1032 struct l_user_cap_data *datap
1036 int linux_sigaltstack(
1041 187 AUE_SENDFILE STD {
1049 188 AUE_GETPMSG UNIMPL getpmsg
1050 189 AUE_PUTPMSG UNIMPL putpmsg
1052 int linux_vfork(void);
1055 191 AUE_GETRLIMIT STD {
1056 int linux_getrlimit(
1058 struct l_rlimit *rlim
1071 193 AUE_TRUNCATE STD {
1072 int linux_truncate64(
1077 194 AUE_FTRUNCATE STD {
1078 int linux_ftruncate64(
1085 const char *filename,
1086 struct l_stat64 *statbuf
1091 const char *filename,
1092 struct l_stat64 *statbuf
1098 struct l_stat64 *statbuf
1101 198 AUE_LCHOWN STD {
1108 199 AUE_GETUID STD {
1109 int linux_getuid(void);
1111 200 AUE_GETGID STD {
1112 int linux_getgid(void);
1114 201 AUE_GETEUID NOPROTO {
1117 202 AUE_GETEGID NOPROTO {
1120 203 AUE_SETREUID NOPROTO {
1126 204 AUE_SETREGID NOPROTO {
1132 205 AUE_GETGROUPS STD {
1133 int linux_getgroups(
1138 206 AUE_SETGROUPS STD {
1139 int linux_setgroups(
1144 207 AUE_FCHOWN NODEF fchown fchown fchown_args int
1145 208 AUE_SETRESUID NOPROTO {
1152 209 AUE_GETRESUID NOPROTO {
1159 210 AUE_SETRESGID NOPROTO {
1166 211 AUE_GETRESGID NOPROTO {
1180 213 AUE_SETUID NOPROTO {
1185 214 AUE_SETGID NOPROTO {
1190 215 AUE_SETFSUID STD {
1195 216 AUE_SETFSGID STD {
1200 217 AUE_PIVOT_ROOT STD {
1201 int linux_pivot_root(
1206 218 AUE_MINCORE STD {
1213 219 AUE_MADVISE STD {
1220 220 AUE_GETDIRENTRIES STD {
1221 int linux_getdents64(
1237 long linux_gettid(void);
1239 225 AUE_NULL UNIMPL linux_readahead
1250 int linux_lsetxattr(
1259 int linux_fsetxattr(
1276 int linux_lgetxattr(
1284 int linux_fgetxattr(
1292 int linux_listxattr(
1299 int linux_llistxattr(
1306 int linux_flistxattr(
1313 int linux_removexattr(
1319 int linux_lremovexattr(
1325 int linux_fremovexattr(
1336 239 AUE_SENDFILE STD {
1337 int linux_sendfile64(
1345 int linux_sys_futex(
1349 struct l_timespec *timeout,
1355 int linux_sched_setaffinity(
1358 l_ulong *user_mask_ptr
1362 int linux_sched_getaffinity(
1365 l_ulong *user_mask_ptr
1369 int linux_set_thread_area(
1370 struct l_user_desc *desc
1374 int linux_get_thread_area(
1375 struct l_user_desc *desc
1378 245 AUE_NULL UNIMPL linux_io_setup
1379 246 AUE_NULL UNIMPL linux_io_destroy
1380 247 AUE_NULL UNIMPL linux_io_getevents
1381 248 AUE_NULL UNIMPL linux_io_submit
1382 249 AUE_NULL UNIMPL linux_io_cancel
1384 int linux_fadvise64(
1393 int linux_exit_group(
1398 int linux_lookup_dcookie(void);
1401 int linux_epoll_create(
1406 int linux_epoll_ctl(
1410 struct epoll_event *event
1414 int linux_epoll_wait(
1416 struct epoll_event *events,
1422 int linux_remap_file_pages(void);
1425 int linux_set_tid_address(
1430 int linux_timer_create(
1432 struct sigevent *evp,
1437 int linux_timer_settime(
1440 const struct itimerspec *new,
1441 struct itimerspec *old
1445 int linux_timer_gettime(
1447 struct itimerspec *setting
1451 int linux_timer_getoverrun(
1456 int linux_timer_delete(
1460 264 AUE_CLOCK_SETTIME STD {
1461 int linux_clock_settime(
1463 struct l_timespec *tp
1467 int linux_clock_gettime(
1469 struct l_timespec *tp
1473 int linux_clock_getres(
1475 struct l_timespec *tp
1479 int linux_clock_nanosleep(
1482 struct l_timespec *rqtp,
1483 struct l_timespec *rmtp
1486 268 AUE_STATFS STD {
1490 struct l_statfs64_buf *buf
1493 269 AUE_FSTATFS STD {
1494 int linux_fstatfs64(
1497 struct l_statfs64_buf *buf
1507 271 AUE_UTIMES STD {
1510 struct l_timeval *tptr
1514 int linux_fadvise64_64(
1521 273 AUE_NULL UNIMPL vserver
1523 int linux_mbind(void);
1526 int linux_get_mempolicy(void);
1529 int linux_set_mempolicy(void);
1537 struct mq_attr *attr
1541 int linux_mq_unlink(
1546 int linux_mq_timedsend(
1548 const char *msg_ptr,
1551 const struct l_timespec *abs_timeout
1555 int linux_mq_timedreceive(
1560 const struct l_timespec *abs_timeout
1564 int linux_mq_notify(
1566 const struct l_timespec *abs_timeout
1570 int linux_mq_getsetattr(
1572 const struct mq_attr *attr,
1573 struct mq_attr *oattr
1577 int linux_kexec_load(void);
1591 int linux_add_key(void);
1594 int linux_request_key(void);
1597 int linux_keyctl(void);
1601 int linux_ioprio_set(void);
1604 int linux_ioprio_get(void);
1607 int linux_inotify_init(void);
1610 int linux_inotify_add_watch(void);
1613 int linux_inotify_rm_watch(void);
1617 int linux_migrate_pages(void);
1619 295 AUE_OPEN_RWTC STD {
1622 const char *filename,
1627 296 AUE_MKDIRAT STD {
1630 const char *pathname,
1634 297 AUE_MKNODAT STD {
1637 const char *filename,
1642 298 AUE_FCHOWNAT STD {
1645 const char *filename,
1651 299 AUE_FUTIMESAT STD {
1652 int linux_futimesat(
1655 struct l_timeval *utimes
1658 300 AUE_FSTATAT STD {
1659 int linux_fstatat64(
1662 struct l_stat64 *statbuf,
1666 301 AUE_UNLINKAT STD {
1669 const char *pathname,
1673 302 AUE_RENAMEAT STD {
1676 const char *oldname,
1681 303 AUE_LINKAT STD {
1684 const char *oldname,
1686 const char *newname,
1690 304 AUE_SYMLINKAT STD {
1691 int linux_symlinkat(
1692 const char *oldname,
1697 305 AUE_READLINKAT STD {
1698 int linux_readlinkat(
1705 306 AUE_FCHMODAT STD {
1708 const char *filename,
1712 307 AUE_FACCESSAT STD {
1713 int linux_faccessat(
1715 const char *filename,
1719 308 AUE_SELECT STD {
1724 l_fd_set *exceptfds,
1725 struct l_timespec *tsp,
1733 struct l_timespec *tsp,
1739 int linux_unshare(void);
1743 int linux_set_robust_list(
1744 struct linux_robust_list_head *head,
1749 int linux_get_robust_list(
1751 struct linux_robust_list_head **head,
1766 int linux_sync_file_range(
1774 int linux_tee(void);
1777 int linux_vmsplice(void);
1781 int linux_move_pages(void);
1792 int linux_epoll_pwait(
1794 struct epoll_event *events,
1802 320 AUE_FUTIMESAT STD {
1803 int linux_utimensat(
1805 const char *pathname,
1806 const struct l_timespec *times,
1811 int linux_signalfd(void);
1814 int linux_timerfd_create(
1826 int linux_fallocate(
1835 int linux_timerfd_settime(
1838 const struct l_itimerspec *new_value,
1839 struct l_itimerspec *old_value
1843 int linux_timerfd_gettime(
1845 struct l_itimerspec *old_value
1850 int linux_signalfd4(void);
1859 int linux_epoll_create1(
1877 int linux_inotify_init1(void);
1900 int linux_rt_tgsigqueueinfo(
1908 int linux_perf_event_open(void);
1914 struct l_mmsghdr *msg,
1917 struct l_timespec *timeout
1921 int linux_fanotify_init(void);
1924 int linux_fanotify_mark(void);
1928 int linux_prlimit64(
1937 int linux_name_to_handle_at(
1940 struct l_file_handle *handle,
1946 int linux_open_by_handle_at(
1948 struct l_file_handle *handle,
1953 int linux_clock_adjtime(void);
1964 struct l_mmsghdr *msg,
1970 int linux_setns(void);
1972 ; Linux 3.2 (glibc 2.15):
1974 int linux_process_vm_readv(
1976 const struct iovec *lvec,
1978 const struct iovec *rvec,
1984 int linux_process_vm_writev(
1986 const struct iovec *lvec,
1988 const struct iovec *rvec,
1993 ; Linux 3.5 (no glibc wrapper):
2003 ; Linux 3.8 (no glibc wrapper):
2005 int linux_finit_module(
2013 int linux_sched_setattr(
2020 int linux_sched_getattr(
2029 int linux_renameat2(
2031 const char *oldname,
2033 const char *newname,
2046 int linux_getrandom(
2053 int linux_memfd_create(
2054 const char *uname_ptr,
2070 const char *filename,
2076 ; Linux 4.3: sockets now direct system calls:
2077 359 AUE_SOCKET STD {
2084 360 AUE_SOCKETPAIR STD {
2085 int linux_socketpair(
2099 362 AUE_CONNECT STD {
2106 363 AUE_LISTEN STD {
2112 364 AUE_ACCEPT STD {
2116 l_uintptr_t namelen,
2120 365 AUE_GETSOCKOPT STD {
2121 int linux_getsockopt(
2129 366 AUE_SETSOCKOPT STD {
2130 int linux_setsockopt(
2138 367 AUE_GETSOCKNAME STD {
2139 int linux_getsockname(
2145 368 AUE_GETPEERNAME STD {
2146 int linux_getpeername(
2152 369 AUE_SENDTO STD {
2162 370 AUE_SENDMSG STD {
2169 371 AUE_RECVFROM STD {
2179 372 AUE_RECVMSG STD {
2194 int linux_userfaultfd(
2200 int linux_membarrier(
2215 int linux_copy_file_range(
2228 const struct iovec *vec,
2238 const struct iovec *vec,
2247 int linux_pkey_mprotect(
2255 int linux_pkey_alloc(
2261 int linux_pkey_free(
2269 const char *pathname,
2276 int linux_arch_prctl(
2283 int linux_io_pgetevents(void);
2286 int linux_rseq(void);
2288 387-392 AUE_NULL UNIMPL nosys
2315 struct l_shmid_ds *buf
2339 struct l_msgbuf *msgp,
2347 struct l_msgbuf *msgp,
2357 struct l_msqid_ds *buf
2362 int linux_clock_gettime64(void);
2365 int linux_clock_settime64(void);
2368 int linux_clock_adjtime64(void);
2371 int linux_clock_getres_time64(void);
2374 int linux_clock_nanosleep_time64(void);
2377 int linux_timer_gettime64(void);
2380 int linux_timer_settime64(void);
2383 int linux_timerfd_gettime64(void);
2386 int linux_timerfd_settime64(void);
2389 int linux_utimensat_time64(void);
2392 int linux_pselect6_time64(void);
2395 int linux_ppoll_time64(void);
2397 415 AUE_NULL UNIMPL nosys
2399 int linux_io_pgetevents_time64(void);
2402 int linux_recvmmsg_time64(void);
2405 int linux_mq_timedsend_time64(void);
2408 int linux_mq_timedreceive_time64(void);
2411 int linux_semtimedop_time64(void);
2414 int linux_rt_sigtimedwait_time64(void);
2417 int linux_futex_time64(void);
2420 int linux_sched_rr_get_interval_time64(void);
2423 int linux_pidfd_send_signal(
2431 int linux_io_uring_setup(void);
2434 int linux_io_uring_enter(void);
2437 int linux_io_uring_register(void);
2439 ; please, keep this line at the end.
2440 428 AUE_NULL UNIMPL nosys