1 $NetBSD: syscalls.master,v 1.29 2008/02/04 22:23:43 dsl 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, \
89 linux32_uid16_t uid, linux32_gid16_t gid); }
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(linux32_uid16_t ruid, \
152 linux32_uid16_t euid); }
153 71 STD { int linux32_sys_setregid16(linux32_gid16_t rgid, \
154 linux32_gid16_t egid); }
157 74 NOARGS { int compat_43_netbsd32_osethostname(netbsd32_charp hostname, \
159 75 STD { int linux32_sys_setrlimit(u_int which, \
160 netbsd32_orlimitp_t rlp); }
161 76 STD { int linux32_sys_getrlimit(u_int which, \
162 netbsd32_orlimitp_t rlp); }
163 77 NOARGS { int netbsd32_getrusage(int who, \
164 netbsd32_rusagep_t rusage); }
165 78 STD { int linux32_sys_gettimeofday(netbsd32_timevalp_t tp, \
166 netbsd32_timezonep_t tzp); }
167 79 STD { int linux32_sys_settimeofday(netbsd32_timevalp_t tp, \
168 netbsd32_timezonep_t tzp); }
169 80 STD { int linux32_sys_getgroups16(int gidsetsize, \
170 linux32_gid16p_t gidset); }
171 81 STD { int linux32_sys_setgroups16(int gidsetsize, \
172 linux32_gid16p_t gidset); }
173 82 STD { int linux32_sys_oldselect(linux32_oldselectp_t lsp); }
174 83 NOARGS { int netbsd32_symlink(netbsd32_charp path, \
175 const netbsd32_charp link); }
176 84 NOARGS { int compat_43_netbsd32_lstat43(const netbsd32_charp \
177 path, netbsd32_stat43p_t ub); }
178 85 NOARGS { int netbsd32_readlink(const netbsd32_charp name, \
179 netbsd32_charp buf, int count); }
181 87 STD { int linux32_sys_swapon(netbsd32_charp name); }
182 88 STD { int linux32_sys_reboot(int magic1, int magic2, int cmd, \
183 netbsd32_voidp arg); }
184 89 STD { int linux32_sys_readdir(int fd, netbsd32_voidp dent, \
185 unsigned int count); }
186 90 STD { int linux32_sys_old_mmap(linux32_oldmmapp lmp); }
187 91 NOARGS { int netbsd32_munmap(netbsd32_caddr_t addr, int len); }
188 92 STD { int linux32_sys_truncate(const netbsd32_charp path, \
189 netbsd32_long length); }
190 93 NOARGS { int compat_43_netbsd32_oftruncate(int fd, \
191 netbsd32_long length); }
192 94 NOARGS { int netbsd32_fchmod(int fd, int mode); }
193 95 STD { int linux32_sys_fchown16(int fd, linux32_uid16_t uid, \
194 linux32_gid16_t gid); }
195 96 STD { int linux32_sys_getpriority(int which, int who); }
196 97 STD { int linux32_sys_setpriority(int which, int who, int prio); }
198 99 STD { int linux32_sys_statfs(const netbsd32_charp path, \
199 linux32_statfsp sp); }
202 102 STD { int linux32_sys_socketcall(int what, netbsd32_voidp args); }
204 104 NOARGS { int netbsd32_setitimer(u_int which, \
205 netbsd32_itimervalp_t itv, netbsd32_itimervalp_t oitv); }
206 105 NOARGS { int netbsd32_getitimer(u_int which, \
207 netbsd32_itimervalp_t itv); }
211 109 STD { int linux32_sys_olduname(linux32_oldutsnamep_t up); }
216 114 STD { int linux32_sys_wait4(int pid, netbsd32_intp status, \
217 int options, netbsd32_rusagep_t rusage); }
218 115 STD { int linux32_sys_swapoff(const netbsd32_charp path); }
219 116 STD { int linux32_sys_sysinfo(linux32_sysinfop_t arg); }
221 118 NOARGS { int netbsd32_fsync(int fd); }
222 119 STD { int linux32_sys_sigreturn(linux32_sigcontextp_t scp); }
223 120 STD { int linux32_sys_clone(int flags, netbsd32_voidp stack); }
224 121 UNIMPL setdomainname
225 122 STD { int linux32_sys_uname(linux32_utsnamep up); }
226 123 UNIMPL modify_ldt
228 125 STD { int linux32_sys_mprotect(netbsd32_voidp start, \
229 netbsd32_size_t len, int prot); }
230 126 UNIMPL sigprocmask
231 127 UNIMPL create_module
232 128 UNIMPL init_module
233 129 UNIMPL delete_module
234 130 UNIMPL get_kernel_syms
236 132 NOARGS { int netbsd32_getpgid(pid_t pid); }
237 133 NOARGS { int netbsd32_fchdir(int fd); }
240 136 UNIMPL personality
241 137 UNIMPL afs_syscall
242 138 NOARGS setfsuid16 { int linux32_sys_setfsuid(uid_t uid); }
243 139 NOARGS setfsgid16 { int linux32_sys_setfsgid(gid_t gid); }
244 140 STD { int linux32_sys_llseek(int fd, u_int32_t ohigh, \
245 u_int32_t olow, netbsd32_caddr_t res, int whence); }
246 141 STD { int linux32_sys_getdents(int fd, \
247 linux32_direntp_t dent, unsigned int count); }
248 142 STD { int linux32_sys_select(int nfds, \
249 netbsd32_fd_setp_t readfds, \
250 netbsd32_fd_setp_t writefds, \
251 netbsd32_fd_setp_t exceptfds, \
252 netbsd32_timevalp_t timeout); }
253 143 NOARGS { int netbsd32_flock(int fd, int how); }
255 145 NOARGS { int netbsd32_readv(int fd, \
256 const netbsd32_iovecp_t iovp, u_int iovcnt); }
257 146 NOARGS { netbsd32_ssize_t netbsd32_writev(int fd, \
258 const netbsd32_iovecp_t iovp, int iovcnt); }
259 147 NOARGS { pid_t netbsd32_getsid(pid_t pid); }
260 148 STD { int linux32_sys_fdatasync(int fd); }
261 149 STD { int linux32_sys___sysctl(linux32___sysctlp_t lsp); }
264 152 NOARGS { int netbsd32_mlockall(int flags); }
265 153 NOARGS { int sys_munlockall(void); }
266 154 UNIMPL sched_setparam
267 155 STD { int linux32_sys_sched_getparam(pid_t pid, \
268 linux32_sched_paramp_t sp); }
269 156 STD { int linux32_sys_sched_setscheduler(pid_t pid, \
270 int policy, const linux32_sched_paramp_t sp); }
271 157 STD { int linux32_sys_sched_getscheduler(pid_t pid); }
272 158 NOARGS { int linux_sys_sched_yield(void); }
273 159 UNIMPL sched_get_priority_max
274 160 UNIMPL sched_get_priority_min
275 161 UNIMPL sched_rr_get_interval
276 162 NOARGS { int netbsd32_nanosleep(const \
277 netbsd32_timespecp_t rqtp \
278 netbsd32_timespecp_t rmtp); }
279 163 STD { int linux32_sys_mremap(netbsd32_voidp old_address, \
280 netbsd32_size_t old_size , netbsd32_size_t new_size, \
281 netbsd32_u_long flags); }
282 164 STD { int linux32_sys_setresuid16(linux32_uid16_t ruid, \
283 linux32_uid16_t euid, linux32_uid16_t suid); }
284 165 STD { int linux32_sys_getresuid16(linux32_uid16p_t ruid, \
285 linux32_uid16p_t euid, linux32_uid16p_t suid); }
287 167 UNIMPL query_module
288 168 NOARGS { int netbsd32_poll(netbsd32_pollfdp_t fds, u_int nfds, \
290 169 UNIMPL nfsservctl
291 170 STD { int linux32_sys_setresgid16(linux32_gid16_t rgid, \
292 linux32_gid16_t egid, linux32_gid16_t sgid); }
293 171 STD { int linux32_sys_getresgid16(linux32_gid16p_t rgid, \
294 linux32_gid16p_t egid, linux32_gid16p_t sgid); }
296 173 STD { int linux32_sys_rt_sigreturn(linux32_ucontextp_t ucp); }
297 174 STD { int linux32_sys_rt_sigaction(int signum, \
298 const linux32_sigactionp_t nsa, \
299 linux32_sigactionp_t osa, \
300 netbsd32_size_t sigsetsize); }
301 175 STD { int linux32_sys_rt_sigprocmask(int how, \
302 const linux32_sigsetp_t set, \
303 linux32_sigsetp_t oset, \
304 netbsd32_size_t sigsetsize); }
305 176 UNIMPL rt_sigpending
306 177 UNIMPL rt_sigtimedwait
307 178 UNIMPL rt_queueinfo
308 179 STD { int linux32_sys_rt_sigsuspend(linux32_sigsetp_t unewset, \
309 netbsd32_size_t sigsetsize); }
310 180 STD { netbsd32_ssize_t linux32_sys_pread(int fd, \
311 netbsd32_voidp buf, netbsd32_size_t nbyte, \
312 linux32_off_t offset); }
313 181 STD { netbsd32_ssize_t linux32_sys_pwrite(int fd, \
314 const netbsd32_voidp buf, netbsd32_size_t nbyte, \
315 linux32_off_t offset); }
316 182 STD { int linux32_sys_chown16(const netbsd32_charp path, \
317 linux32_uid16_t uid, linux32_gid16_t gid); }
318 183 NOARGS { int netbsd32___getcwd(netbsd32_charp bufp, \
319 netbsd32_size_t length); }
322 186 UNIMPL sigaltstack
326 190 NOARGS { int sys___vfork14(void); }
327 191 STD { int linux32_sys_ugetrlimit(int which, \
328 netbsd32_orlimitp_t rlp); }
329 192 STD { linux32_off_t linux32_sys_mmap2(netbsd32_u_long addr, \
330 netbsd32_size_t len, int prot, int flags, int fd, \
331 linux32_off_t offset); }
332 193 UNIMPL truncate64
333 194 UNIMPL ftruncate64
334 195 STD { int linux32_sys_stat64(const netbsd32_charp path, \
335 linux32_stat64p sp); }
336 196 STD { int linux32_sys_lstat64(const netbsd32_charp path, \
337 linux32_stat64p sp); }
338 197 STD { int linux32_sys_fstat64(int fd, \
339 linux32_stat64p sp); }
340 198 NOARGS { int netbsd32___posix_lchown(const netbsd32_charp path, \
342 199 NOARGS { uid_t sys_getuid(void); }
343 200 NOARGS { gid_t sys_getgid(void); }
344 201 NOARGS { uid_t sys_geteuid(void); }
345 202 NOARGS { gid_t sys_getegid(void); }
346 203 NOARGS { int netbsd32_setreuid(uid_t ruid, uid_t euid); }
347 204 NOARGS { int netbsd32_setregid(gid_t rgid, gid_t egid); }
348 205 NOARGS { int netbsd32_getgroups(int gidsetsize, \
349 netbsd32_gid_tp gidset); }
350 206 NOARGS { int netbsd32_setgroups(int gidsetsize, \
351 netbsd32_gid_tp gidset); }
352 207 NOARGS { int netbsd32___posix_fchown(int fd, uid_t uid, gid_t gid); }
353 208 STD { int linux32_sys_setresuid(uid_t ruid, uid_t euid, \
356 210 STD { int linux32_sys_setresgid(gid_t rgid, gid_t egid, \
359 212 NOARGS { int netbsd32___posix_chown(const netbsd32_charp path, \
361 213 NOARGS { int netbsd32_setuid(uid_t uid); }
362 214 NOARGS { int netbsd32_setgid(gid_t gid); }
363 215 STD { int linux32_sys_setfsuid(uid_t uid); }
364 216 STD { int linux32_sys_setfsgid(gid_t gid); }
365 217 UNIMPL pivot_root
367 219 NOARGS { int netbsd32_madvise(netbsd32_voidp addr, \
368 netbsd32_size_t len, int behav); }
369 220 STD { int linux32_sys_getdents64(int fd, \
370 linux32_dirent64p_t dent, unsigned int count); }
371 ; fcntl64() - Exactly the same as fcntl()
372 #define linux32_sys_fcntl64 linux32_sys_fcntl
373 #define linux32_sys_fcntl64_args linux32_sys_fcntl_args
374 221 NOARGS { int linux32_sys_fcntl64(int fd, \
375 int cmd, netbsd32_voidp arg); }
376 222 UNIMPL /* unused */
377 223 UNIMPL /* unused */
378 224 STD { pid_t linux_sys_gettid(void); }
387 233 UNIMPL llistxattr
388 234 UNIMPL flistxattr
389 235 UNIMPL removexattr
390 236 UNIMPL lremovexattr
391 237 UNIMPL fremovexattr
393 239 UNIMPL sendfile64
395 241 UNIMPL sched_setaffinity
396 242 UNIMPL sched_getaffinity
397 243 UNIMPL set_thread_area
398 244 UNIMPL get_thread_area
400 246 UNIMPL io_destroy
401 247 UNIMPL io_getevents
405 251 UNIMPL /* unused */
406 252 STD { int linux32_sys_exit_group(int error_code); }
407 253 UNIMPL lookup_dcookie
408 254 UNIMPL epoll_create
410 256 UNIMPL epoll_wait
411 257 UNIMPL remap_file_pages
412 258 UNIMPL set_tid_address
413 259 UNIMPL timer_create
414 260 UNIMPL timer_settime
415 261 UNIMPL timer_gettime
416 262 UNIMPL timer_getoverrun
417 263 UNIMPL timer_delete
418 264 UNIMPL clock_settime
419 265 UNIMPL clock_gettime
420 266 UNIMPL clock_getres
421 267 UNIMPL clock_nanosleep
426 272 UNIMPL fadvise64_64
429 275 UNIMPL get_mempolicy
430 276 UNIMPL set_mempolicy
433 279 UNIMPL mq_timedsend
434 280 UNIMPL mq_timedreceive
436 282 UNIMPL mq_getsetattr
437 283 UNIMPL kexec_load