syscalls.master revision 1.6 1 $NetBSD: syscalls.master,v 1.6 2005/10/18 18:37:44 joerg Exp $
2
3 ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
4
5 ; NetBSD amd64 COMPAT_LINUX system call name/number "master" file.
6 ; (See syscalls.conf to see what it is processed into.)
7 ;
8 ; Fields: number type [type-dependent ...]
9 ; number system call number, must be in order
10 ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
11 ; the compatibility options defined in syscalls.conf.
12 ;
13 ; types:
14 ; STD always included
15 ; OBSOL obsolete, not included in system
16 ; UNIMPL unimplemented, not included in system
17 ; NODEF included, but don't define the syscall number
18 ; NOARGS included, but don't define the syscall args structure
19 ; INDIR included, but don't define the syscall args structure
20 ; and allow it to be "really" varargs.
21 ;
22 ; The compat options are defined in the syscalls.conf file, and the
23 ; compat option name is prefixed to the syscall name. Other than
24 ; that, they're like NODEF (for 'compat' options), or STD (for
25 ; 'libcompat' options).
26 ;
27 ; The type-dependent arguments are as follows:
28 ; For STD, NODEF, NOARGS, and compat syscalls:
29 ; { pseudo-proto } [alias]
30 ; For other syscalls:
31 ; [comment]
32 ;
33 ; #ifdef's, etc. may be included, and are copied to the output files.
34 ; #include's are copied to the syscall names and switch definition files only.
35
36 #if defined(_KERNEL_OPT)
37 #include "opt_compat_43.h"
38 #endif
39
40 #include <sys/param.h>
41 #include <sys/poll.h>
42 #include <sys/systm.h>
43 #include <sys/signal.h>
44 #include <sys/mount.h>
45 #include <sys/sa.h>
46 #include <sys/syscallargs.h>
47
48 #include <compat/linux/common/linux_types.h>
49 #include <compat/linux/common/linux_mmap.h>
50 #include <compat/linux/common/linux_signal.h>
51 #include <compat/linux/common/linux_siginfo.h>
52 #include <compat/linux/common/linux_machdep.h>
53
54 #include <compat/linux/linux_syscallargs.h>
55
56 %%
57
58 0 NOARGS { int sys_read(int fd, char *buf, u_int nbyte); }
59 1 NOARGS { int sys_write(int fd, char *buf, u_int nbyte); }
60 2 STD { int linux_sys_open(const char *path, int flags, \
61 int mode); }
62 3 NOARGS { int sys_close(int fd); }
63 4 STD { int linux_sys_stat64(const char *path, \
64 struct linux_stat *sp); }
65 5 STD { int linux_sys_fstat64(int fd, \
66 struct linux_stat *sp); }
67 6 STD { int linux_sys_lstat64(const char *path, \
68 struct linux_stat *sp); }
69 7 NOARGS { int sys_poll(struct pollfd *fds, u_int nfds, \
70 int timeout); }
71 8 NOARGS { long compat_43_sys_lseek(int fd, long offset, \
72 int whence); }
73 9 NOARGS { linux_off_t linux_sys_mmap(unsigned long addr, \
74 size_t len, int prot, int flags, int fd, \
75 linux_off_t offset); }
76 10 STD { int linux_sys_mprotect(const void *start, \
77 unsigned long len, int prot); }
78 11 NOARGS { int sys_munmap(caddr_t addr, int len); }
79 12 STD { int linux_sys_brk(char *nsize); }
80 13 STD { int linux_sys_rt_sigaction(int signum, \
81 const struct linux_sigaction *nsa, \
82 struct linux_sigaction *osa, \
83 size_t sigsetsize); }
84 14 STD { int linux_sys_rt_sigprocmask(int how, \
85 const linux_sigset_t *set, \
86 linux_sigset_t *oset, \
87 size_t sigsetsize); }
88 15 NOARGS { int linux_sys_rt_sigreturn(void); }
89 16 STD { int linux_sys_ioctl(int fd, u_long com, \
90 caddr_t data); }
91 17 STD { int linux_sys_pread(int fd, char *buf, \
92 size_t nbyte, linux_off_t offset); }
93 18 STD { int linux_sys_pwrite(int fd, char *buf, \
94 size_t nbyte, linux_off_t offset); }
95 19 NOARGS { int sys_readv(int fd, struct iovec *iovp, \
96 u_int iovcnt); }
97 20 NOARGS { int sys_writev(int fd, struct iovec *iovp, \
98 u_int iovcnt); }
99 21 STD { int linux_sys_access(const char *path, int flags); }
100 22 STD { int linux_sys_pipe(int *pfds); }
101 23 STD { int linux_sys_select(int nfds, fd_set *readfds, \
102 fd_set *writefds, fd_set *exceptfds, \
103 struct timeval *timeout); }
104 24 STD { int linux_sys_sched_yield(void); }
105 25 STD { void *linux_sys_mremap(void *old_address, \
106 size_t old_size, size_t new_size, u_long flags); }
107 26 STD { int linux_sys_msync(caddr_t addr, int len, int fl); }
108 27 NOARGS { int sys_mincore(void *addr, size_t len, char *vec); }
109 28 NOARGS { int sys_madvise(void *addr, size_t len, int behav); }
110 29 UNIMPL shmget
111 30 UNIMPL shmat
112 31 UNIMPL shmctl
113 32 NOARGS { int sys_dup(u_int fd); }
114 33 NOARGS { int sys_dup2(u_int from, u_int to); }
115 34 STD { int linux_sys_pause(void); }
116 35 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \
117 struct timespec *rmtp); }
118 36 NOARGS { int sys_getitimer(u_int which, \
119 struct itimerval *itv); }
120 37 STD { int linux_sys_alarm(unsigned int secs); }
121 38 NOARGS { int sys_setitimer(u_int which, \
122 struct itimerval *itv, struct itimerval *oitv); }
123 39 NOARGS MPSAFE { pid_t sys_getpid(void); }
124 40 UNIMPL sendfile
125 41 STD { int linux_sys_socket(int domain, \
126 int type, int protocol); }
127 42 STD { int linux_sys_connect(int s, \
128 const struct osockaddr *name, \
129 unsigned int namelen); }
130 43 STD { int linux_sys_accept(int s, struct osockaddr *name, \
131 int *anamelen); } oaccept
132 44 STD { ssize_t linux_sys_sendto(int s, void *msg, int len, \
133 int flags, struct osockaddr *to, int tolen); }
134 45 STD { ssize_t linux_sys_recvfrom(int s, void *buf, \
135 size_t len, int flags, struct osockaddr *from, \
136 unsigned int *fromlenaddr); }
137 46 STD { int linux_sys_sendmsg(int s, \
138 const struct msghdr *msg, int flags); }
139 47 STD { ssize_t linux_sys_recvmsg(int s, \
140 struct msghdr *msg, int flags); }
141 48 NOARGS { int sys_shutdown(int s, int how); }
142 49 STD { int linux_sys_bind(int s, \
143 const struct osockaddr *name, \
144 unsigned int namelen); }
145 50 NOARGS { int sys_listen(int s, int backlog); }
146 51 STD { int linux_sys_getsockname(int fdec, caddr_t asa, \
147 int *alen); }
148 52 STD { int linux_sys_getpeername(int fdes, \
149 struct sockaddr *asa, unsigned int *alen); }
150 53 STD { int linux_sys_socketpair(int domain, int type, \
151 int protocol, int *rsv); }
152 54 STD { int linux_sys_setsockopt(int s, int level, \
153 int optname, void *optval, int optlen); }
154 55 STD { int linux_sys_getsockopt(int s, int level, \
155 int optname, void *optval, int *optlen); }
156 56 STD { int linux_sys_clone(int flags, void *stack, \
157 void *parent_tidptr, void *child_tidptr); }
158 57 NOARGS { int sys_fork(void); }
159 58 NOARGS { int sys___vfork14(void); }
160 59 STD { int linux_sys_execve(const char *path, char **argp, \
161 char **envp); }
162 60 NOARGS { int sys_exit(int rval); }
163 61 STD { int linux_sys_wait4(int pid, int *status, \
164 int options, struct rusage *rusage); }
165 62 STD { int linux_sys_kill(int pid, int signum); }
166 63 STD { int linux_sys_uname(struct linux_utsname *up); }
167 64 UNIMPL semget
168 65 UNIMPL semop
169 66 UNIMPL semctl
170 67 UNIMPL shmdt
171 68 UNIMPL msgget
172 69 UNIMPL msgsnd
173 70 UNIMPL msgrcv
174 71 UNIMPL msgctl
175 72 STD { int linux_sys_fcntl(int fd, int cmd, void *arg); }
176 73 NOARGS { int sys_flock(int fd, int how); }
177 74 NOARGS { int sys_fsync(int fd); }
178 75 STD { int linux_sys_fdatasync(int fd); }
179 76 STD { int linux_sys_truncate64(const char *path, \
180 off_t length); }
181 77 STD { int linux_sys_ftruncate64(unsigned int fd, \
182 off_t length); }
183 78 STD { int linux_sys_getdents(int fd, \
184 struct linux_dirent *dent, unsigned int count); }
185 79 NOARGS { int sys___getcwd(char *bufp, size_t length); }
186 80 STD { int linux_sys_chdir(const char *path); }
187 81 NOARGS { int sys_fchdir(int fd); }
188 82 STD { int linux_sys_rename(const char *from, \
189 const char *to); }
190 83 STD { int linux_sys_mkdir(const char *path, int mode); }
191 84 STD { int linux_sys_rmdir(const char *path); }
192 85 STD { int linux_sys_creat(const char *path, int mode); }
193 86 STD { int linux_sys_link(const char *path, \
194 const char *link); }
195 87 STD { int linux_sys_unlink(const char *path); }
196 88 STD { int linux_sys_symlink(const char *path, \
197 const char *to); }
198 89 STD { int linux_sys_readlink(const char *name, char *buf, \
199 int count); }
200 90 STD { int linux_sys_chmod(const char *path, int mode); }
201 91 NOARGS { int sys_fchmod(int fd, int mode); }
202 92 STD { int linux_sys_chown(const char *path, uid_t uid, \
203 gid_t gid); }
204 93 NOARGS { int sys___posix_fchown(int fd, uid_t uid, \
205 gid_t gid); }
206 94 STD { int linux_sys_lchown(const char *path, uid_t uid, \
207 gid_t gid); }
208 95 NOARGS { int sys_umask(int newmask); }
209 96 STD { int linux_sys_gettimeofday(struct timeval *tp, \
210 struct timezone *tzp); }
211 97 STD { int linux_sys_getrlimit(int which, \
212 struct orlimit *rlp); }
213 98 NOARGS { int sys_getrusage(int who, struct rusage *rusage); }
214 99 STD { int linux_sys_sysinfo(struct linux_sysinfo *arg); }
215 100 STD { int linux_sys_times(struct times *tms); }
216 101 STD { int linux_sys_ptrace(long request, long pid, \
217 long addr, long data); }
218 102 NOARGS { uid_t sys_getuid(void); }
219 103 UNIMPL syslog
220 104 NOARGS { gid_t sys_getgid(void); }
221 105 NOARGS { void sys_setuid(uid_t uid); }
222 106 NOARGS { void sys_setgid(gid_t gid); }
223 107 NOARGS { uid_t sys_geteuid(void); }
224 108 NOARGS { gid_t sys_getegid(void); }
225 109 NOARGS { int sys_setpgid(int pid, int pgid); }
226 110 NOARGS { pid_t sys_getppid(void); }
227 111 NOARGS { int sys_getpgrp(void); }
228 112 NOARGS { int sys_setsid(void); }
229 113 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); }
230 114 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); }
231 115 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
232 116 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
233 117 STD { int linux_sys_setresuid(uid_t ruid, uid_t euid, \
234 uid_t suid); }
235 118 STD { int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \
236 uid_t *suid); }
237 119 STD { int linux_sys_setresgid(gid_t rgid, gid_t egid, \
238 gid_t sgid); }
239 120 STD { int linux_sys_getresgid(gid_t *rgid, gid_t *egid, \
240 gid_t *sgid); }
241 121 STD { int linux_sys_getpgid(int pid); }
242 122 STD { int linux_sys_setfsuid(uid_t uid); }
243 123 STD { int linux_sys_getfsuid(void); }
244 124 NOARGS { pid_t sys_getsid(pid_t pid); }
245 125 UNIMPL capget
246 126 UNIMPL capset
247 127 STD { int linux_sys_rt_sigpending( \
248 linux_sigset_t *set, \
249 size_t sigsetsize); }
250 128 UNIMPL rt_sigtimedwait
251 129 STD { int linux_sys_rt_queueinfo(int pid, int signum, \
252 siginfo_t *uinfo); }
253 130 STD { int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
254 size_t sigsetsize); }
255 131 STD { int linux_sys_sigaltstack( \
256 const struct linux_sigaltstack *ss, \
257 struct linux_sigaltstack *oss); }
258 132 STD { int linux_sys_utime(const char *path, \
259 struct linux_utimbuf *times); }
260 133 STD { int linux_sys_mknod(const char *path, int mode, \
261 int dev); }
262 #ifdef EXEC_AOUT
263 134 STD { int linux_sys_uselib(const char *path); }
264 #else
265 134 UNIMPL sys_uselib
266 #endif
267 135 STD { int linux_sys_personality(int per); }
268 136 UNIMPL ustat
269 137 STD { int linux_sys_statfs64(const char *path, \
270 size_t sz, struct linux_statfs64 *sp); }
271 138 STD { int linux_sys_fstatfs64(int fd, \
272 size_t sz, struct linux_statfs64 *sp); }
273 139 UNIMPL sysfs
274 140 NOARGS { int sys_getpriority(int which, int who); }
275 141 NOARGS { int sys_setpriority(int which, int who, int prio); }
276 142 STD { int linux_sys_sched_setparam(pid_t pid, \
277 const struct linux_sched_param *sp); }
278 143 STD { int linux_sys_sched_getparam(pid_t pid, \
279 struct linux_sched_param *sp); }
280 144 STD { int linux_sys_sched_setscheduler(pid_t pid, \
281 int policy, const struct linux_sched_param *sp); }
282 145 STD { int linux_sys_sched_getscheduler(pid_t pid); }
283 146 STD { int linux_sys_sched_get_priority_max(int policy); }
284 147 STD { int linux_sys_sched_get_priority_min(int policy); }
285 148 UNIMPL sys_sched_rr_get_interval
286 149 NOARGS { int sys_mlock(caddr_t addr, size_t len); }
287 150 NOARGS { int sys_munlock(caddr_t addr, size_t len); }
288 151 NOARGS { int sys_mlockall(int flags); }
289 152 NOARGS { int sys_munlockall(void); }
290 153 UNIMPL vhangup
291 154 STD { int linux_sys_modify_ldt(int func, void *ptr, \
292 size_t bytecount); }
293 155 UNIMPL pivot_root
294 156 STD { int linux_sys___sysctl(struct linux___sysctl *lsp); }
295 157 UNIMPL prctl
296 158 STD { int linux_sys_arch_prctl(int code, \
297 unsigned long addr); }
298 159 UNIMPL adjtimex
299 160 STD { int linux_sys_setrlimit(u_int which, \
300 struct orlimit *rlp); }
301 161 NOARGS { int sys_chroot(char *path); }
302 162 NOARGS { int sys_sync(void); }
303 163 NOARGS { int sys_acct(char *path); }
304 164 STD { int linux_sys_settimeofday(struct timeval *tp, \
305 struct timezone *tzp); }
306 165 UNIMPL mount
307 166 UNIMPL umount2
308 167 STD { int linux_sys_swapon(char *name); }
309 168 STD { int linux_sys_swapoff(const char *path); }
310 169 STD { int linux_sys_reboot(int magic1, int magic2, \
311 int cmd, void *arg); }
312 170 NOARGS { int compat_43_sys_sethostname(char *hostname, \
313 u_int len);}
314 171 STD { int linux_sys_setdomainname(char *domainname, \
315 int len); }
316 172 STD { int linux_sys_iopl(int level); }
317 173 STD { int linux_sys_ioperm(unsigned int lo, \
318 unsigned int hi, int val); }
319 174 UNIMPL create_module
320 175 UNIMPL init_module
321 176 UNIMPL delete_module
322 177 UNIMPL get_kernel_syms
323 178 UNIMPL query_module
324 179 UNIMPL quotactl
325 180 UNIMPL nfsservctl
326 181 UNIMPL getpmsg
327 182 UNIMPL putpmsg
328 183 UNIMPL afs_syscall
329 184 UNIMPL tuxcall
330 185 UNIMPL security
331 186 UNIMPL gettid
332 187 UNIMPL readahead
333 188 STD { int linux_sys_setxattr(char *path, char *name, \
334 void *value, size_t size, int flags); }
335 189 STD { int linux_sys_lsetxattr(char *path, char *name, \
336 void *value, size_t size, int flags); }
337 190 STD { int linux_sys_fsetxattr(int fd, char *name, \
338 void *value, size_t size, int flags); }
339 191 STD { ssize_t linux_sys_getxattr(char *path, char *name, \
340 void *value, size_t size); }
341 192 STD { ssize_t linux_sys_lgetxattr(char *path, char *name, \
342 void *value, size_t size); }
343 193 STD { ssize_t linux_sys_fgetxattr(int fd, char *name, \
344 void *value, size_t size); }
345 194 STD { ssize_t linux_sys_listxattr(char *path, char *list, \
346 size_t size); }
347 195 STD { ssize_t linux_sys_llistxattr(char *path, char *list, \
348 size_t size); }
349 196 STD { ssize_t linux_sys_flistxattr(int fd, char *list, \
350 size_t size); }
351 197 STD { int linux_sys_removexattr(char *path, char *name); }
352 198 STD { int linux_sys_lremovexattr(char *path, char *name); }
353 199 STD { int linux_sys_fremovexattr(int fd, char *name); }
354 200 UNIMPL tkill
355 201 STD { int linux_sys_time(linux_time_t *t); }
356 202 UNIMPL futex
357 203 UNIMPL sched_setaffinity
358 204 UNIMPL sched_getaffinity
359 205 UNIMPL set_thread_area
360 206 UNIMPL io_setup
361 207 UNIMPL io_destroy
362 208 UNIMPL io_getevents
363 209 UNIMPL io_submit
364 210 UNIMPL io_cancel
365 211 UNIMPL get_thread_area
366 212 UNIMPL lookup_dcookie
367 213 UNIMPL epoll_create
368 214 UNIMPL epoll_ctl_old
369 215 UNIMPL epoll_wait_old
370 216 UNIMPL remap_file_pages
371 217 STD { int linux_sys_getdents64(int fd, \
372 struct linux_dirent64 *dent, unsigned int count); }
373 218 STD { int linux_sys_set_tid_address(int *tid); }
374 219 UNIMPL restart_syscall
375 220 UNIMPL semtimedop
376 221 UNIMPL fadvise64
377 222 UNIMPL timer_create
378 223 UNIMPL timer_settime
379 224 UNIMPL timer_gettime
380 225 UNIMPL timer_getoverrun
381 226 UNIMPL timer_delete
382 227 STD { int linux_sys_clock_settime(clockid_t which, \
383 struct linux_timespec *tp); }
384 228 STD { int linux_sys_clock_gettime(clockid_t which, \
385 struct linux_timespec *tp); }
386 229 STD { int linux_sys_clock_getres(clockid_t which, \
387 struct linux_timespec *tp); }
388 230 STD { int linux_sys_clock_nanosleep(clockid_t which, \
389 int flags, struct linux_timespec *rqtp, \
390 struct linux_timespec *rmtp); }
391 231 STD { int linux_sys_exit_group(int error_code); }
392 232 UNIMPL epoll_wait
393 233 UNIMPL epoll_ctl
394 234 UNIMPL tgkill
395 235 UNIMPL utimes
396 236 UNIMPL vserver
397 ; Not really syscall 237, but we need it to be defined somewhere
398 237 STD { int linux_sys_nosys(void); }
399