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