1 $NetBSD: syscalls.master,v 1.19 2007/11/07 00:24:30 njoly Exp $
3 ; NetBSD i386 COMPAT_LINUX32 system call name/number "master" file.
4 ; (See syscalls.conf to see what it is processed into.)
6 ; Fields: number type [type-dependent ...]
7 ; number system call number, must be in order
8 ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
9 ; the compatibility options defined in syscalls.conf.
13 ; OBSOL obsolete, not included in system
14 ; UNIMPL unimplemented, not included in system
15 ; NODEF included, but don't define the syscall number
17 ; INDIR included, but don't define the syscall args structure
18 ; and allow it to be "really" varargs.
20 ; The compat options are defined in the syscalls.conf file, and the
21 ; compat option name is prefixed to the syscall name. Other than
22 ; that, they're like NODEF (for 'compat' options), or STD (for
23 ; 'libcompat' options).
25 ; The type-dependent arguments are as follows:
26 ; For STD, NODEF, NOARGS, and compat syscalls:
27 ; { pseudo-proto } [alias]
31 ; #ifdef's, etc. may be included, and are copied to the output files.
32 ; #include's are copied to the syscall names and switch definition files only.
34 #if defined(_KERNEL_OPT)
35 #include "opt_compat_43.h"
38 #include <sys/param.h>
40 #include <sys/systm.h>
41 #include <sys/signal.h>
42 #include <sys/mount.h>
43 #include <sys/syscallargs.h>
45 #include <machine/netbsd32_machdep.h>
47 #include <compat/netbsd32/netbsd32.h>
48 #include <compat/netbsd32/netbsd32_syscallargs.h>
50 #include <compat/linux32/common/linux32_types.h>
51 #include <compat/linux32/common/linux32_signal.h>
52 #include <compat/linux32/arch/amd64/linux32_missing.h>
53 #include <compat/linux32/linux32_syscallargs.h>
55 #include <compat/linux/common/linux_types.h>
56 #include <compat/linux/common/linux_mmap.h>
57 #include <compat/linux/common/linux_signal.h>
58 #include <compat/linux/common/linux_siginfo.h>
59 #include <compat/linux/common/linux_machdep.h>
61 #include <compat/linux/linux_syscallargs.h>
65 0 NOARGS { int linux_sys_nosys(void); } syscall
66 1 NOARGS { int netbsd32_exit(int rval); }
67 2 NOARGS { int sys_fork(void); }
68 3 NOARGS { netbsd32_ssize_t netbsd32_read(int fd, \
69 netbsd32_voidp buf, netbsd32_size_t nbyte); }
70 4 NOARGS { netbsd32_ssize_t netbsd32_write(int fd, \
71 const netbsd32_voidp buf, netbsd32_size_t nbyte); }
72 5 STD { int linux32_sys_open(const netbsd32_charp path, int flags, \
74 6 NOARGS { int netbsd32_close(int fd); }
75 7 STD { int linux32_sys_waitpid(int pid, netbsd32_intp status, \
77 8 STD { int linux32_sys_creat(const netbsd32_charp path, int mode); }
78 9 NOARGS { int netbsd32_link(const netbsd32_charp path, \
79 const netbsd32_charp link); }
80 10 STD { int linux32_sys_unlink(const netbsd32_charp path); }
81 11 NOARGS { int netbsd32_execve(const netbsd32_charp path, \
82 netbsd32_charpp argp, netbsd32_charpp envp); }
83 12 NOARGS { int netbsd32_chdir(const netbsd32_charp path); }
84 13 STD { int linux32_sys_time(linux32_timep_t t); }
85 14 STD { int linux32_sys_mknod(const netbsd32_charp path, \
87 15 NOARGS { int netbsd32_chmod(const netbsd32_charp path, int mode); }
88 16 STD { int linux32_sys_lchown16(const netbsd32_charp path, \
90 17 STD { int linux32_sys_break(netbsd32_charp nsize); }
92 19 NOARGS { netbsd32_long compat_43_netbsd32_olseek(int fd, \
93 netbsd32_long offset, int chence); }
94 20 STD { pid_t linux_sys_getpid(void); }
97 23 NOARGS linux_setuid16 { int netbsd32_setuid(uid_t uid); }
98 24 NOARGS linux_getuid16 { uid_t sys_getuid(void); }
99 25 STD { int linux32_sys_stime(linux32_timep_t t); }
101 27 STD { int linux32_sys_alarm(unsigned int secs); }
103 29 NOARGS { int linux_sys_pause(void); }
104 30 STD { int linux32_sys_utime(const netbsd32_charp path, \
105 linux32_utimbufp_t times); }
108 33 NOARGS { int netbsd32_access(const netbsd32_charp path, \
110 34 STD { int linux32_sys_nice(int incr); }
112 36 NOARGS { int sys_sync(void); }
113 37 STD { int linux32_sys_kill(int pid, int signum); }
114 38 STD { int linux32_sys_rename(const netbsd32_charp from, \
115 const netbsd32_charp to); }
116 39 NOARGS { int netbsd32_mkdir(const netbsd32_charp path, int mode); }
117 40 NOARGS { int netbsd32_rmdir(const netbsd32_charp path); }
118 41 NOARGS { int netbsd32_dup(u_int fd); }
119 42 STD { int linux32_sys_pipe(netbsd32_intp fd); }
120 43 STD { int linux32_sys_times(linux32_tmsp_t tms); }
122 45 STD { int linux32_sys_brk(netbsd32_charp nsize); }
123 46 NOARGS linux_setgid16 { int netbsd32_setgid(gid_t gid); }
124 47 NOARGS linux_getgid16 { gid_t sys_getgid(void); }
125 48 STD { int linux32_sys_signal(int signum, \
126 linux32_handler_t handler); }
127 49 NOARGS linux_geteuid16 { uid_t sys_geteuid(void); }
128 50 NOARGS linux_getegid16 { gid_t sys_getegid(void); }
129 51 NOARGS { int netbsd32_acct(netbsd32_charp path); }
132 54 STD { int linux32_sys_ioctl(int fd, netbsd32_u_long com, \
133 netbsd32_charp data); }
134 55 STD { int linux32_sys_fcntl(int fd, \
135 int cmd, netbsd32_voidp arg); }
137 57 NOARGS { int netbsd32_setpgid(int pid, int pgid); }
139 59 STD { int linux32_sys_oldolduname( \
140 linux32_oldold_utsnamep_t up); }
141 60 NOARGS { int netbsd32_umask(int newmask); }
142 61 NOARGS { int netbsd32_chroot(netbsd32_charp path); }
144 63 NOARGS { int netbsd32_dup2(u_int from, u_int to); }
145 64 STD { pid_t linux_sys_getppid(void); }
146 65 NOARGS { int sys_getpgrp(void); }
147 66 NOARGS { int sys_setsid(void); }
151 70 STD { int linux32_sys_setreuid16(int ruid, int euid); }
152 71 STD { int linux32_sys_setregid16(int rgid, int egid); }
155 74 NOARGS { int compat_43_netbsd32_osethostname(netbsd32_charp hostname, \
157 75 STD { int linux32_sys_setrlimit(u_int which, \
158 netbsd32_orlimitp_t rlp); }
159 76 STD { int linux32_sys_getrlimit(u_int which, \
160 netbsd32_orlimitp_t rlp); }
161 77 NOARGS { int netbsd32_getrusage(int who, \
162 netbsd32_rusagep_t rusage); }
163 78 STD { int linux32_sys_gettimeofday(netbsd32_timevalp_t tp, \
164 netbsd32_timezonep_t tzp); }
165 79 STD { int linux32_sys_settimeofday(netbsd32_timevalp_t tp, \
166 netbsd32_timezonep_t tzp); }
167 80 STD { int linux32_sys_getgroups16(int gidsetsize, \
168 linux32_gidp_t gidset); }
169 81 STD { int linux32_sys_setgroups16(int gidsetsize, \
170 linux32_gidp_t gidset); }
171 82 STD { int linux32_sys_oldselect(linux32_oldselectp_t lsp); }
172 83 NOARGS { int netbsd32_symlink(netbsd32_charp path, \
173 const netbsd32_charp link); }
174 84 NOARGS { int compat_43_netbsd32_lstat43(const netbsd32_charp \
175 path, netbsd32_stat43p_t ub); }
176 85 NOARGS { int netbsd32_readlink(const netbsd32_charp name, \
177 netbsd32_charp buf, int count); }
179 87 STD { int linux32_sys_swapon(netbsd32_charp name); }
180 88 STD { int linux32_sys_reboot(int magic1, int magic2, int cmd, \
181 netbsd32_voidp arg); }
183 90 STD { int linux32_sys_old_mmap(linux32_oldmmapp lmp); }
184 91 NOARGS { int netbsd32_munmap(netbsd32_caddr_t addr, int len); }
185 92 STD { int linux32_sys_truncate(const netbsd32_charp path, \
186 netbsd32_long length); }
187 93 NOARGS { int compat_43_netbsd32_oftruncate(int fd, \
188 netbsd32_long length); }
189 94 NOARGS { int netbsd32_fchmod(int fd, int mode); }
190 95 STD { int linux32_sys_fchown16(int fd, int uid, int gid); }
191 96 STD { int linux32_sys_getpriority(int which, int who); }
192 97 STD { int linux32_sys_setpriority(int which, int who, int prio); }
194 99 STD { int linux32_sys_statfs(const netbsd32_charp path, \
195 linux32_statfsp sp); }
198 102 STD { int linux32_sys_socketcall(int what, netbsd32_voidp args); }
200 104 NOARGS { int netbsd32_setitimer(u_int which, \
201 netbsd32_itimervalp_t itv, netbsd32_itimervalp_t oitv); }
202 105 NOARGS { int netbsd32_getitimer(u_int which, \
203 netbsd32_itimervalp_t itv); }
212 114 STD { int linux32_sys_wait4(int pid, netbsd32_intp status, \
213 int options, netbsd32_rusagep_t rusage); }
214 115 STD { int linux32_sys_swapoff(const netbsd32_charp path); }
215 116 STD { int linux32_sys_sysinfo(linux32_sysinfop_t arg); }
217 118 NOARGS { int netbsd32_fsync(int fd); }
218 119 STD { int linux32_sys_sigreturn(linux32_sigcontextp_t scp); }
219 120 STD { int linux32_sys_clone(int flags, netbsd32_voidp stack); }
220 121 UNIMPL setdomainname
221 122 STD { int linux32_sys_uname(linux32_utsnamep up); }
222 123 UNIMPL modify_ldt
224 125 STD { int linux32_sys_mprotect(netbsd32_voidp addr, \
225 netbsd32_size_t len, int prot); }
226 126 UNIMPL sigprocmask
227 127 UNIMPL create_module
228 128 UNIMPL init_module
229 129 UNIMPL delete_module
230 130 UNIMPL get_kernel_syms
233 133 NOARGS { int netbsd32_fchdir(int fd); }
236 136 UNIMPL personality
237 137 UNIMPL afs_syscall
238 138 NOARGS setfsuid16 { int linux32_sys_setfsuid(uid_t uid); }
239 139 NOARGS getfsuid16 { int linux_sys_getfsuid(void); }
240 140 STD { int linux32_sys_llseek(int fd, u_int32_t ohigh, \
241 u_int32_t olow, netbsd32_caddr_t res, int whence); }
242 141 STD { int linux32_sys_getdents(int fd, \
243 linux32_direntp_t dent, unsigned int count); }
244 142 STD { int linux32_sys_select(int nfds, \
245 netbsd32_fd_setp_t readfds, \
246 netbsd32_fd_setp_t writefds, \
247 netbsd32_fd_setp_t exceptfds, \
248 netbsd32_timevalp_t timeout); }
249 143 NOARGS { int netbsd32_flock(int fd, int how); }
251 145 NOARGS { int netbsd32_readv(int fd, \
252 const netbsd32_iovecp_t iovp, u_int iovcnt); }
253 146 NOARGS { netbsd32_ssize_t netbsd32_writev(int fd, \
254 const netbsd32_iovecp_t iovp, int iovcnt); }
255 147 NOARGS { pid_t netbsd32_getsid(pid_t pid); }
256 148 STD { int linux32_sys_fdatasync(int fd); }
257 149 STD { int linux32_sys___sysctl(linux32___sysctlp_t lsp); }
260 152 NOARGS { int netbsd32_mlockall(int flags); }
261 153 NOARGS { int sys_munlockall(void); }
262 154 UNIMPL sched_setparam
263 155 STD { int linux32_sys_sched_getparam(pid_t pid, \
264 linux32_sched_paramp_t sp); }
265 156 STD { int linux32_sys_sched_setscheduler(pid_t pid, \
266 int policy, const linux32_sched_paramp_t sp); }
267 157 STD { int linux32_sys_sched_getscheduler(pid_t pid); }
268 158 NOARGS { int linux_sys_sched_yield(void); }
269 159 UNIMPL sched_get_priority_max
270 160 UNIMPL sched_get_priority_min
271 161 UNIMPL sched_rr_get_interval
272 162 NOARGS { int netbsd32_nanosleep(const \
273 netbsd32_timespecp_t rqtp \
274 netbsd32_timespecp_t rmtp); }
275 163 STD { int linux32_sys_mremap(netbsd32_voidp old_address, \
276 netbsd32_size_t old_size , netbsd32_size_t new_size, \
277 netbsd32_u_long flags); }
278 164 STD { int linux32_sys_setresuid16(uid_t ruid, uid_t euid, \
280 165 UNIMPL getresuid16
282 167 UNIMPL query_module
283 168 NOARGS { int netbsd32_poll(netbsd32_pollfdp_t fds, u_int nfds, \
285 169 UNIMPL nfsservctl
286 170 STD { int linux32_sys_setresgid16(gid_t rgid, gid_t egid, \
290 173 STD { int linux32_sys_rt_sigreturn(linux32_ucontextp_t ucp); }
291 174 STD { int linux32_sys_rt_sigaction(int signum, \
292 const linux32_sigactionp_t nsa, \
293 linux32_sigactionp_t osa, \
294 netbsd32_size_t sigsetsize); }
295 175 STD { int linux32_sys_rt_sigprocmask(int how, \
296 const linux32_sigsetp_t set, \
297 linux32_sigsetp_t oset, \
298 netbsd32_size_t sigsetsize); }
299 176 UNIMPL rt_sigpending
300 177 UNIMPL rt_sigtimedwait
301 178 UNIMPL rt_queueinfo
302 179 STD { int linux32_sys_rt_sigsuspend(linux32_sigsetp_t unewset, \
303 netbsd32_size_t sigsetsize); }
306 182 STD { int linux32_sys_chown16(const netbsd32_charp path, \
308 183 NOARGS { int netbsd32___getcwd(netbsd32_charp bufp, \
309 netbsd32_size_t length); }
312 186 UNIMPL sigaltstack
316 190 NOARGS { int sys___vfork14(void); }
317 191 STD { int linux32_sys_ugetrlimit(int which, \
318 netbsd32_orlimitp_t rlp); }
319 192 STD { linux32_off_t linux32_sys_mmap2(netbsd32_u_long addr, \
320 netbsd32_size_t len, int prot, int flags, int fd, \
321 linux32_off_t offset); }
322 193 UNIMPL truncate64
323 194 UNIMPL ftruncate64
324 195 STD { int linux32_sys_stat64(const netbsd32_charp path, \
325 linux32_stat64p sp); }
326 196 STD { int linux32_sys_lstat64(const netbsd32_charp path, \
327 linux32_stat64p sp); }
328 197 STD { int linux32_sys_fstat64(int fd, \
329 linux32_stat64p sp); }
330 198 NOARGS { int netbsd32___posix_lchown(const netbsd32_charp path, \
332 199 NOARGS { uid_t sys_getuid(void); }
333 200 NOARGS { gid_t sys_getgid(void); }
334 201 NOARGS { uid_t sys_geteuid(void); }
335 202 NOARGS { gid_t sys_getegid(void); }
336 203 NOARGS { int netbsd32_setreuid(uid_t ruid, uid_t euid); }
337 204 NOARGS { int netbsd32_setregid(gid_t rgid, gid_t egid); }
338 205 NOARGS { int netbsd32_getgroups(int gidsetsize, \
339 netbsd32_gid_tp gidset); }
340 206 NOARGS { int netbsd32_setgroups(int gidsetsize, \
341 netbsd32_gid_tp gidset); }
342 207 NOARGS { int netbsd32___posix_fchown(int fd, uid_t uid, gid_t gid); }
343 208 STD { int linux32_sys_setresuid(uid_t ruid, uid_t euid, \
346 210 STD { int linux32_sys_setresgid(gid_t rgid, gid_t egid, \
349 212 NOARGS { int netbsd32___posix_chown(const netbsd32_charp path, \
351 213 NOARGS { int netbsd32_setuid(uid_t uid); }
352 214 NOARGS { int netbsd32_setgid(gid_t gid); }
353 215 STD { int linux32_sys_setfsuid(uid_t uid); }
354 216 NOARGS { int linux_sys_getfsuid(void); }
355 217 UNIMPL pivot_root
357 219 NOARGS { int netbsd32_madvise(netbsd32_voidp addr, \
358 netbsd32_size_t len, int behav); }
359 220 STD { int linux32_sys_getdents64(int fd, \
360 linux32_dirent64p_t dent, unsigned int count); }
361 221 STD { int linux32_sys_fcntl64(int fd, \
362 int cmd, netbsd32_voidp arg); }
363 222 UNIMPL /* unused */
364 223 UNIMPL /* unused */
365 224 STD { pid_t linux_sys_gettid(void); }
374 233 UNIMPL llistxattr
375 234 UNIMPL flistxattr
376 235 UNIMPL removexattr
377 236 UNIMPL lremovexattr
378 237 UNIMPL fremovexattr
380 239 UNIMPL sendfile64
382 241 UNIMPL sched_setaffinity
383 242 UNIMPL sched_getaffinity
384 243 UNIMPL set_thread_area
385 244 UNIMPL get_thread_area
387 246 UNIMPL io_destroy
388 247 UNIMPL io_getevents
392 251 UNIMPL /* unused */
393 252 STD { int linux32_sys_exit_group(int error_code); }
394 253 UNIMPL lookup_dcookie
395 254 UNIMPL epoll_create
397 256 UNIMPL epoll_wait
398 257 UNIMPL remap_file_pages
399 258 UNIMPL set_tid_address
400 259 UNIMPL timer_create
401 260 UNIMPL timer_settime
402 261 UNIMPL timer_gettime
403 262 UNIMPL timer_getoverrun
404 263 UNIMPL timer_delete
405 264 UNIMPL clock_settime
406 265 UNIMPL clock_gettime
407 266 UNIMPL clock_getres
408 267 UNIMPL clock_nanosleep
413 272 UNIMPL fadvise64_64
416 275 UNIMPL get_mempolicy
417 276 UNIMPL set_mempolicy
420 279 UNIMPL mq_timedsend
421 280 UNIMPL mq_timedreceive
423 282 UNIMPL mq_getsetattr
424 283 UNIMPL kexec_load