syscalls.master revision 1.1 1 $NetBSD: syscalls.master,v 1.1 2001/09/22 21:14:37 manu Exp $
2
3 ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
4
5 ; Derived from NetBSD's sys/compat/linux/arch/powerpc/syscalls.master
6 ; from Linux's arch/mips/kernel/syscalls.h
7
8 ; NetBSD mips COMPAT_LINUX system call name/number "master" file.
9 ; (See syscalls.conf to see what it is processed into.)
10 ;
11 ; Expect problems with
12 ; 48 signal: undefined in Linux???
13 ; 86 uselib: needs a.out
14 ;
15 ; Fields: number type [type-dependent ...]
16 ; number system call number, must be in order
17 ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
18 ; the compatibility options defined in syscalls.conf.
19 ;
20 ; types:
21 ; STD always included
22 ; OBSOL obsolete, not included in system
23 ; UNIMPL unimplemented, not included in system
24 ; NODEF included, but don't define the syscall number
25 ; NOARGS included, but don't define the syscall args structure
26 ; INDIR included, but don't define the syscall args structure
27 ; and allow it to be "really" varargs.
28 ;
29 ; The compat options are defined in the syscalls.conf file, and the
30 ; compat option name is prefixed to the syscall name. Other than
31 ; that, they're like NODEF (for 'compat' options), or STD (for
32 ; 'libcompat' options).
33 ;
34 ; The type-dependent arguments are as follows:
35 ; For STD, NODEF, NOARGS, and compat syscalls:
36 ; { pseudo-proto } [alias]
37 ; For other syscalls:
38 ; [comment]
39 ;
40 ; #ifdef's, etc. may be included, and are copied to the output files.
41 ; #include's are copied to the syscall names and switch definition files only.
42
43 #if defined(_KERNEL_OPT)
44 #include "opt_compat_netbsd.h"
45 #include "opt_compat_43.h"
46 #endif
47
48 #include <sys/param.h>
49 #include <sys/poll.h>
50 #include <sys/systm.h>
51 #include <sys/signal.h>
52 #include <sys/mount.h>
53 #include <sys/syscallargs.h>
54
55 #include <compat/linux/common/linux_types.h>
56 #include <compat/linux/common/linux_signal.h>
57 #include <compat/linux/common/linux_siginfo.h>
58 #include <compat/linux/common/linux_machdep.h>
59 #include <compat/linux/common/linux_mmap.h>
60
61 #include <compat/linux/linux_syscallargs.h>
62
63 0 NOARGS { int linux_sys_nosys(void); } syscall
64 1 NOARGS { int sys_exit(int rval); }
65 2 NOARGS { int sys_fork(void); }
66 3 NOARGS { int sys_read(int fd, char *buf, u_int nbyte); }
67 4 NOARGS { int sys_write(int fd, char *buf, u_int nbyte); }
68 5 STD { int linux_sys_open(const char *path, int flags, \
69 int mode); }
70 6 NOARGS { int sys_close(int fd); }
71 7 STD { int linux_sys_waitpid(int pid, int *status, \
72 int options);}
73 8 STD { int linux_sys_creat(const char *path, int mode); }
74 9 STD { int linux_sys_link(const char *path, \
75 const char *link); }
76 10 STD { int linux_sys_unlink(const char *path); }
77 11 STD { int linux_sys_execve(const char *path, char **argp, \
78 char **envp); }
79 12 STD { int linux_sys_chdir(const char *path); }
80 13 STD { int linux_sys_time(linux_time_t *t); }
81 14 STD { int linux_sys_mknod(const char *path, int mode, \
82 int dev); }
83 15 STD { int linux_sys_chmod(const char *path, int mode); }
84 16 STD { int linux_sys_lchown(const char *path, int uid, \
85 int gid); }
86 17 UNIMPL
87 18 OBSOL ostat
88 19 NOARGS { long compat_43_sys_lseek(int fd, long offset, \
89 int whence); }
90 20 NOARGS MPSAFE { pid_t sys_getpid(void); }
91 21 UNIMPL mount
92 22 OBSOL umount
93 23 NOARGS { int sys_setuid(uid_t uid); }
94 24 NOARGS { uid_t sys_getuid(void); }
95 25 STD { int linux_sys_stime(linux_time_t *t); }
96 26 STD { int linux_sys_ptrace(int request, int pid, \
97 int addr, int data); }
98 27 STD { int linux_sys_alarm(unsigned int secs); }
99 28 OBSOL ofstat
100 29 STD { int linux_sys_pause(void); }
101 30 STD { int linux_sys_utime(const char *path, \
102 struct linux_utimbuf *times); }
103 31 UNIMPL
104 32 UNIMPL
105 33 STD { int linux_sys_access(const char *path, int flags); }
106 34 STD { int linux_sys_nice(int incr); }
107 35 UNIMPL
108 36 NOARGS { int sys_sync(void); }
109 37 STD { int linux_sys_kill(int pid, int signum); }
110 38 STD { int linux_sys_rename(const char *from, \
111 const char *to); }
112 39 STD { int linux_sys_mkdir(const char *path, int mode); }
113 40 STD { int linux_sys_rmdir(const char *path); }
114 41 NOARGS { int sys_dup(u_int fd); }
115 42 STD { int linux_sys_pipe(int *pfds); }
116 43 STD { int linux_sys_times(struct times *tms); }
117 44 UNIMPL
118 45 STD { int linux_sys_brk(char *nsize); }
119 46 NOARGS { int sys_setgid(gid_t gid); }
120 47 NOARGS { gid_t sys_getgid(void); }
121 48 STD { int linux_sys_signal(int signum, \
122 linux___sighandler_t handler); }
123 49 NOARGS { uid_t sys_geteuid(void); }
124 50 NOARGS { gid_t sys_getegid(void); }
125 51 NOARGS { int sys_acct(char *path); }
126 52 UNIMPL umount
127 53 UNIMPL
128 54 STD { int linux_sys_ioctl(int fd, u_long com, \
129 caddr_t data); }
130 55 STD { int linux_sys_fcntl(int fd, int cmd, void *arg); }
131 56 OBSOL mpx
132 57 NOARGS { int sys_setpgid(int pid, int pgid); }
133 58 UNIMPL
134 59 STD { int linux_sys_olduname(struct linux_old_utsname \
135 *up); }
136 60 NOARGS { int sys_umask(int newmask); }
137 61 NOARGS { int sys_chroot(char *path); }
138 62 UNIMPL ustat
139 63 NOARGS { int sys_dup2(u_int from, u_int to); }
140 64 NOARGS { pid_t sys_getppid(void); }
141 65 NOARGS { int sys_getpgrp(void); }
142 66 NOARGS { int sys_setsid(void); }
143 67 STD { int linux_sys_sigaction(int signum, \
144 const struct linux_old_sigaction *nsa, \
145 struct linux_old_sigaction *osa); }
146 68 STD { int linux_sys_siggetmask(void); }
147 69 STD { int linux_sys_sigsetmask(linux_old_sigset_t mask); }
148 70 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); }
149 71 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); }
150 72 STD { int linux_sys_sigsuspend(caddr_t restart, \
151 int oldmask, int mask); }
152 73 STD { int linux_sys_sigpending(linux_old_sigset_t *set); }
153 74 NOARGS { int compat_43_sys_sethostname(char *hostname, \
154 u_int len);}
155 75 NOARGS { int compat_43_sys_setrlimit(u_int which, \
156 struct orlimit *rlp); }
157 76 NOARGS { int compat_43_sys_getrlimit(u_int which, \
158 struct orlimit *rlp); }
159 77 NOARGS { int sys_getrusage(int who, struct rusage *rusage); }
160 78 STD { int linux_sys_gettimeofday(struct timeval *tp, \
161 struct timezone *tzp); }
162 79 STD { int linux_sys_settimeofday(struct timeval *tp, \
163 struct timezone *tzp); }
164 80 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
165 81 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
166 82 UNIMPL old_select
167 83 STD { int linux_sys_symlink(const char *path, \
168 const char *to); }
169 84 NOARGS { int compat_43_sys_lstat(const char *path, \
170 struct stat43 *up); } oolstat
171 85 STD { int linux_sys_readlink(const char *name, char *buf, \
172 int count); }
173 86 UNIMPL uselib
174 ;86 STD { int linux_sys_uselib(const char *path); }
175 87 STD { int linux_sys_swapon(char *name); }
176 88 STD { int linux_sys_reboot(int magic1, int magic2, \
177 int cmd, void *arg); }
178 89 STD { int linux_sys_readdir(int fd, caddr_t dent, \
179 unsigned int count); }
180 90 NOARGS { int linux_sys_mmap(unsigned long addr, size_t len, \
181 int prot, int flags, int fd, linux_off_t offset); }
182 91 NOARGS { int sys_munmap(caddr_t addr, int len); }
183 92 STD { int linux_sys_truncate(const char *path, \
184 long length); }
185 93 NOARGS { int compat_43_sys_ftruncate(int fd, long length); }
186 94 NOARGS { int sys_fchmod(int fd, int mode); }
187 95 NOARGS { int sys___posix_fchown(int fd, int uid, int gid); }
188 96 NOARGS { int sys_getpriority(int which, int who); }
189 97 NOARGS { int sys_setpriority(int which, int who, int prio); }
190 98 UNIMPL
191 99 STD { int linux_sys_statfs(const char *path, \
192 struct linux_statfs *sp); }
193 100 STD { int linux_sys_fstatfs(int fd, \
194 struct linux_statfs *sp); }
195 101 STD { int linux_sys_ioperm(unsigned int lo, \
196 unsigned int hi, int val); }
197 102 STD { int linux_sys_socketcall(int what, void *args); }
198 103 UNIMPL syslog
199 104 NOARGS { int sys_setitimer(u_int which, \
200 struct itimerval *itv, struct itimerval *oitv); }
201 105 NOARGS { int sys_getitimer(u_int which, \
202 struct itimerval *itv); }
203 106 STD { int linux_sys_stat(const char *path, \
204 struct linux_stat *sp); }
205 107 STD { int linux_sys_lstat(const char *path, \
206 struct linux_stat *sp); }
207 108 STD { int linux_sys_fstat(int fd, struct linux_stat *sp); }
208 109 STD { int linux_sys_uname(struct linux_utsname *up); }
209 110 UNIMPL iopl
210 111 UNIMPL vhangup
211 112 UNIMPL idle
212 113 UNIMPL vm86old
213 114 STD { int linux_sys_wait4(int pid, int *status, \
214 int options, struct rusage *rusage); }
215 115 STD { int linux_sys_swapoff(const char *path); }
216 116 STD { int linux_sys_sysinfo(struct linux_sysinfo *arg); }
217 117 STD { int linux_sys_ipc(int what, int a1, int a2, int a3, \
218 caddr_t ptr); }
219 118 NOARGS { int sys_fsync(int fd); }
220 119 STD { int linux_sys_sigreturn(struct linux_pt_regs regs); }
221 120 STD { int linux_sys_clone(int flags, void *stack); }
222 121 STD { int linux_sys_setdomainname(char *domainname, \
223 int len); }
224 122 STD { int linux_sys_new_uname(struct linux_utsname *up); }
225 123 UNIMPL modify_ldt
226 124 UNIMPL adjtimex
227 125 NOARGS { int sys_mprotect(caddr_t addr, int len, int prot); }
228 126 STD { int linux_sys_sigprocmask(int how, \
229 const linux_old_sigset_t *set, \
230 linux_old_sigset_t *oset); }
231 127 UNIMPL create_module
232 128 UNIMPL init_module
233 129 UNIMPL delete_module
234 130 UNIMPL get_kernel_syms
235 131 UNIMPL quotactl
236 132 STD { int linux_sys_getpgid(int pid); }
237 133 NOARGS { int sys_fchdir(int fd); }
238 134 UNIMPL bdflush
239 135 UNIMPL sysfs
240 136 STD { int linux_sys_personality(int per); }
241 137 UNIMPL afs_syscall
242 138 STD { int linux_sys_setfsuid(uid_t uid); }
243 139 NOARGS { int linux_sys_getfsuid(void); }
244 140 STD { int linux_sys_llseek(int fd, u_int32_t ohigh, \
245 u_int32_t olow, caddr_t res, int whence); }
246 141 STD { int linux_sys_getdents(int fd, \
247 struct linux_dirent *dent, unsigned int count); }
248 142 STD { int linux_sys_select(int nfds, fd_set *readfds, \
249 fd_set *writefds, fd_set *exceptfds, \
250 struct timeval *timeout); }
251 143 NOARGS { int sys_flock(int fd, int how); }
252 144 STD { int linux_sys_msync(caddr_t addr, int len, int fl); }
253 145 NOARGS { int sys_readv(int fd, struct iovec *iovp, \
254 u_int iovcnt); }
255 146 NOARGS { int sys_writev(int fd, struct iovec *iovp, \
256 u_int iovcnt); }
257 147 STD { int linux_sys_cacheflush(void *addr, \
258 int bytes, int cache); }
259 148 UNIMPL cachectl
260 149 UNIMPL sysmips
261 150 UNIMPL
262 151 NOARGS { pid_t sys_getsid(pid_t pid); }
263 152 STD { int linux_sys_fdatasync(int fd); }
264 153 STD { int linux_sys___sysctl(struct linux___sysctl *lsp); }
265 154 NOARGS { int sys_mlock(caddr_t addr, size_t len); }
266 155 NOARGS { int sys_munlock(caddr_t addr, size_t len); }
267 156 NOARGS { int sys_mlockall(int flags); }
268 157 NOARGS { int sys_munlockall(void); }
269 158 STD { int linux_sys_sched_setparam(pid_t pid, \
270 const struct linux_sched_param *sp); }
271 159 STD { int linux_sys_sched_getparam(pid_t pid, \
272 struct linux_sched_param *sp); }
273 160 STD { int linux_sys_sched_setscheduler(pid_t pid, \
274 int policy, const struct linux_sched_param *sp); }
275 161 STD { int linux_sys_sched_getscheduler(pid_t pid); }
276 162 STD { int linux_sys_sched_yield(void); }
277 163 STD { int linux_sys_sched_get_priority_max(int policy); }
278 164 STD { int linux_sys_sched_get_priority_min(int policy); }
279 165 UNIMPL sched_rr_get_interval
280 166 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \
281 struct timespec *rmtp); }
282 167 STD { void *linux_sys_mremap(void *old_address, \
283 size_t old_size, size_t new_size, u_long flags); }
284 168 UNIMPL accept
285 169 UNIMPL bind
286 170 UNIMPL connect
287 171 UNIMPL getpeername
288 172 UNIMPL getsockname
289 173 UNIMPL getsockopt
290 174 UNIMPL listen
291 175 UNIMPL recv
292 176 UNIMPL recvfrom
293 177 UNIMPL recvmsg
294 178 UNIMPL send
295 179 UNIMPL sendmsg
296 180 UNIMPL sendto
297 181 UNIMPL setsockopt
298 182 UNIMPL shudown
299 183 UNIMPL socket
300 184 UNIMPL socketpair
301 185 STD { int linux_sys_setresuid(uid_t ruid, uid_t euid, \
302 uid_t suid); }
303 186 STD { int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \
304 uid_t *suid); }
305 187 UNIMPL query_module
306 188 NOARGS { int sys_poll(struct pollfd *fds, u_int nfds, \
307 int timeout); }
308 189 UNIMPL nfsservctl
309 190 STD { int linux_sys_setresgid(gid_t rgid, gid_t egid, \
310 gid_t sgid); }
311 191 STD { int linux_sys_getresgid(gid_t *rgid, gid_t *egid, \
312 gid_t *sgid); }
313 192 UNIMPL prctl
314 193 STD { int linux_sys_rt_sigreturn( \
315 struct linux_pt_regs regs); }
316 194 STD { int linux_sys_rt_sigaction(int signum, \
317 const struct linux_sigaction *nsa, \
318 struct linux_sigaction *osa, \
319 size_t sigsetsize); }
320 195 STD { int linux_sys_rt_sigprocmask(int how, \
321 const linux_sigset_t *set, \
322 linux_sigset_t *oset, \
323 size_t sigsetsize); }
324 196 STD { int linux_sys_rt_sigpending( \
325 linux_sigset_t *set, \
326 size_t sigsetsize); }
327 197 UNIMPL rt_sigtimedwait
328 ; XXX XAX int here? sigset_t here? siginfo_t
329 198 STD { int linux_sys_rt_queueinfo(int pid, int signum, \
330 void *uinfo); }
331 199 STD { int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
332 size_t sigsetsize); }
333 200 STD { int linux_sys_pread(int fd, char *buf, \
334 size_t nbyte, linux_off_t offset); }
335 201 STD { int linux_sys_pwrite(int fd, char *buf, \
336 size_t nbyte, linux_off_t offset); }
337 202 STD { int linux_sys_chown(const char *path, \
338 int uid, int gid); }
339 203 NOARGS { int sys___getcwd(char *bufp, size_t length); }
340 204 UNIMPL capget
341 205 UNIMPL capset
342 206 STD { int linux_sys_sigaltstack( \
343 const struct linux_sigaltstack *ss, \
344 struct linux_sigaltstack *oss); }
345 207 UNIMPL sendfile
346 208 UNIMPL
347 209 UNIMPL
348 210 UNIMPL mmap2
349 211 UNIMPL truncate64
350 212 UNIMPL ftruncate64
351 213 UNIMPL stat64
352 214 UNIMPL lstat64
353 215 UNIMPL fstat64
354 216 UNIMPL pivot_root
355 217 UNIMPL mincore
356 218 UNIMPL modvise
357 219 UNIMPL getdents64
358