1 $NetBSD: syscalls.master,v 1.25 2007/12/26 13:50:48 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); }
182 89 STD { int linux32_sys_readdir(int fd, netbsd32_voidp dent, \
183 unsigned int count); }
184 90 STD { int linux32_sys_old_mmap(linux32_oldmmapp lmp); }
185 91 NOARGS { int netbsd32_munmap(netbsd32_caddr_t addr, int len); }
186 92 STD { int linux32_sys_truncate(const netbsd32_charp path, \
187 netbsd32_long length); }
188 93 NOARGS { int compat_43_netbsd32_oftruncate(int fd, \
189 netbsd32_long length); }
190 94 NOARGS { int netbsd32_fchmod(int fd, int mode); }
191 95 STD { int linux32_sys_fchown16(int fd, int uid, int gid); }
192 96 STD { int linux32_sys_getpriority(int which, int who); }
193 97 STD { int linux32_sys_setpriority(int which, int who, int prio); }
195 99 STD { int linux32_sys_statfs(const netbsd32_charp path, \
196 linux32_statfsp sp); }
199 102 STD { int linux32_sys_socketcall(int what, netbsd32_voidp args); }
201 104 NOARGS { int netbsd32_setitimer(u_int which, \
202 netbsd32_itimervalp_t itv, netbsd32_itimervalp_t oitv); }
203 105 NOARGS { int netbsd32_getitimer(u_int which, \
204 netbsd32_itimervalp_t itv); }
208 109 STD { int linux32_sys_olduname(linux32_oldutsnamep_t up); }
213 114 STD { int linux32_sys_wait4(int pid, netbsd32_intp status, \
214 int options, netbsd32_rusagep_t rusage); }
215 115 STD { int linux32_sys_swapoff(const netbsd32_charp path); }
216 116 STD { int linux32_sys_sysinfo(linux32_sysinfop_t arg); }
218 118 NOARGS { int netbsd32_fsync(int fd); }
219 119 STD { int linux32_sys_sigreturn(linux32_sigcontextp_t scp); }
220 120 STD { int linux32_sys_clone(int flags, netbsd32_voidp stack); }
221 121 UNIMPL setdomainname
222 122 STD { int linux32_sys_uname(linux32_utsnamep up); }
223 123 UNIMPL modify_ldt
225 125 STD { int linux32_sys_mprotect(netbsd32_voidp start, \
226 netbsd32_size_t len, int prot); }
227 126 UNIMPL sigprocmask
228 127 UNIMPL create_module
229 128 UNIMPL init_module
230 129 UNIMPL delete_module
231 130 UNIMPL get_kernel_syms
233 132 NOARGS { int netbsd32_getpgid(pid_t pid); }
234 133 NOARGS { int netbsd32_fchdir(int fd); }
237 136 UNIMPL personality
238 137 UNIMPL afs_syscall
239 138 NOARGS setfsuid16 { int linux32_sys_setfsuid(uid_t uid); }
240 139 NOARGS setfsgid16 { int linux32_sys_setfsgid(gid_t gid); }
241 140 STD { int linux32_sys_llseek(int fd, u_int32_t ohigh, \
242 u_int32_t olow, netbsd32_caddr_t res, int whence); }
243 141 STD { int linux32_sys_getdents(int fd, \
244 linux32_direntp_t dent, unsigned int count); }
245 142 STD { int linux32_sys_select(int nfds, \
246 netbsd32_fd_setp_t readfds, \
247 netbsd32_fd_setp_t writefds, \
248 netbsd32_fd_setp_t exceptfds, \
249 netbsd32_timevalp_t timeout); }
250 143 NOARGS { int netbsd32_flock(int fd, int how); }
252 145 NOARGS { int netbsd32_readv(int fd, \
253 const netbsd32_iovecp_t iovp, u_int iovcnt); }
254 146 NOARGS { netbsd32_ssize_t netbsd32_writev(int fd, \
255 const netbsd32_iovecp_t iovp, int iovcnt); }
256 147 NOARGS { pid_t netbsd32_getsid(pid_t pid); }
257 148 STD { int linux32_sys_fdatasync(int fd); }
258 149 STD { int linux32_sys___sysctl(linux32___sysctlp_t lsp); }
261 152 NOARGS { int netbsd32_mlockall(int flags); }
262 153 NOARGS { int sys_munlockall(void); }
263 154 UNIMPL sched_setparam
264 155 STD { int linux32_sys_sched_getparam(pid_t pid, \
265 linux32_sched_paramp_t sp); }
266 156 STD { int linux32_sys_sched_setscheduler(pid_t pid, \
267 int policy, const linux32_sched_paramp_t sp); }
268 157 STD { int linux32_sys_sched_getscheduler(pid_t pid); }
269 158 NOARGS { int linux_sys_sched_yield(void); }
270 159 UNIMPL sched_get_priority_max
271 160 UNIMPL sched_get_priority_min
272 161 UNIMPL sched_rr_get_interval
273 162 NOARGS { int netbsd32_nanosleep(const \
274 netbsd32_timespecp_t rqtp \
275 netbsd32_timespecp_t rmtp); }
276 163 STD { int linux32_sys_mremap(netbsd32_voidp old_address, \
277 netbsd32_size_t old_size , netbsd32_size_t new_size, \
278 netbsd32_u_long flags); }
279 164 STD { int linux32_sys_setresuid16(uid_t ruid, uid_t euid, \
281 165 UNIMPL getresuid16
283 167 UNIMPL query_module
284 168 NOARGS { int netbsd32_poll(netbsd32_pollfdp_t fds, u_int nfds, \
286 169 UNIMPL nfsservctl
287 170 STD { int linux32_sys_setresgid16(gid_t rgid, gid_t egid, \
291 173 STD { int linux32_sys_rt_sigreturn(linux32_ucontextp_t ucp); }
292 174 STD { int linux32_sys_rt_sigaction(int signum, \
293 const linux32_sigactionp_t nsa, \
294 linux32_sigactionp_t osa, \
295 netbsd32_size_t sigsetsize); }
296 175 STD { int linux32_sys_rt_sigprocmask(int how, \
297 const linux32_sigsetp_t set, \
298 linux32_sigsetp_t oset, \
299 netbsd32_size_t sigsetsize); }
300 176 UNIMPL rt_sigpending
301 177 UNIMPL rt_sigtimedwait
302 178 UNIMPL rt_queueinfo
303 179 STD { int linux32_sys_rt_sigsuspend(linux32_sigsetp_t unewset, \
304 netbsd32_size_t sigsetsize); }
307 182 STD { int linux32_sys_chown16(const netbsd32_charp path, \
309 183 NOARGS { int netbsd32___getcwd(netbsd32_charp bufp, \
310 netbsd32_size_t length); }
313 186 UNIMPL sigaltstack
317 190 NOARGS { int sys___vfork14(void); }
318 191 STD { int linux32_sys_ugetrlimit(int which, \
319 netbsd32_orlimitp_t rlp); }
320 192 STD { linux32_off_t linux32_sys_mmap2(netbsd32_u_long addr, \
321 netbsd32_size_t len, int prot, int flags, int fd, \
322 linux32_off_t offset); }
323 193 UNIMPL truncate64
324 194 UNIMPL ftruncate64
325 195 STD { int linux32_sys_stat64(const netbsd32_charp path, \
326 linux32_stat64p sp); }
327 196 STD { int linux32_sys_lstat64(const netbsd32_charp path, \
328 linux32_stat64p sp); }
329 197 STD { int linux32_sys_fstat64(int fd, \
330 linux32_stat64p sp); }
331 198 NOARGS { int netbsd32___posix_lchown(const netbsd32_charp path, \
333 199 NOARGS { uid_t sys_getuid(void); }
334 200 NOARGS { gid_t sys_getgid(void); }
335 201 NOARGS { uid_t sys_geteuid(void); }
336 202 NOARGS { gid_t sys_getegid(void); }
337 203 NOARGS { int netbsd32_setreuid(uid_t ruid, uid_t euid); }
338 204 NOARGS { int netbsd32_setregid(gid_t rgid, gid_t egid); }
339 205 NOARGS { int netbsd32_getgroups(int gidsetsize, \
340 netbsd32_gid_tp gidset); }
341 206 NOARGS { int netbsd32_setgroups(int gidsetsize, \
342 netbsd32_gid_tp gidset); }
343 207 NOARGS { int netbsd32___posix_fchown(int fd, uid_t uid, gid_t gid); }
344 208 STD { int linux32_sys_setresuid(uid_t ruid, uid_t euid, \
347 210 STD { int linux32_sys_setresgid(gid_t rgid, gid_t egid, \
350 212 NOARGS { int netbsd32___posix_chown(const netbsd32_charp path, \
352 213 NOARGS { int netbsd32_setuid(uid_t uid); }
353 214 NOARGS { int netbsd32_setgid(gid_t gid); }
354 215 STD { int linux32_sys_setfsuid(uid_t uid); }
355 216 STD { int linux32_sys_setfsgid(gid_t gid); }
356 217 UNIMPL pivot_root
358 219 NOARGS { int netbsd32_madvise(netbsd32_voidp addr, \
359 netbsd32_size_t len, int behav); }
360 220 STD { int linux32_sys_getdents64(int fd, \
361 linux32_dirent64p_t dent, unsigned int count); }
362 221 STD { int linux32_sys_fcntl64(int fd, \
363 int cmd, netbsd32_voidp arg); }
364 222 UNIMPL /* unused */
365 223 UNIMPL /* unused */
366 224 STD { pid_t linux_sys_gettid(void); }
375 233 UNIMPL llistxattr
376 234 UNIMPL flistxattr
377 235 UNIMPL removexattr
378 236 UNIMPL lremovexattr
379 237 UNIMPL fremovexattr
381 239 UNIMPL sendfile64
383 241 UNIMPL sched_setaffinity
384 242 UNIMPL sched_getaffinity
385 243 UNIMPL set_thread_area
386 244 UNIMPL get_thread_area
388 246 UNIMPL io_destroy
389 247 UNIMPL io_getevents
393 251 UNIMPL /* unused */
394 252 STD { int linux32_sys_exit_group(int error_code); }
395 253 UNIMPL lookup_dcookie
396 254 UNIMPL epoll_create
398 256 UNIMPL epoll_wait
399 257 UNIMPL remap_file_pages
400 258 UNIMPL set_tid_address
401 259 UNIMPL timer_create
402 260 UNIMPL timer_settime
403 261 UNIMPL timer_gettime
404 262 UNIMPL timer_getoverrun
405 263 UNIMPL timer_delete
406 264 UNIMPL clock_settime
407 265 UNIMPL clock_gettime
408 266 UNIMPL clock_getres
409 267 UNIMPL clock_nanosleep
414 272 UNIMPL fadvise64_64
417 275 UNIMPL get_mempolicy
418 276 UNIMPL set_mempolicy
421 279 UNIMPL mq_timedsend
422 280 UNIMPL mq_timedreceive
424 282 UNIMPL mq_getsetattr
425 283 UNIMPL kexec_load