syscalls.master revision 1.2.16.4 1 $NetBSD: syscalls.master,v 1.2.16.4 2007/02/26 09:09:25 yamt Exp $
2
3 ; NetBSD i386 COMPAT_LINUX32 system call name/number "master" file.
4 ; (See syscalls.conf to see what it is processed into.)
5 ;
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.
10 ;
11 ; types:
12 ; STD always included
13 ; OBSOL obsolete, not included in system
14 ; UNIMPL unimplemented, not included in system
15 ; NODEF included, but don't define the syscall number
16 ;
17 ; INDIR included, but don't define the syscall args structure
18 ; and allow it to be "really" varargs.
19 ;
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).
24 ;
25 ; The type-dependent arguments are as follows:
26 ; For STD, NODEF, NOARGS, and compat syscalls:
27 ; { pseudo-proto } [alias]
28 ; For other syscalls:
29 ; [comment]
30 ;
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.
33
34 #if defined(_KERNEL_OPT)
35 #include "opt_compat_43.h"
36 #endif
37
38 #include <sys/param.h>
39 #include <sys/poll.h>
40 #include <sys/systm.h>
41 #include <sys/signal.h>
42 #include <sys/mount.h>
43 #include <sys/syscallargs.h>
44
45 #include <machine/netbsd32_machdep.h>
46
47 #include <compat/netbsd32/netbsd32.h>
48 #include <compat/netbsd32/netbsd32_syscallargs.h>
49
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>
54
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>
60
61 #include <compat/linux/linux_syscallargs.h>
62
63 %%
64
65 0 NOARGS { int linux_sys_nosys(void); } syscall
66 1 NOARGS { int sys_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, \
73 int mode); }
74 6 NOARGS { int sys_close(int fd); }
75 7 STD { int linux32_sys_waitpid(int pid, netbsd32_intp status, \
76 int options);}
77 8 STD { int linux32_sys_creat(const netbsd32_charp path, int mode); }
78 9 STD { int linux32_sys_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 STD { int linux32_sys_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, \
86 int mode, int dev); }
87 15 STD { int linux32_sys_chmod(const netbsd32_charp path, int mode); }
88 16 STD { int linux32_sys_lchown16(const netbsd32_charp path, \
89 int uid, int gid); }
90 17 STD { int linux32_sys_break(netbsd32_charp nsize); }
91 18 OBSOL ostat
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); }
95 21 UNIMPL mount
96 22 UNIMPL umount
97 23 NOARGS linux_setuid16 { int sys_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); }
100 26 UNIMPL ptrace
101 27 NOARGS { int linux_sys_alarm(unsigned int secs); }
102 28 OBSOL ofstat
103 29 NOARGS { int linux_sys_pause(void); }
104 30 STD { int linux32_sys_utime(const netbsd32_charp path, \
105 linux32_utimbufp_t times); }
106 31 OBSOL stty
107 32 OBSOL gtty
108 33 STD { int linux32_sys_access(const netbsd32_charp path, \
109 int flags); }
110 34 NOARGS { int linux_sys_nice(int incr); }
111 35 OBSOL ftime
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 STD { int linux32_sys_mkdir(const netbsd32_charp path, int mode); }
117 40 STD { int linux32_sys_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); }
121 44 OBSOL prof
122 45 STD { int linux32_sys_brk(netbsd32_charp nsize); }
123 46 NOARGS linux_setgid16 { int sys_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); }
130 52 OBSOL phys
131 53 OBSOL lock
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); }
136 56 OBSOL mpx
137 57 NOARGS { int sys_setpgid(int pid, int pgid); }
138 58 OBSOL ulimit
139 59 STD { int linux32_sys_oldolduname( \
140 linux32_oldold_utsnamep_t up); }
141 60 NOARGS { int sys_umask(int newmask); }
142 61 NOARGS { int netbsd32_chroot(netbsd32_charp path); }
143 62 UNIMPL ustat
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); }
148 67 UNIMPL sigaction
149 68 UNIMPL siggetmask
150 69 UNIMPL sigsetmask
151 70 STD { int linux_sys_setreuid16(int ruid, int euid); }
152 71 STD { int linux_sys_setregid16(int rgid, int egid); }
153 72 UNIMPL sigsuspend
154 73 UNIMPL sigpending
155 74 NOARGS { int compat_43_netbsd32_osethostname(netbsd32_charp hostname, \
156 u_int len); }
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 STD { int linux32_sys_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 STD { int linux32_sys_readlink(const netbsd32_charp name, \
177 netbsd32_charp buf, int count); }
178 86 UNIMPL uselib
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 UNIMPL readdir
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_sys_ftruncate(int fd, long length); }
188 94 NOARGS { int sys_fchmod(int fd, int mode); }
189 95 STD { int linux32_sys_fchown16(int fd, int uid, int gid); }
190 96 STD { int linux32_sys_getpriority(int which, int who); }
191 97 STD { int linux32_sys_setpriority(int which, int who, int prio); }
192 98 UNIMPL profil
193 99 UNIMPL statfs
194 100 UNIMPL fstatfs
195 101 UNIMPL ioperm
196 102 STD { int linux32_sys_socketcall(int what, netbsd32_voidp args); }
197 103 UNIMPL syslog
198 104 NOARGS { int netbsd32_setitimer(u_int which, \
199 netbsd32_itimervalp_t itv, netbsd32_itimervalp_t oitv); }
200 105 NOARGS { int netbsd32_getitimer(u_int which, \
201 netbsd32_itimervalp_t itv); }
202 106 UNIMPL stat
203 107 UNIMPL lstat
204 108 UNIMPL fstat
205 109 UNIMPL olduname
206 110 UNIMPL iopl
207 111 UNIMPL vhangup
208 112 UNIMPL idle
209 113 UNIMPL vm86old
210 114 STD { int linux32_sys_wait4(int pid, netbsd32_intp status, \
211 int options, netbsd32_rusagep_t rusage); }
212 115 STD { int linux32_sys_swapoff(const netbsd32_charp path); }
213 116 STD { int linux32_sys_sysinfo(linux32_sysinfop_t arg); }
214 117 UNIMPL ipc
215 118 NOARGS { int sys_fsync(int fd); }
216 119 STD { int linux32_sys_sigreturn(linux32_sigcontextp_t scp); }
217 120 STD { int linux32_sys_clone(int flags, netbsd32_voidp stack); }
218 121 UNIMPL setdomainname
219 122 STD { int linux32_sys_uname(linux32_utsnamep up); }
220 123 UNIMPL modify_ldt
221 124 UNIMPL adjtimex
222 125 STD { int linux32_sys_mprotect(netbsd32_voidp addr, \
223 netbsd32_size_t len, int prot); }
224 126 UNIMPL sigprocmask
225 127 UNIMPL create_module
226 128 UNIMPL init_module
227 129 UNIMPL delete_module
228 130 UNIMPL get_kernel_syms
229 131 UNIMPL quotactl
230 132 UNIMPL getpgid
231 133 NOARGS { int sys_fchdir(int fd); }
232 134 UNIMPL bdflush
233 135 UNIMPL sysfs
234 136 UNIMPL personality
235 137 UNIMPL afs_syscall
236 138 NOARGS setfsuid16 { int linux_sys_setfsuid(uid_t uid); }
237 139 NOARGS getfsuid16 { int linux_sys_getfsuid(void); }
238 140 STD { int linux32_sys_llseek(int fd, u_int32_t ohigh, \
239 u_int32_t olow, netbsd32_caddr_t res, int whence); }
240 141 STD { int linux32_sys_getdents(int fd, \
241 linux32_direntp_t dent, unsigned int count); }
242 142 STD { int linux32_sys_select(int nfds, \
243 netbsd32_fd_setp_t readfds, \
244 netbsd32_fd_setp_t writefds, \
245 netbsd32_fd_setp_t exceptfds, \
246 netbsd32_timevalp_t timeout); }
247 143 NOARGS { int sys_flock(int fd, int how); }
248 144 UNIMPL msync
249 145 NOARGS { int netbsd32_readv(int fd, \
250 const netbsd32_iovecp_t iovp, u_int iovcnt); }
251 146 NOARGS { netbsd32_ssize_t netbsd32_writev(int fd, \
252 const netbsd32_iovecp_t iovp, int iovcnt); }
253 147 NOARGS { pid_t sys_getsid(pid_t pid); }
254 148 NOARGS { int linux_sys_fdatasync(int fd); }
255 149 STD { int linux32_sys___sysctl(linux32___sysctlp_t lsp); }
256 150 UNIMPL mlock
257 151 UNIMPL munlock
258 152 NOARGS { int sys_mlockall(int flags); }
259 153 NOARGS { int sys_munlockall(void); }
260 154 UNIMPL sched_setparam
261 155 STD { int linux32_sys_sched_getparam(pid_t pid, \
262 linux32_sched_paramp_t sp); }
263 156 STD { int linux32_sys_sched_setscheduler(pid_t pid, \
264 int policy, const linux32_sched_paramp_t sp); }
265 157 NOARGS { int linux_sys_sched_getscheduler(pid_t pid); }
266 158 NOARGS { int linux_sys_sched_yield(void); }
267 159 UNIMPL sched_get_priority_max
268 160 UNIMPL sched_get_priority_min
269 161 UNIMPL sched_rr_get_interval
270 162 NOARGS { int netbsd32_nanosleep(const \
271 netbsd32_timespecp_t rqtp \
272 netbsd32_timespecp_t rmtp); }
273 163 STD { int linux32_sys_mremap(netbsd32_voidp old_address, \
274 netbsd32_size_t old_size , netbsd32_size_t new_size, \
275 netbsd32_u_long flags); }
276 164 NOARGS { int linux_sys_setresuid16(uid_t ruid, uid_t euid, \
277 uid_t suid); }
278 165 UNIMPL getresuid16
279 166 UNIMPL vm86
280 167 UNIMPL query_module
281 168 NOARGS { int netbsd32_poll(netbsd32_pollfdp_t fds, u_int nfds, \
282 int timeout); }
283 169 UNIMPL nfsservctl
284 170 NOARGS { int linux_sys_setresgid16(gid_t rgid, gid_t egid, \
285 gid_t sgid); }
286 171 UNIMPL int
287 172 UNIMPL prctl
288 173 STD { int linux32_sys_rt_sigreturn(linux32_ucontextp_t ucp); }
289 174 STD { int linux32_sys_rt_sigaction(int signum, \
290 const linux32_sigactionp_t nsa, \
291 linux32_sigactionp_t osa, \
292 netbsd32_size_t sigsetsize); }
293 175 STD { int linux32_sys_rt_sigprocmask(int how, \
294 const linux32_sigsetp_t set, \
295 linux32_sigsetp_t oset, \
296 netbsd32_size_t sigsetsize); }
297 176 UNIMPL rt_sigpending
298 177 UNIMPL rt_sigtimedwait
299 178 UNIMPL rt_queueinfo
300 179 STD { int linux32_sys_rt_sigsuspend(linux32_sigsetp_t unewset, \
301 netbsd32_size_t sigsetsize); }
302 180 UNIMPL pread
303 181 UNIMPL pwrite
304 182 UNIMPL chown16
305 183 NOARGS { int netbsd32___getcwd(netbsd32_charp bufp, \
306 netbsd32_size_t length); }
307 184 UNIMPL capget
308 185 UNIMPL capset
309 186 UNIMPL sigaltstack
310 187 UNIMPL sendfile
311 188 UNIMPL getpmsg
312 189 UNIMPL putpmsg
313 190 NOARGS { int sys___vfork14(void); }
314 191 STD { int linux32_sys_ugetrlimit(int which, \
315 netbsd32_orlimitp_t rlp); }
316 192 STD { linux32_off_t linux32_sys_mmap2(netbsd32_u_long addr, \
317 netbsd32_size_t len, int prot, int flags, int fd, \
318 linux32_off_t offset); }
319 193 UNIMPL truncate64
320 194 UNIMPL ftruncate64
321 195 STD { int linux32_sys_stat64(const netbsd32_charp path, \
322 linux32_stat64p sp); }
323 196 STD { int linux32_sys_lstat64(const netbsd32_charp path, \
324 linux32_stat64p sp); }
325 197 STD { int linux32_sys_fstat64(int fd, \
326 linux32_stat64p sp); }
327 198 UNIMPL lchown
328 199 NOARGS { uid_t sys_getuid(void); }
329 200 NOARGS { gid_t sys_getgid(void); }
330 201 NOARGS { uid_t sys_geteuid(void); }
331 202 NOARGS { gid_t sys_getegid(void); }
332 203 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); }
333 204 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); }
334 205 NOARGS { int netbsd32_getgroups(int gidsetsize, \
335 netbsd32_gid_tp gidset); }
336 206 NOARGS { int netbsd32_setgroups(int gidsetsize, \
337 netbsd32_gid_tp gidset); }
338 207 NOARGS { int sys___posix_fchown(int fd, uid_t uid, gid_t gid); }
339 208 STD { int linux32_sys_setresuid(uid_t ruid, uid_t euid, \
340 uid_t suid); }
341 209 UNIMPL getresuid
342 210 STD { int linux32_sys_setresgid(gid_t rgid, gid_t egid, \
343 gid_t sgid); }
344 211 UNIMPL getresgid
345 212 UNIMPL chown
346 213 NOARGS { int sys_setuid(uid_t uid); }
347 214 NOARGS { int sys_setgid(gid_t gid); }
348 215 NOARGS { int linux_sys_setfsuid(uid_t uid); }
349 216 NOARGS { int linux_sys_getfsuid(void); }
350 217 UNIMPL pivot_root
351 218 UNIMPL mincore
352 219 NOARGS { int netbsd32_madvise(netbsd32_voidp addr, \
353 netbsd32_size_t len, int behav); }
354 220 STD { int linux32_sys_getdents64(int fd, \
355 linux32_dirent64p_t dent, unsigned int count); }
356 221 STD { int linux32_sys_fcntl64(int fd, \
357 int cmd, netbsd32_voidp arg); }
358 222 UNIMPL /* unused */
359 223 UNIMPL /* unused */
360 224 STD { pid_t linux_sys_gettid(void); }
361 225 UNIMPL readahead
362 226 UNIMPL setxattr
363 227 UNIMPL lsetxattr
364 228 UNIMPL fsetxattr
365 229 UNIMPL getxattr
366 230 UNIMPL lgetxattr
367 231 UNIMPL fgetxattr
368 232 UNIMPL listxattr
369 233 UNIMPL llistxattr
370 234 UNIMPL flistxattr
371 235 UNIMPL removexattr
372 236 UNIMPL lremovexattr
373 237 UNIMPL fremovexattr
374 238 UNIMPL tkill
375 239 UNIMPL sendfile64
376 240 UNIMPL futex
377 241 UNIMPL sched_setaffinity
378 242 UNIMPL sched_getaffinity
379 243 UNIMPL set_thread_area
380 244 UNIMPL get_thread_area
381 245 UNIMPL io_setup
382 246 UNIMPL io_destroy
383 247 UNIMPL io_getevents
384 248 UNIMPL io_submit
385 249 UNIMPL io_cancel
386 250 UNIMPL fadvise64
387 251 UNIMPL /* unused */
388 252 NOARGS { int linux_sys_exit_group(int error_code); }
389 253 UNIMPL lookup_dcookie
390 254 UNIMPL epoll_create
391 255 UNIMPL epoll_ctl
392 256 UNIMPL epoll_wait
393 257 UNIMPL remap_file_pages
394 258 UNIMPL set_tid_address
395 259 UNIMPL timer_create
396 260 UNIMPL timer_settime
397 261 UNIMPL timer_gettime
398 262 UNIMPL timer_getoverrun
399 263 UNIMPL timer_delete
400 264 UNIMPL clock_settime
401 265 UNIMPL clock_gettime
402 266 UNIMPL clock_getres
403 267 UNIMPL clock_nanosleep
404 268 UNIMPL statfs64
405 269 UNIMPL fstatfs64
406 270 UNIMPL tgkill
407 271 UNIMPL utimes
408 272 UNIMPL fadvise64_64
409 273 UNIMPL vserver
410 274 UNIMPL mbind
411 275 UNIMPL get_mempolicy
412 276 UNIMPL set_mempolicy
413 277 UNIMPL mq_open
414 278 UNIMPL mq_unlink
415 279 UNIMPL mq_timedsend
416 280 UNIMPL mq_timedreceive
417 281 UNIMPL mq_notify
418 282 UNIMPL mq_getsetattr
419 283 UNIMPL kexec_load
420