syscalls.master revision 1.70 1 1.70 christos $NetBSD: syscalls.master,v 1.70 2023/07/29 15:04:28 christos Exp $
2 1.1 manu
3 1.1 manu ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
4 1.1 manu
5 1.1 manu ; NetBSD amd64 COMPAT_LINUX system call name/number "master" file.
6 1.1 manu ; (See syscalls.conf to see what it is processed into.)
7 1.1 manu ;
8 1.1 manu ; Fields: number type [type-dependent ...]
9 1.1 manu ; number system call number, must be in order
10 1.1 manu ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
11 1.1 manu ; the compatibility options defined in syscalls.conf.
12 1.1 manu ;
13 1.1 manu ; types:
14 1.1 manu ; STD always included
15 1.1 manu ; OBSOL obsolete, not included in system
16 1.1 manu ; UNIMPL unimplemented, not included in system
17 1.1 manu ; NODEF included, but don't define the syscall number
18 1.1 manu ; NOARGS included, but don't define the syscall args structure
19 1.1 manu ; INDIR included, but don't define the syscall args structure
20 1.1 manu ; and allow it to be "really" varargs.
21 1.1 manu ;
22 1.1 manu ; The compat options are defined in the syscalls.conf file, and the
23 1.1 manu ; compat option name is prefixed to the syscall name. Other than
24 1.1 manu ; that, they're like NODEF (for 'compat' options), or STD (for
25 1.1 manu ; 'libcompat' options).
26 1.1 manu ;
27 1.1 manu ; The type-dependent arguments are as follows:
28 1.1 manu ; For STD, NODEF, NOARGS, and compat syscalls:
29 1.1 manu ; { pseudo-proto } [alias]
30 1.1 manu ; For other syscalls:
31 1.1 manu ; [comment]
32 1.1 manu ;
33 1.1 manu ; #ifdef's, etc. may be included, and are copied to the output files.
34 1.1 manu ; #include's are copied to the syscall names and switch definition files only.
35 1.1 manu
36 1.1 manu #if defined(_KERNEL_OPT)
37 1.10 manu #include "opt_sysv.h"
38 1.1 manu #include "opt_compat_43.h"
39 1.27 christos #include "opt_compat_netbsd.h"
40 1.1 manu #endif
41 1.1 manu
42 1.27 christos
43 1.1 manu #include <sys/param.h>
44 1.1 manu #include <sys/poll.h>
45 1.1 manu #include <sys/systm.h>
46 1.1 manu #include <sys/signal.h>
47 1.1 manu #include <sys/mount.h>
48 1.1 manu #include <sys/syscallargs.h>
49 1.27 christos #include <sys/time.h>
50 1.27 christos
51 1.27 christos #include <compat/sys/time.h>
52 1.1 manu
53 1.1 manu #include <compat/linux/common/linux_types.h>
54 1.69 christos #include <compat/linux/common/linux_misc.h>
55 1.1 manu #include <compat/linux/common/linux_mmap.h>
56 1.10 manu #include <compat/linux/common/linux_ipc.h>
57 1.20 dsl #include <compat/linux/common/linux_msg.h>
58 1.10 manu #include <compat/linux/common/linux_sem.h>
59 1.20 dsl #include <compat/linux/common/linux_shm.h>
60 1.1 manu #include <compat/linux/common/linux_signal.h>
61 1.1 manu #include <compat/linux/common/linux_siginfo.h>
62 1.1 manu #include <compat/linux/common/linux_machdep.h>
63 1.1 manu
64 1.1 manu #include <compat/linux/linux_syscallargs.h>
65 1.1 manu
66 1.1 manu %%
67 1.1 manu
68 1.47 njoly 0 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); }
69 1.47 njoly 1 NOARGS { ssize_t|sys||write(int fd, const void *buf, \
70 1.55 njoly size_t nbyte); }
71 1.28 pooka 2 STD { int|linux_sys||open(const char *path, int flags, \
72 1.45 chs linux_umode_t mode); }
73 1.28 pooka 3 NOARGS { int|sys||close(int fd); }
74 1.28 pooka 4 STD { int|linux_sys||stat64(const char *path, \
75 1.33 njoly struct linux_stat64 *sp); }
76 1.28 pooka 5 STD { int|linux_sys||fstat64(int fd, \
77 1.33 njoly struct linux_stat64 *sp); }
78 1.28 pooka 6 STD { int|linux_sys||lstat64(const char *path, \
79 1.33 njoly struct linux_stat64 *sp); }
80 1.28 pooka 7 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \
81 1.1 manu int timeout); }
82 1.28 pooka 8 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \
83 1.1 manu int whence); }
84 1.28 pooka 9 NOARGS { linux_off_t|linux_sys||mmap(unsigned long addr, \
85 1.1 manu size_t len, int prot, int flags, int fd, \
86 1.1 manu linux_off_t offset); }
87 1.28 pooka 10 STD { int|linux_sys||mprotect(const void *start, \
88 1.1 manu unsigned long len, int prot); }
89 1.52 njoly 11 NOARGS { int|sys||munmap(void *addr, size_t len); }
90 1.28 pooka 12 STD { int|linux_sys||brk(char *nsize); }
91 1.28 pooka 13 STD { int|linux_sys||rt_sigaction(int signum, \
92 1.1 manu const struct linux_sigaction *nsa, \
93 1.1 manu struct linux_sigaction *osa, \
94 1.1 manu size_t sigsetsize); }
95 1.28 pooka 14 STD { int|linux_sys||rt_sigprocmask(int how, \
96 1.1 manu const linux_sigset_t *set, \
97 1.1 manu linux_sigset_t *oset, \
98 1.1 manu size_t sigsetsize); }
99 1.28 pooka 15 NOARGS { int|linux_sys||rt_sigreturn(void); }
100 1.28 pooka 16 STD { int|linux_sys||ioctl(int fd, u_long com, \
101 1.17 christos void *data); }
102 1.28 pooka 17 STD { int|linux_sys||pread(int fd, char *buf, \
103 1.48 njoly size_t nbyte, off_t offset); }
104 1.28 pooka 18 STD { int|linux_sys||pwrite(int fd, char *buf, \
105 1.48 njoly size_t nbyte, off_t offset); }
106 1.47 njoly 19 NOARGS { ssize_t|sys||readv(int fd, \
107 1.47 njoly const struct iovec *iovp, int iovcnt); }
108 1.47 njoly 20 NOARGS { ssize_t|sys||writev(int fd, \
109 1.47 njoly const struct iovec *iovp, int iovcnt); }
110 1.28 pooka 21 NOARGS { int|sys||access(const char *path, int flags); }
111 1.28 pooka 22 STD { int|linux_sys||pipe(int *pfds); }
112 1.28 pooka 23 STD { int|linux_sys||select(int nfds, fd_set *readfds, \
113 1.1 manu fd_set *writefds, fd_set *exceptfds, \
114 1.29 njoly struct timeval50 *timeout); }
115 1.28 pooka 24 STD { int|linux_sys||sched_yield(void); }
116 1.28 pooka 25 STD { void *|linux_sys||mremap(void *old_address, \
117 1.1 manu size_t old_size, size_t new_size, u_long flags); }
118 1.28 pooka 26 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); }
119 1.28 pooka 27 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); }
120 1.28 pooka 28 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); }
121 1.10 manu #ifdef SYSVSHM
122 1.28 pooka 29 NOARGS { int|linux_sys||shmget(key_t key, size_t size, \
123 1.13 manu int shmflg); }
124 1.28 pooka 30 NOARGS { int|sys||shmat(int shmid, void *shmaddr, int shmflg); }
125 1.28 pooka 31 NOARGS { int|linux_sys||shmctl(int shmid, int cmd, \
126 1.10 manu struct linux_shmid_ds *buf); }
127 1.10 manu #else
128 1.1 manu 29 UNIMPL shmget
129 1.1 manu 30 UNIMPL shmat
130 1.1 manu 31 UNIMPL shmctl
131 1.10 manu #endif
132 1.44 njoly 32 NOARGS { int|sys||dup(int fd); }
133 1.44 njoly 33 NOARGS { int|sys||dup2(int from, int to); }
134 1.28 pooka 34 STD { int|linux_sys||pause(void); }
135 1.28 pooka 35 STD { int|linux_sys||nanosleep( \
136 1.25 njoly const struct linux_timespec *rqtp, \
137 1.25 njoly struct linux_timespec *rmtp); }
138 1.38 christos 36 NOARGS { int|compat_50_sys||getitimer(int which, \
139 1.27 christos struct itimerval50 *itv); }
140 1.28 pooka 37 STD { int|linux_sys||alarm(unsigned int secs); }
141 1.38 christos 38 NOARGS { int|compat_50_sys||setitimer(int which, \
142 1.27 christos struct itimerval50 *itv, \
143 1.27 christos struct itimerval50 *oitv); }
144 1.35 chs 39 STD { pid_t|sys||getpid(void); }
145 1.1 manu 40 UNIMPL sendfile
146 1.28 pooka 41 STD { int|linux_sys||socket(int domain, \
147 1.1 manu int type, int protocol); }
148 1.28 pooka 42 STD { int|linux_sys||connect(int s, \
149 1.1 manu const struct osockaddr *name, \
150 1.1 manu unsigned int namelen); }
151 1.28 pooka 43 STD { int|linux_sys||accept(int s, struct osockaddr *name, \
152 1.1 manu int *anamelen); } oaccept
153 1.28 pooka 44 STD { ssize_t|linux_sys||sendto(int s, void *msg, int len, \
154 1.1 manu int flags, struct osockaddr *to, int tolen); }
155 1.28 pooka 45 STD { ssize_t|linux_sys||recvfrom(int s, void *buf, \
156 1.1 manu size_t len, int flags, struct osockaddr *from, \
157 1.1 manu unsigned int *fromlenaddr); }
158 1.28 pooka 46 STD { int|linux_sys||sendmsg(int s, \
159 1.32 njoly const struct linux_msghdr *msg, int flags); }
160 1.28 pooka 47 STD { ssize_t|linux_sys||recvmsg(int s, \
161 1.32 njoly struct linux_msghdr *msg, int flags); }
162 1.28 pooka 48 NOARGS { int|sys||shutdown(int s, int how); }
163 1.28 pooka 49 STD { int|linux_sys||bind(int s, \
164 1.1 manu const struct osockaddr *name, \
165 1.1 manu unsigned int namelen); }
166 1.28 pooka 50 NOARGS { int|sys||listen(int s, int backlog); }
167 1.28 pooka 51 STD { int|linux_sys||getsockname(int fdec, void *asa, \
168 1.1 manu int *alen); }
169 1.28 pooka 52 STD { int|linux_sys||getpeername(int fdes, \
170 1.1 manu struct sockaddr *asa, unsigned int *alen); }
171 1.28 pooka 53 STD { int|linux_sys||socketpair(int domain, int type, \
172 1.1 manu int protocol, int *rsv); }
173 1.28 pooka 54 STD { int|linux_sys||setsockopt(int s, int level, \
174 1.1 manu int optname, void *optval, int optlen); }
175 1.28 pooka 55 STD { int|linux_sys||getsockopt(int s, int level, \
176 1.1 manu int optname, void *optval, int *optlen); }
177 1.28 pooka 56 STD { int|linux_sys||clone(int flags, void *stack, \
178 1.35 chs void *parent_tidptr, void *child_tidptr, void *tls); }
179 1.39 christos 57 NOARGS { int|sys||fork(void); }
180 1.28 pooka 58 NOARGS { int|sys|14|vfork(void); }
181 1.28 pooka 59 NOARGS { int|sys||execve(const char *path, char **argp, \
182 1.1 manu char **envp); }
183 1.35 chs 60 STD { int|linux_sys||exit(int rval); }
184 1.28 pooka 61 STD { int|linux_sys||wait4(int pid, int *status, \
185 1.30 njoly int options, struct rusage50 *rusage); }
186 1.28 pooka 62 STD { int|linux_sys||kill(int pid, int signum); }
187 1.28 pooka 63 STD { int|linux_sys||uname(struct linux_utsname *up); }
188 1.10 manu #ifdef SYSVSEM
189 1.28 pooka 64 NOARGS { int|sys||semget(key_t key, int nsems, int semflg); }
190 1.28 pooka 65 NOARGS { int|sys||semop(int semid, struct sembuf *sops, \
191 1.10 manu size_t nsops); }
192 1.28 pooka 66 STD { int|linux_sys||semctl(int semid, int semnum, \
193 1.10 manu int cmd, union linux_semun arg); }
194 1.10 manu #else
195 1.1 manu 64 UNIMPL semget
196 1.1 manu 65 UNIMPL semop
197 1.1 manu 66 UNIMPL semctl
198 1.10 manu #endif
199 1.10 manu #ifdef SYSVSHM
200 1.28 pooka 67 NOARGS { int|sys||shmdt(const void *shmaddr); }
201 1.10 manu #else
202 1.1 manu 67 UNIMPL shmdt
203 1.10 manu #endif
204 1.10 manu #ifdef SYSVMSG
205 1.28 pooka 68 NOARGS { int|sys||msgget(key_t key, int msgflg); }
206 1.28 pooka 69 NOARGS { int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \
207 1.10 manu int msgflg); }
208 1.28 pooka 70 NOARGS { ssize_t|sys||msgrcv(int msqid, void *msgp, \
209 1.10 manu size_t msgsz, long msgtyp, int msgflg); }
210 1.28 pooka 71 NOARGS { int|linux_sys||msgctl(int msqid, int cmd, \
211 1.10 manu struct linux_msqid_ds *buf); }
212 1.10 manu #else
213 1.1 manu 68 UNIMPL msgget
214 1.1 manu 69 UNIMPL msgsnd
215 1.1 manu 70 UNIMPL msgrcv
216 1.1 manu 71 UNIMPL msgctl
217 1.10 manu #endif
218 1.28 pooka 72 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); }
219 1.28 pooka 73 NOARGS { int|sys||flock(int fd, int how); }
220 1.28 pooka 74 NOARGS { int|sys||fsync(int fd); }
221 1.28 pooka 75 STD { int|linux_sys||fdatasync(int fd); }
222 1.28 pooka 76 STD { int|linux_sys||truncate64(const char *path, \
223 1.1 manu off_t length); }
224 1.28 pooka 77 STD { int|linux_sys||ftruncate64(unsigned int fd, \
225 1.1 manu off_t length); }
226 1.28 pooka 78 STD { int|linux_sys||getdents(int fd, \
227 1.1 manu struct linux_dirent *dent, unsigned int count); }
228 1.28 pooka 79 NOARGS { int|sys||__getcwd(char *bufp, size_t length); }
229 1.28 pooka 80 NOARGS { int|sys||chdir(const char *path); }
230 1.28 pooka 81 NOARGS { int|sys||fchdir(int fd); }
231 1.28 pooka 82 NOARGS { int|sys||__posix_rename(const char *from, \
232 1.1 manu const char *to); }
233 1.45 chs 83 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); }
234 1.28 pooka 84 NOARGS { int|sys||rmdir(const char *path); }
235 1.46 njoly 85 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); }
236 1.28 pooka 86 NOARGS { int|sys||link(const char *path, const char *link); }
237 1.28 pooka 87 STD { int|linux_sys||unlink(const char *path); }
238 1.54 christos 88 NOARGS { int|sys||symlink(const char *path, const char *link); }
239 1.57 njoly 89 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \
240 1.1 manu int count); }
241 1.45 chs 90 NOARGS { int|sys||chmod(const char *path, linux_umode_t mode); }
242 1.45 chs 91 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); }
243 1.28 pooka 92 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \
244 1.1 manu gid_t gid); }
245 1.28 pooka 93 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \
246 1.1 manu gid_t gid); }
247 1.28 pooka 94 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \
248 1.1 manu gid_t gid); }
249 1.28 pooka 95 NOARGS { int|sys||umask(int newmask); }
250 1.29 njoly 96 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \
251 1.1 manu struct timezone *tzp); }
252 1.28 pooka 97 STD { int|linux_sys||getrlimit(int which, \
253 1.9 manu struct rlimit *rlp); }
254 1.29 njoly 98 NOARGS { int|compat_50_sys||getrusage(int who, \
255 1.29 njoly struct rusage50 *rusage); }
256 1.28 pooka 99 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
257 1.28 pooka 100 STD { int|linux_sys||times(struct times *tms); }
258 1.28 pooka 101 STD { int|linux_sys||ptrace(long request, long pid, \
259 1.1 manu long addr, long data); }
260 1.28 pooka 102 NOARGS { uid_t|sys||getuid(void); }
261 1.1 manu 103 UNIMPL syslog
262 1.28 pooka 104 NOARGS { gid_t|sys||getgid(void); }
263 1.56 njoly 105 NOARGS { int|sys||setuid(uid_t uid); }
264 1.56 njoly 106 NOARGS { int|sys||setgid(gid_t gid); }
265 1.28 pooka 107 NOARGS { uid_t|sys||geteuid(void); }
266 1.28 pooka 108 NOARGS { gid_t|sys||getegid(void); }
267 1.28 pooka 109 NOARGS { int|sys||setpgid(int pid, int pgid); }
268 1.35 chs 110 STD { pid_t|sys||getppid(void); }
269 1.28 pooka 111 NOARGS { int|sys||getpgrp(void); }
270 1.28 pooka 112 NOARGS { int|sys||setsid(void); }
271 1.28 pooka 113 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); }
272 1.28 pooka 114 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); }
273 1.50 njoly 115 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); }
274 1.50 njoly 116 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); }
275 1.28 pooka 117 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
276 1.1 manu uid_t suid); }
277 1.28 pooka 118 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
278 1.1 manu uid_t *suid); }
279 1.28 pooka 119 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \
280 1.1 manu gid_t sgid); }
281 1.28 pooka 120 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \
282 1.1 manu gid_t *sgid); }
283 1.28 pooka 121 NOARGS { pid_t|sys||getpgid(pid_t pid); }
284 1.28 pooka 122 STD { int|linux_sys||setfsuid(uid_t uid); }
285 1.28 pooka 123 STD { int|linux_sys||setfsgid(gid_t gid); }
286 1.28 pooka 124 NOARGS { pid_t|sys||getsid(pid_t pid); }
287 1.1 manu 125 UNIMPL capget
288 1.1 manu 126 UNIMPL capset
289 1.28 pooka 127 STD { int|linux_sys||rt_sigpending( \
290 1.1 manu linux_sigset_t *set, \
291 1.1 manu size_t sigsetsize); }
292 1.40 christos 128 STD { int|linux_sys||rt_sigtimedwait( \
293 1.40 christos const linux_sigset_t *set, \
294 1.40 christos linux_siginfo_t *info, \
295 1.40 christos const struct linux_timespec *timeout); }
296 1.28 pooka 129 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \
297 1.31 njoly linux_siginfo_t *uinfo); }
298 1.28 pooka 130 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
299 1.1 manu size_t sigsetsize); }
300 1.28 pooka 131 STD { int|linux_sys||sigaltstack( \
301 1.1 manu const struct linux_sigaltstack *ss, \
302 1.1 manu struct linux_sigaltstack *oss); }
303 1.28 pooka 132 STD { int|linux_sys||utime(const char *path, \
304 1.1 manu struct linux_utimbuf *times); }
305 1.45 chs 133 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \
306 1.45 chs unsigned dev); }
307 1.6 joerg #ifdef EXEC_AOUT
308 1.28 pooka 134 STD { int|linux_sys||uselib(const char *path); }
309 1.6 joerg #else
310 1.6 joerg 134 UNIMPL sys_uselib
311 1.6 joerg #endif
312 1.34 njoly 135 STD { int|linux_sys||personality(unsigned long per); }
313 1.1 manu 136 UNIMPL ustat
314 1.28 pooka 137 STD { int|linux_sys||statfs(const char *path, \
315 1.18 njoly struct linux_statfs *sp); }
316 1.28 pooka 138 STD { int|linux_sys||fstatfs(int fd, \
317 1.18 njoly struct linux_statfs *sp); }
318 1.1 manu 139 UNIMPL sysfs
319 1.28 pooka 140 STD { int|linux_sys||getpriority(int which, int who); }
320 1.28 pooka 141 NOARGS { int|sys||setpriority(int which, int who, int prio); }
321 1.28 pooka 142 STD { int|linux_sys||sched_setparam(pid_t pid, \
322 1.1 manu const struct linux_sched_param *sp); }
323 1.28 pooka 143 STD { int|linux_sys||sched_getparam(pid_t pid, \
324 1.1 manu struct linux_sched_param *sp); }
325 1.28 pooka 144 STD { int|linux_sys||sched_setscheduler(pid_t pid, \
326 1.1 manu int policy, const struct linux_sched_param *sp); }
327 1.28 pooka 145 STD { int|linux_sys||sched_getscheduler(pid_t pid); }
328 1.28 pooka 146 STD { int|linux_sys||sched_get_priority_max(int policy); }
329 1.28 pooka 147 STD { int|linux_sys||sched_get_priority_min(int policy); }
330 1.1 manu 148 UNIMPL sys_sched_rr_get_interval
331 1.28 pooka 149 NOARGS { int|sys||mlock(void *addr, size_t len); }
332 1.28 pooka 150 NOARGS { int|sys||munlock(void *addr, size_t len); }
333 1.28 pooka 151 NOARGS { int|sys||mlockall(int flags); }
334 1.28 pooka 152 NOARGS { int|sys||munlockall(void); }
335 1.1 manu 153 UNIMPL vhangup
336 1.28 pooka 154 STD { int|linux_sys||modify_ldt(int func, void *ptr, \
337 1.1 manu size_t bytecount); }
338 1.1 manu 155 UNIMPL pivot_root
339 1.28 pooka 156 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
340 1.1 manu 157 UNIMPL prctl
341 1.28 pooka 158 STD { int|linux_sys||arch_prctl(int code, \
342 1.1 manu unsigned long addr); }
343 1.1 manu 159 UNIMPL adjtimex
344 1.28 pooka 160 STD { int|linux_sys||setrlimit(u_int which, \
345 1.9 manu struct rlimit *rlp); }
346 1.28 pooka 161 NOARGS { int|sys||chroot(char *path); }
347 1.28 pooka 162 NOARGS { int|sys||sync(void); }
348 1.28 pooka 163 NOARGS { int|sys||acct(char *path); }
349 1.29 njoly 164 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \
350 1.1 manu struct timezone *tzp); }
351 1.1 manu 165 UNIMPL mount
352 1.1 manu 166 UNIMPL umount2
353 1.28 pooka 167 STD { int|linux_sys||swapon(char *name); }
354 1.28 pooka 168 STD { int|linux_sys||swapoff(const char *path); }
355 1.28 pooka 169 STD { int|linux_sys||reboot(int magic1, int magic2, \
356 1.1 manu int cmd, void *arg); }
357 1.28 pooka 170 NOARGS { int|compat_43_sys||sethostname(char *hostname, \
358 1.1 manu u_int len);}
359 1.28 pooka 171 STD { int|linux_sys||setdomainname(char *domainname, \
360 1.1 manu int len); }
361 1.28 pooka 172 STD { int|linux_sys||iopl(int level); }
362 1.28 pooka 173 STD { int|linux_sys||ioperm(unsigned int lo, \
363 1.1 manu unsigned int hi, int val); }
364 1.1 manu 174 UNIMPL create_module
365 1.1 manu 175 UNIMPL init_module
366 1.1 manu 176 UNIMPL delete_module
367 1.1 manu 177 UNIMPL get_kernel_syms
368 1.1 manu 178 UNIMPL query_module
369 1.1 manu 179 UNIMPL quotactl
370 1.1 manu 180 UNIMPL nfsservctl
371 1.1 manu 181 UNIMPL getpmsg
372 1.1 manu 182 UNIMPL putpmsg
373 1.1 manu 183 UNIMPL afs_syscall
374 1.1 manu 184 UNIMPL tuxcall
375 1.1 manu 185 UNIMPL security
376 1.28 pooka 186 STD { pid_t|linux_sys||gettid(void); }
377 1.70 christos 187 STD { ssize_t|linux_sys||readahead(int fd, off_t offset, \
378 1.70 christos size_t count); }
379 1.28 pooka 188 STD { int|linux_sys||setxattr(char *path, char *name, \
380 1.2 fvdl void *value, size_t size, int flags); }
381 1.28 pooka 189 STD { int|linux_sys||lsetxattr(char *path, char *name, \
382 1.2 fvdl void *value, size_t size, int flags); }
383 1.28 pooka 190 STD { int|linux_sys||fsetxattr(int fd, char *name, \
384 1.2 fvdl void *value, size_t size, int flags); }
385 1.28 pooka 191 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \
386 1.2 fvdl void *value, size_t size); }
387 1.28 pooka 192 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \
388 1.2 fvdl void *value, size_t size); }
389 1.28 pooka 193 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \
390 1.2 fvdl void *value, size_t size); }
391 1.28 pooka 194 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \
392 1.2 fvdl size_t size); }
393 1.28 pooka 195 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \
394 1.2 fvdl size_t size); }
395 1.28 pooka 196 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \
396 1.2 fvdl size_t size); }
397 1.28 pooka 197 STD { int|linux_sys||removexattr(char *path, char *name); }
398 1.28 pooka 198 STD { int|linux_sys||lremovexattr(char *path, char *name); }
399 1.28 pooka 199 STD { int|linux_sys||fremovexattr(int fd, char *name); }
400 1.28 pooka 200 STD { int|linux_sys||tkill(int tid, int sig); }
401 1.28 pooka 201 STD { int|linux_sys||time(linux_time_t *t); }
402 1.28 pooka 202 STD { int|linux_sys||futex(int *uaddr, int op, int val, \
403 1.26 njoly const struct linux_timespec *timeout, int *uaddr2, \
404 1.7 manu int val3); }
405 1.28 pooka 203 STD { int|linux_sys||sched_setaffinity(pid_t pid, \
406 1.8 manu unsigned int len, unsigned long *mask); }
407 1.28 pooka 204 STD { int|linux_sys||sched_getaffinity(pid_t pid, \
408 1.8 manu unsigned int len, unsigned long *mask); }
409 1.1 manu 205 UNIMPL set_thread_area
410 1.1 manu 206 UNIMPL io_setup
411 1.1 manu 207 UNIMPL io_destroy
412 1.1 manu 208 UNIMPL io_getevents
413 1.1 manu 209 UNIMPL io_submit
414 1.1 manu 210 UNIMPL io_cancel
415 1.1 manu 211 UNIMPL get_thread_area
416 1.1 manu 212 UNIMPL lookup_dcookie
417 1.69 christos 213 STD { int|linux_sys||epoll_create(int size); }
418 1.1 manu 214 UNIMPL epoll_ctl_old
419 1.1 manu 215 UNIMPL epoll_wait_old
420 1.1 manu 216 UNIMPL remap_file_pages
421 1.28 pooka 217 STD { int|linux_sys||getdents64(int fd, \
422 1.1 manu struct linux_dirent64 *dent, unsigned int count); }
423 1.28 pooka 218 STD { int|linux_sys||set_tid_address(int *tid); }
424 1.1 manu 219 UNIMPL restart_syscall
425 1.1 manu 220 UNIMPL semtimedop
426 1.49 njoly 221 STD { int|linux_sys||fadvise64(int fd, off_t offset, \
427 1.49 njoly size_t len, int advice); }
428 1.63 thorpej 222 STD { int|linux_sys||timer_create(clockid_t clockid, \
429 1.63 thorpej struct linux_sigevent *evp, timer_t *timerid); }
430 1.63 thorpej 223 STD { int|linux_sys||timer_settime(timer_t timerid, \
431 1.63 thorpej int flags, const struct linux_itimerspec *tim, \
432 1.63 thorpej struct linux_itimerspec *otim); }
433 1.63 thorpej 224 STD { int|linux_sys||timer_gettime(timer_t timerid, \
434 1.63 thorpej struct linux_itimerspec *tim); }
435 1.63 thorpej 225 NOARGS { int|sys||timer_getoverrun(timer_t timerid); }
436 1.63 thorpej 226 NOARGS { int|sys||timer_delete(timer_t timerid); }
437 1.28 pooka 227 STD { int|linux_sys||clock_settime(clockid_t which, \
438 1.3 fvdl struct linux_timespec *tp); }
439 1.28 pooka 228 STD { int|linux_sys||clock_gettime(clockid_t which, \
440 1.3 fvdl struct linux_timespec *tp); }
441 1.28 pooka 229 STD { int|linux_sys||clock_getres(clockid_t which, \
442 1.3 fvdl struct linux_timespec *tp); }
443 1.28 pooka 230 STD { int|linux_sys||clock_nanosleep(clockid_t which, \
444 1.3 fvdl int flags, struct linux_timespec *rqtp, \
445 1.3 fvdl struct linux_timespec *rmtp); }
446 1.28 pooka 231 STD { int|linux_sys||exit_group(int error_code); }
447 1.69 christos 232 STD { int|linux_sys||epoll_wait(int epfd, \
448 1.69 christos struct linux_epoll_event *events, int maxevents, \
449 1.69 christos int timeout); }
450 1.69 christos 233 STD { int|linux_sys||epoll_ctl(int epfd, int op, int fd, \
451 1.69 christos struct linux_epoll_event *event); }
452 1.28 pooka 234 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); }
453 1.51 njoly 235 NOARGS { int|compat_50_sys||utimes(const char *path, \
454 1.51 njoly const struct timeval50 *tptr); }
455 1.1 manu 236 UNIMPL vserver
456 1.24 christos 237 UNIMPL mbind
457 1.24 christos 238 UNIMPL set_mempolicy
458 1.24 christos 239 UNIMPL get_mempolicy
459 1.24 christos 240 UNIMPL mq_open
460 1.24 christos 241 UNIMPL mq_unlink
461 1.24 christos 242 UNIMPL mq_timedsend
462 1.24 christos 243 UNIMPL mq_timedreceive
463 1.24 christos 244 UNIMPL mq_notify
464 1.24 christos 245 UNIMPL mq_getsetattr
465 1.24 christos 246 UNIMPL kexec_load
466 1.24 christos 247 UNIMPL waitid
467 1.24 christos 248 UNIMPL add_key
468 1.24 christos 249 UNIMPL request_key
469 1.24 christos 250 UNIMPL keyctl
470 1.24 christos 251 UNIMPL ioprio_set
471 1.24 christos 252 UNIMPL ioprio_get
472 1.24 christos 253 UNIMPL inotify_init
473 1.24 christos 254 UNIMPL inotify_add_watch
474 1.24 christos 255 UNIMPL inotify_rm_watch
475 1.24 christos 256 UNIMPL migrate_pages
476 1.45 chs 257 STD { int|linux_sys||openat(int fd, const char *path, \
477 1.45 chs int flags, ... linux_umode_t mode); }
478 1.45 chs 258 NOARGS { int|sys||mkdirat(int fd, const char *path, \
479 1.45 chs linux_umode_t mode); }
480 1.45 chs 259 STD { int|linux_sys||mknodat(int fd, const char *path, \
481 1.45 chs linux_umode_t mode, unsigned dev); }
482 1.45 chs 260 STD { int|linux_sys||fchownat(int fd, const char *path, \
483 1.45 chs uid_t owner, gid_t group, int flag); }
484 1.24 christos 261 UNIMPL futimesat
485 1.45 chs 262 STD { int|linux_sys||fstatat64(int fd, const char *path, \
486 1.45 chs struct linux_stat *sp, int flag); }
487 1.45 chs 263 STD { int|linux_sys||unlinkat(int fd, const char *path, \
488 1.45 chs int flag); }
489 1.45 chs 264 NOARGS { int|sys||renameat(int fromfd, const char *from, \
490 1.45 chs int tofd, const char *to); }
491 1.45 chs 265 STD { int|linux_sys||linkat(int fd1, const char *name1, \
492 1.45 chs int fd2, const char *name2, int flags); }
493 1.45 chs 266 NOARGS { int|sys||symlinkat(const char *path1, int fd, \
494 1.45 chs const char *path2); }
495 1.57 njoly 267 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \
496 1.45 chs char *buf, size_t bufsize); }
497 1.45 chs 268 STD { int|linux_sys||fchmodat(int fd, const char *path, \
498 1.45 chs linux_umode_t mode); }
499 1.45 chs 269 STD { int|linux_sys||faccessat(int fd, const char *path, \
500 1.45 chs int amode); }
501 1.58 manu 270 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \
502 1.58 manu fd_set *writefds, fd_set *exceptfds, \
503 1.58 manu struct linux_timespec *timeout, \
504 1.58 manu linux_sized_sigset_t *ss); }
505 1.53 njoly 271 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \
506 1.41 pooka struct linux_timespec *timeout, \
507 1.41 pooka linux_sigset_t *sigset); }
508 1.24 christos 272 UNIMPL unshare
509 1.62 thorpej ;
510 1.62 thorpej ; The NetBSD native robust list calls have different
511 1.62 thorpej ; argument names / types, but they are ABI-compatible
512 1.62 thorpej ; with Linux.
513 1.62 thorpej ;
514 1.62 thorpej 273 NOARGS { int|sys||__futex_set_robust_list(void *head, \
515 1.62 thorpej size_t len); }
516 1.62 thorpej 274 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \
517 1.62 thorpej void **headp, size_t *lenp); }
518 1.24 christos 275 UNIMPL splice
519 1.24 christos 276 UNIMPL tee
520 1.24 christos 277 UNIMPL sync_file_range
521 1.24 christos 278 UNIMPL vmsplice
522 1.24 christos 279 UNIMPL move_pages
523 1.43 njoly 280 STD { int|linux_sys||utimensat(int fd, const char *path, \
524 1.43 njoly struct linux_timespec *times, int flag); }
525 1.69 christos 281 STD { int|linux_sys||epoll_pwait(int epfd, \
526 1.69 christos struct linux_epoll_event *events, int maxevents, \
527 1.69 christos int timeout, const linux_sigset_t *sigmask); }
528 1.24 christos 282 UNIMPL signalfd
529 1.64 thorpej 283 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \
530 1.64 thorpej int flags); }
531 1.65 thorpej 284 STD { int|linux_sys||eventfd(unsigned int initval); }
532 1.61 jdolecek 285 STD { int|linux_sys||fallocate(int fd, int mode, \
533 1.61 jdolecek off_t offset, off_t len); }
534 1.64 thorpej 286 STD { int|linux_sys||timerfd_settime(int fd, int flags, \
535 1.64 thorpej const struct linux_itimerspec *tim, \
536 1.64 thorpej struct linux_itimerspec *otim); }
537 1.64 thorpej 287 STD { int|linux_sys||timerfd_gettime(int fd, \
538 1.64 thorpej struct linux_itimerspec *tim); }
539 1.59 christos 288 STD { int|linux_sys||accept4(int s, \
540 1.59 christos struct osockaddr *name, \
541 1.59 christos int *anamelen, int flags); }
542 1.35 chs 289 UNIMPL signalfd4
543 1.65 thorpej 290 STD { int|linux_sys||eventfd2(unsigned int initval, \
544 1.65 thorpej int flags); }
545 1.69 christos 291 STD { int|linux_sys||epoll_create1(int flags); }
546 1.36 christos 292 STD { int|linux_sys||dup3(int from, int to, int flags); }
547 1.36 christos 293 STD { int|linux_sys||pipe2(int *pfds, int flags); }
548 1.35 chs 294 UNIMPL inotify_init1
549 1.66 thorpej 295 STD { int|linux_sys||preadv(int fd, \
550 1.66 thorpej const struct iovec *iovp, int iovcnt, \
551 1.66 thorpej unsigned long off_lo, unsigned long off_hi); }
552 1.66 thorpej 296 STD { int|linux_sys||pwritev(int fd, \
553 1.66 thorpej const struct iovcnt *iovp, int iovcnt, \
554 1.66 thorpej unsigned long off_lo, unsigned long off_hi); }
555 1.35 chs 297 UNIMPL rt_tgsigqueueinfo
556 1.35 chs 298 UNIMPL perf_counter_open
557 1.60 christos 299 STD { int|linux_sys||recvmmsg(int s, \
558 1.60 christos struct linux_mmsghdr *msgvec, unsigned int vlen, \
559 1.60 christos unsigned int flags, struct timespec *timeout); }
560 1.45 chs 300 UNIMPL fanotify_init
561 1.45 chs 301 UNIMPL fanotify_mark
562 1.67 ryo 302 STD { int|linux_sys||prlimit64(pid_t pid, int which, \
563 1.67 ryo struct rlimit *new_rlp, struct rlimit *old_rlp); }
564 1.45 chs 303 UNIMPL name_to_handle_at
565 1.45 chs 304 UNIMPL open_by_handle_at
566 1.45 chs 305 UNIMPL clock_adjtime
567 1.45 chs 306 UNIMPL syncfs
568 1.60 christos 307 STD { int|linux_sys||sendmmsg(int s, \
569 1.60 christos struct linux_mmsghdr *msgvec, unsigned int vlen, \
570 1.60 christos unsigned int flags); }
571 1.45 chs 308 UNIMPL setns
572 1.45 chs 309 UNIMPL getcpu
573 1.45 chs 310 UNIMPL process_vm_readv
574 1.45 chs 311 UNIMPL process_vm_writev
575 1.45 chs 312 UNIMPL kcmp
576 1.45 chs 313 UNIMPL finit_module
577 1.68 christos 314 UNIMPL sched_setattr
578 1.68 christos 315 UNIMPL sched_getattr
579 1.68 christos 316 UNIMPL renameat2
580 1.68 christos 317 UNIMPL seccomp
581 1.68 christos 318 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \
582 1.68 christos unsigned int flags); }
583 1.68 christos 319 STD { int|linux_sys||memfd_create(const char *name, \
584 1.68 christos unsigned int flags); }
585 1.68 christos 320 UNIMPL kexec_file_load
586 1.68 christos 321 UNIMPL bpf
587 1.68 christos 322 UNIMPL execveat
588 1.68 christos 323 UNIMPL userfaultfd
589 1.68 christos 324 UNIMPL membarrier
590 1.68 christos 325 UNIMPL mlock2
591 1.68 christos 326 UNIMPL copy_file_range
592 1.68 christos 327 UNIMPL preadv2
593 1.68 christos 328 UNIMPL pwritev2
594 1.68 christos 329 UNIMPL pkey_mprotect
595 1.68 christos 330 UNIMPL pkey_alloc
596 1.68 christos 331 UNIMPL pkey_free
597 1.70 christos 332 STD { int|linux_sys||statx(int fd, const char *path, \
598 1.70 christos int flag, unsigned int mask, \
599 1.70 christos struct linux_statx *sp); }
600 1.68 christos 333 UNIMPL io_pgetevents
601 1.68 christos 334 UNIMPL rseq
602 1.68 christos 335 UNIMPL
603 1.68 christos 336 UNIMPL
604 1.68 christos 337 UNIMPL
605 1.68 christos 338 UNIMPL
606 1.68 christos 339 UNIMPL
607 1.68 christos 340 UNIMPL
608 1.68 christos 341 UNIMPL
609 1.68 christos 342 UNIMPL
610 1.68 christos 343 UNIMPL
611 1.68 christos 344 UNIMPL
612 1.68 christos 345 UNIMPL
613 1.68 christos 346 UNIMPL
614 1.68 christos 347 UNIMPL
615 1.68 christos 348 UNIMPL
616 1.68 christos 349 UNIMPL
617 1.68 christos 350 UNIMPL
618 1.68 christos 351 UNIMPL
619 1.68 christos 352 UNIMPL
620 1.68 christos 353 UNIMPL
621 1.68 christos 354 UNIMPL
622 1.68 christos 355 UNIMPL
623 1.68 christos 356 UNIMPL
624 1.68 christos 357 UNIMPL
625 1.68 christos 358 UNIMPL
626 1.68 christos 359 UNIMPL
627 1.68 christos 360 UNIMPL
628 1.68 christos 361 UNIMPL
629 1.68 christos 362 UNIMPL
630 1.68 christos 363 UNIMPL
631 1.68 christos 364 UNIMPL
632 1.68 christos 365 UNIMPL
633 1.68 christos 366 UNIMPL
634 1.68 christos 367 UNIMPL
635 1.68 christos 368 UNIMPL
636 1.68 christos 369 UNIMPL
637 1.68 christos 370 UNIMPL
638 1.68 christos 371 UNIMPL
639 1.68 christos 372 UNIMPL
640 1.68 christos 373 UNIMPL
641 1.68 christos 374 UNIMPL
642 1.68 christos 375 UNIMPL
643 1.68 christos 376 UNIMPL
644 1.68 christos 377 UNIMPL
645 1.68 christos 378 UNIMPL
646 1.68 christos 379 UNIMPL
647 1.68 christos 380 UNIMPL
648 1.68 christos 381 UNIMPL
649 1.68 christos 382 UNIMPL
650 1.68 christos 383 UNIMPL
651 1.68 christos 384 UNIMPL
652 1.68 christos 385 UNIMPL
653 1.68 christos 386 UNIMPL
654 1.68 christos 387 UNIMPL
655 1.68 christos 388 UNIMPL
656 1.68 christos 389 UNIMPL
657 1.68 christos 390 UNIMPL
658 1.68 christos 391 UNIMPL
659 1.68 christos 392 UNIMPL
660 1.68 christos 393 UNIMPL
661 1.68 christos 394 UNIMPL
662 1.68 christos 395 UNIMPL
663 1.68 christos 396 UNIMPL
664 1.68 christos 397 UNIMPL
665 1.68 christos 398 UNIMPL
666 1.68 christos 399 UNIMPL
667 1.68 christos 400 UNIMPL
668 1.68 christos 401 UNIMPL
669 1.68 christos 402 UNIMPL
670 1.68 christos 403 UNIMPL
671 1.68 christos 404 UNIMPL
672 1.68 christos 405 UNIMPL
673 1.68 christos 406 UNIMPL
674 1.68 christos 407 UNIMPL
675 1.68 christos 408 UNIMPL
676 1.68 christos 409 UNIMPL
677 1.68 christos 410 UNIMPL
678 1.68 christos 411 UNIMPL
679 1.68 christos 412 UNIMPL
680 1.68 christos 413 UNIMPL
681 1.68 christos 414 UNIMPL
682 1.68 christos 415 UNIMPL
683 1.68 christos 416 UNIMPL
684 1.68 christos 417 UNIMPL
685 1.68 christos 418 UNIMPL
686 1.68 christos 419 UNIMPL
687 1.68 christos 420 UNIMPL
688 1.68 christos 421 UNIMPL
689 1.68 christos 422 UNIMPL
690 1.68 christos 423 UNIMPL
691 1.68 christos 424 UNIMPL pidfd_send_signal
692 1.68 christos 425 UNIMPL io_uring_setup
693 1.68 christos 426 UNIMPL io_uring_enter
694 1.68 christos 427 UNIMPL io_uring_register
695 1.68 christos 428 UNIMPL open_tree
696 1.68 christos 429 UNIMPL move_mount
697 1.68 christos 430 UNIMPL fsopen
698 1.68 christos 431 UNIMPL fsconfig
699 1.68 christos 432 UNIMPL fsmount
700 1.68 christos 433 UNIMPL fspick
701 1.68 christos 434 UNIMPL pidfd_open
702 1.68 christos 435 UNIMPL clone3
703 1.70 christos 436 STD { int|linux_sys||close_range(unsigned int first, \
704 1.70 christos unsigned int last, unsigned int flags); }
705 1.68 christos 437 UNIMPL openat2
706 1.68 christos 438 UNIMPL pidfd_getfd
707 1.68 christos 439 UNIMPL faccessat2
708 1.68 christos 440 UNIMPL process_madvise
709 1.69 christos 441 STD { int|linux_sys||epoll_pwait2(int epfd, \
710 1.69 christos struct linux_epoll_event *events, int maxevents, \
711 1.69 christos const struct linux_timespec *timeout, \
712 1.69 christos const linux_sigset_t *sigmask); }
713 1.68 christos 442 UNIMPL mount_setattr
714 1.68 christos 443 UNIMPL quotactl_fd
715 1.68 christos 444 UNIMPL landlock_create_ruleset
716 1.68 christos 445 UNIMPL landlock_add_rule
717 1.68 christos 446 UNIMPL landlock_restrict_self
718 1.68 christos 447 UNIMPL memfd_secret
719 1.68 christos 448 UNIMPL process_mrelease
720 1.68 christos 449 UNIMPL futex_waitv
721 1.68 christos 450 UNIMPL set_mempolicy_home_node
722 1.35 chs
723 1.35 chs ; we want a "nosys" syscall, we'll just add an extra entry for it.
724 1.68 christos 451 STD { int|linux_sys||nosys(void); }
725