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