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