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