NetBSD/sys/compat/linux/arch/alpha/syscalls.master

590 lines
19 KiB
Plaintext
Raw Normal View History

$NetBSD: syscalls.master,v 1.22 2000/11/17 03:55:18 erh Exp $
;
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
; NetBSD alpha COMPAT_LINUX system call name/number "master" file.
; (See syscalls.conf to see what it is processed into.)
;
; Fields: number type [type-dependent ...]
; number system call number, must be in order
; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
; the compatibility options defined in syscalls.conf.
;
; types:
; STD always included
; OBSOL obsolete, not included in system
; UNIMPL unimplemented, not included in system
; NODEF included, but don't define the syscall number
; NOARGS included, but don't define the syscall args structure
; INDIR included, but don't define the syscall args structure
; and allow it to be "really" varargs.
;
; The compat options are defined in the syscalls.conf file, and the
; compat option name is prefixed to the syscall name. Other than
; that, they're like NODEF (for 'compat' options), or STD (for
; 'libcompat' options).
;
; The type-dependent arguments are as follows:
; For STD, NODEF, NOARGS, and compat syscalls:
; { pseudo-proto } [alias]
; For other syscalls:
; [comment]
;
; #ifdef's, etc. may be included, and are copied to the output files.
; #include's are copied to the syscall names and switch definition files only.
;
; (ERH: 3/18/00)
;
; XXX XAX things to do:
; make sure non-linux_foo() matches real linux syscalls.
; create new linux_foo functions otherwise
; (i.e. reboot, msgrcv? )
; make sure linux_foo() matches expected prototypes in .c files.
; kill not used functions. (ifdef the actual code)
; fix getfsuid in linux_misc.c
2000-03-19 02:53:24 +03:00
; make linux_sys_sigreturn in linux_machdep.c use frame.extramask
;
; NOT USED = This syscall is not really used in Linux, except in its
; osf compat mode. Since Linux binaries shouldn't ever
; call it and osf binaries run under a different emulation,
; it shouldn't matter that the linux version of the
; function might not DTRT. Define it anyway so we
; don't have to split off or ifdef the associated function.
; A bit better might be to have makesyscalls identify this
; as "define but don't include in table" so it doesn't actually
; ever get called.
; UNIMPL <blank> = not implemented here nor in linux source
; UNIMPL osf_* = osf functions implemented in linux, not here.
;
1998-10-20 02:21:19 +04:00
#include "opt_sysv.h"
1998-12-10 20:07:04 +03:00
#include "opt_compat_43.h"
#include "opt_compat_osf1.h"
1998-10-20 02:21:19 +04:00
#include <sys/param.h>
1999-03-30 11:29:05 +04:00
#include <sys/poll.h>
#include <sys/systm.h>
#include <sys/signal.h>
#include <sys/mount.h>
#include <sys/syscallargs.h>
1998-10-04 00:17:36 +04:00
#include <compat/linux/common/linux_types.h>
#include <compat/linux/common/linux_signal.h>
#include <compat/linux/common/linux_siginfo.h>
#include <compat/linux/common/linux_ipc.h>
#include <compat/linux/common/linux_msg.h>
#include <compat/linux/common/linux_sem.h>
#include <compat/linux/common/linux_shm.h>
1998-12-09 00:02:18 +03:00
#include <compat/linux/common/linux_mmap.h>
1998-10-04 00:17:36 +04:00
;#include <compat/linux/common/linux_machdep.h>
1998-10-04 00:17:36 +04:00
#include <compat/linux/linux_syscallargs.h>
0 NOARGS { int sys_nosys(void); } syscall
1 NOARGS { int sys_exit(int rval); }
2 NOARGS { int sys_fork(void); }
3 NOARGS { int sys_read(int fd, void *buf, size_t nbyte); }
4 NOARGS { int sys_write(int fd, const void *buf, size_t nbyte); }
5 UNIMPL
6 NOARGS { int sys_close(int fd); }
7 NODEF { int osf1_sys_wait4(int pid, int *status, \
int options, struct osf1_rusage *rusage); }
;8 ALIAS osf1_sys_old_creat, NOT USED
8 STD { int linux_sys_creat(const char *path, mode_t mode); }
9 NOARGS { int sys_link(const char *path, const char *link); }
10 STD { int linux_sys_unlink(const char *path); }
11 UNIMPL
12 STD { int linux_sys_chdir(const char *path); }
13 NOARGS { int sys_fchdir(int fd); }
14 STD { int linux_sys_mknod(const char *path, int mode, int dev); }
15 STD { int linux_sys_chmod(const char *path, int mode); }
16 STD { int linux_sys_chown(const char *path, int uid, int gid); }
;17 ALIAS osf1_sys_brk
17 STD { int linux_sys_brk(char *nsize); }
18 UNIMPL
19 NOARGS { long compat_43_sys_lseek(int fd, long offset, \
int whence); }
20 NOARGS { pid_t sys_getpid(void); }
21 NODEF { int osf1_sys_mount(int type, const char *path, \
int flags, caddr_t data); }
22 UNIMPL umount
23 NOARGS { int sys_setuid(uid_t uid); }
24 NOARGS { uid_t sys_getuid(void); }
25 UNIMPL
26 STD { int linux_sys_ptrace(long request, long pid, \
long addr, long data); }
27 UNIMPL
28 UNIMPL
29 UNIMPL
30 UNIMPL
31 UNIMPL
32 UNIMPL
33 STD { int linux_sys_access(const char *path, int flags); }
34 UNIMPL
35 UNIMPL
36 NOARGS { int sys_sync(void); }
37 STD { int linux_sys_kill(int pid, int signum); }
38 UNIMPL
39 NOARGS { int sys_setpgid(int pid, int pgid); }
40 UNIMPL
41 NOARGS { int sys_dup(int fd); }
42 NOARGS { int linux_sys_pipe(void); }
43 NODEF { int osf1_sys_set_program_attributes( \
caddr_t taddr, unsigned long tsize, \
caddr_t daddr, unsigned long dsize); }
44 UNIMPL
45 STD { int linux_sys_open(const char *path, int flags, int mode); }
46 UNIMPL
47 NOARGS { gid_t sys_getgid(void); }
; ALIAS osf1_sys_sigprocmask(int how, unsigned long mask);
; XXX <- copied from osf1/syscalls.master
48 NOARGS { int compat_13_sys_sigprocmask(int how, \
sigset13_t mask); }
49 UNIMPL
50 UNIMPL
51 NOARGS { int sys_acct(const char *path); }
52 STD { int linux_sys_sigpending(linux_old_sigset_t *set); }
53 UNIMPL
54 STD { int linux_sys_ioctl(int fd, u_long com, \
caddr_t data); }
55 UNIMPL
56 UNIMPL
57 STD { int linux_sys_symlink(const char *path, const char *to); }
58 STD { int linux_sys_readlink(const char *name, char *buf, \
int count); }
59 STD { int linux_sys_execve(const char *path, char **argp, \
char **envp); }
60 NOARGS { mode_t sys_umask(mode_t newmask); }
61 NOARGS { int sys_chroot(const char *path); }
62 UNIMPL
63 NOARGS { int sys_getpgrp(void); }
64 NOARGS { int compat_43_sys_getpagesize(void); }
65 UNIMPL
66 NOARGS { int sys___vfork14(void); }
67 STD { int linux_sys_stat(const char *path, \
struct linux_stat *sp); }
68 STD { int linux_sys_lstat(const char *path, \
struct linux_stat *sp); }
69 UNIMPL
70 UNIMPL
;71 ALIAS osf1_sys_mmap
71 NOARGS { int linux_sys_mmap(unsigned long addr, size_t len, \
int prot, int flags, int fd, off_t offset); }
72 UNIMPL
73 NOARGS { int sys_munmap(void *addr, size_t len); }
74 NOARGS { int sys_mprotect(void *addr, size_t len, int prot); }
; Liunx sys_madvise just returns 0.
75 UNIMPL madvise
76 UNIMPL vhangup
77 UNIMPL
78 UNIMPL
79 NOARGS { int sys_getgroups(int gidsetsize, gid_t *gidset); }
80 NOARGS { int sys_setgroups(int gidsetsize, const gid_t *gidset); }
81 UNIMPL
82 UNIMPL setpgrp
83 NODEF { int osf1_sys_setitimer(u_int which, \
struct osf1_itimerval *itv, \
struct osf1_itimerval *oitv); }
84 UNIMPL
85 UNIMPL
86 UNIMPL osf1_sys_getitimer
87 NOARGS { int compat_43_sys_gethostname(char *hostname, \
u_int len); }
88 NOARGS { int compat_43_sys_sethostname(char *hostname, \
u_int len); }
89 UNIMPL getdtablesize
90 NOARGS { int sys_dup2(int from, int to); }
91 STD { int linux_sys_fstat(int fd, struct linux_stat *sp); }
92 STD { int linux_sys_fcntl(int fd, int cmd, void *arg); }
93 NODEF { int osf1_sys_select(u_int nd, fd_set *in, \
fd_set *ou, fd_set *ex, struct osf1_timeval *tv); }
1999-03-30 11:29:05 +04:00
94 NOARGS { int sys_poll(struct pollfd *fds, u_int nfds, \
int timeout); }
95 NOARGS { int sys_fsync(int fd); }
96 NOARGS { int sys_setpriority(int which, int who, int prio); }
97 STD { int linux_sys_socket(int domain, int type, \
int protocol); }
98 STD { int linux_sys_connect(int s, \
const struct sockaddr *name, \
unsigned int namelen); }
99 NOARGS { int compat_43_sys_accept(int s, \
caddr_t name, int *anamelen); }
;100 ALIAS osf1_sys_getpriority
100 NOARGS { int sys_getpriority(int which, int who); }
101 NOARGS { int compat_43_sys_send(int s, caddr_t buf, int len, \
int flags); }
102 NOARGS { int compat_43_sys_recv(int s, caddr_t buf, int len, \
int flags); }
103 STD { int linux_sys_sigreturn(struct linux_sigframe *sfp); }
104 NOARGS { int sys_bind(int s, const struct sockaddr *name, \
unsigned int namelen); }
105 STD { int linux_sys_setsockopt(int s, int level, \
int optname, void *optval, int optlen); }
106 NOARGS { int sys_listen(int s, int backlog); }
107 UNIMPL
108 UNIMPL
109 UNIMPL
110 UNIMPL
111 STD { int linux_sys_sigsuspend(caddr_t restart, \
int oldmask, int mask); }
;112 ALIAS osf1_sys_sigstack
112 NOARGS { int compat_43_sys_sigstack(struct sigstack *nss, \
struct sigstack *oss); }
113 NOARGS { size_t sys_recvmsg(int fd, struct msghdr *msg, \
int flags); }
114 NOARGS { ssize_t sys_sendmsg(int fd, \
const struct msghdr *msg, int flags); }
115 UNIMPL
116 NODEF { int osf1_sys_gettimeofday(struct osf1_timeval *tv, \
struct osf1_timezone *tzp); }
117 NODEF { int osf1_sys_getrusage(int who, \
struct osf1_rusage *rusage); }
118 STD { int linux_sys_getsockopt(int s, int level, \
int optname, void *optval, int *optlen); }
119 UNIMPL
120 NOARGS { ssize_t sys_readv(int fd, const struct iovec *iovp, \
int iovcnt); }
121 NOARGS { ssize_t sys_writev(int fd, const struct iovec *iovp, \
int iovcnt); }
122 NODEF { int osf1_sys_settimeofday(struct osf1_timeval *tv, \
struct osf1_timezone *tzp); }
123 STD { int linux_sys_fchown(int fd, int uid, int gid); }
124 NOARGS { int sys_fchmod(int fd, mode_t mode); }
125 STD { int linux_sys_recvfrom(int s, void *buf, int len, \
int flags, struct sockaddr *from, \
int *fromlen); }
126 STD { int linux_sys_setreuid(int ruid, int euid); }
127 STD { int linux_sys_setregid(int rgid, int egid); }
128 STD { int linux_sys_rename(const char *from, const char *to); }
129 STD { int linux_sys_truncate(const char *path, long length); }
130 NOARGS { int compat_43_sys_ftruncate(int fd, long length); }
131 NOARGS { int sys_flock(int fd, int how); }
132 NOARGS { int sys_setgid(gid_t gid); }
133 STD { int linux_sys_sendto(int s, void *msg, int len, \
int flags, struct sockaddr *to, int tolen); }
134 NOARGS { int sys_shutdown(int s, int how); }
135 STD { int linux_sys_socketpair(int domain, int type, \
int protocol, int *rsv); }
136 STD { int linux_sys_mkdir(const char *path, int mode); }
137 STD { int linux_sys_rmdir(const char *path); }
138 NODEF { int osf1_sys_utimes(const char *path, \
const struct osf1_timeval *tptr); }
139 UNIMPL
140 UNIMPL
141 NOARGS { int compat_43_sys_getpeername(int fdes, \
caddr_t asa, int *alen); }
142 UNIMPL
143 UNIMPL
144 NOARGS { int compat_43_sys_getrlimit(int which, \
struct orlimit *rlp); }
145 NOARGS { int compat_43_sys_setrlimit(int which, \
const struct orlimit *rlp); }
146 UNIMPL
147 NOARGS { int sys_setsid(void); }
148 UNIMPL quotactl
149 UNIMPL
150 NOARGS { int compat_43_sys_getsockname(int fdec, \
caddr_t asa, int *alen); }
151 UNIMPL
152 UNIMPL
153 UNIMPL
154 UNIMPL
155 UNIMPL
;156 ALIAS osf1_sys_sigaction
156 STD { int linux_sys_sigaction(int signum, \
const struct linux_old_sigaction *nsa, \
struct linux_old_sigaction *osa); }
157 UNIMPL
158 UNIMPL
;159 ALIAS osf1_sys_getdirentries
159 NOARGS { int compat_43_sys_getdirentries(int fd, char *buf, \
u_int count, long *basep); }
160 NODEF { int osf1_sys_statfs(const char *path, \
struct osf1_statfs *buf, int len); }
161 NODEF { int osf1_sys_fstatfs(int fd, \
struct osf1_statfs *buf, int len); }
162 UNIMPL
163 UNIMPL
164 UNIMPL
;165 ALIAS osf1_sys_getdomainname
165 NOARGS { int compat_09_sys_getdomainname(char *domainname, \
int len); }
166 UNIMPL setdomainname
167 UNIMPL
168 UNIMPL
169 UNIMPL
170 UNIMPL
171 UNIMPL
172 UNIMPL
173 UNIMPL
174 UNIMPL
175 UNIMPL
176 UNIMPL
177 UNIMPL
178 UNIMPL
179 UNIMPL
180 UNIMPL
181 UNIMPL
182 UNIMPL
183 UNIMPL
184 UNIMPL
185 UNIMPL
186 UNIMPL
187 UNIMPL
188 UNIMPL
189 UNIMPL
190 UNIMPL
191 UNIMPL
192 UNIMPL
193 UNIMPL
194 UNIMPL
195 UNIMPL
196 UNIMPL
197 UNIMPL
198 UNIMPL
199 UNIMPL osf1_sys_swapon
#ifdef SYSVMSG
200 NOARGS { int linux_sys_msgctl(int msqid, int cmd, \
struct linux_msqid_ds *buf); }
201 NOARGS { int sys_msgget(key_t key, int msgflg); }
2000-03-19 02:53:24 +03:00
202 NOARGS { ssize_t sys_msgrcv(int msqid, void *msgp, \
size_t msgsz, long msgtyp, int msgflg); }
203 NOARGS { int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \
int msgflg); }
#else
200 UNIMPL msgctl
201 UNIMPL msgget
202 UNIMPL msgrcv
203 UNIMPL msgsnd
#endif
#ifdef SYSVSEM
204 NOARGS { int linux_sys_semctl(int semid, int semnum, \
int cmd, union linux_semun arg); }
205 NOARGS { int sys_semget(key_t key, int nsems, int semflg); }
206 NOARGS { int sys_semop(int semid, struct sembuf *sops, \
size_t nsops); }
#else
204 UNIMPL semctl
205 UNIMPL semget
206 UNIMPL semop
#endif
;207 ALIAS osf1_sys_utsname
207 STD { int linux_sys_olduname(struct linux_old_utsname *up); }
208 STD { int linux_sys_lchown(char *path, int uid, int gid); }
#ifdef SYSVSHM
209 NOARGS { int linux_sys_shmat(int shmid, void *shmaddr, \
int shmflg, u_long *raddr); }
210 NOARGS { int linux_sys_shmctl(int shmid, int cmd, \
struct linux_shmid_ds *buf); }
211 NOARGS { int sys_shmdt(const void *shmaddr); }
212 NOARGS { int sys_shmget(key_t key, size_t size, int shmflg); }
#else
209 UNIMPL shmat
210 UNIMPL shmctl
211 UNIMPL shmdt
212 UNIMPL shmget
#endif
213 UNIMPL
214 UNIMPL
215 UNIMPL
216 UNIMPL
217 STD { int linux_sys_msync(caddr_t addr, int len, int fl); }
218 UNIMPL
219 UNIMPL
220 UNIMPL
221 UNIMPL
222 UNIMPL
223 UNIMPL
224 UNIMPL
225 UNIMPL
226 UNIMPL
227 UNIMPL
228 UNIMPL
229 UNIMPL
230 UNIMPL
231 UNIMPL
232 UNIMPL
233 STD { int linux_sys_getpgid(int pid); }
234 NOARGS { pid_t sys_getsid(pid_t pid); }
235 UNIMPL sigaltstack
236 UNIMPL
237 UNIMPL
238 UNIMPL
239 UNIMPL
240 UNIMPL
241 NODEF { int osf1_sys_sysinfo(int cmd, char buf, long len); }
242 UNIMPL
243 UNIMPL
244 UNIMPL osf1_sys_proplist_syscall
245 UNIMPL
246 UNIMPL
247 UNIMPL
248 UNIMPL
249 UNIMPL
250 UNIMPL
251 NODEF { int osf1_sys_usleep_thread( \
struct osf1_timeval *sleep, \
struct osf1_timeval *slept); }
252 UNIMPL
253 UNIMPL
254 UNIMPL
255 UNIMPL sysfs
256 NODEF { int osf1_sys_getsysinfo(u_long op, caddr_t buffer, \
u_long nbytes, caddr_t arg, u_long flag); }
257 NODEF { int osf1_sys_setsysinfo(u_long op, caddr_t buffer, \
u_long nbytes, caddr_t arg, u_long flag); }
258 UNIMPL
259 UNIMPL
260 UNIMPL
; This entry doesn't exist in the Alpha linux syscall table but the function is
; implemented and used on other ports.
261 STD { int linux_sys_fdatasync(int fd); }
262 UNIMPL
263 UNIMPL
264 UNIMPL
265 UNIMPL
266 UNIMPL
267 UNIMPL
268 UNIMPL
269 UNIMPL
270 UNIMPL
271 UNIMPL
272 UNIMPL
273 UNIMPL
274 UNIMPL
275 UNIMPL
276 UNIMPL
277 UNIMPL
278 UNIMPL
279 UNIMPL
280 UNIMPL
281 UNIMPL
282 UNIMPL
283 UNIMPL
284 UNIMPL
285 UNIMPL
286 UNIMPL
287 UNIMPL
288 UNIMPL
289 UNIMPL
290 UNIMPL
291 UNIMPL
292 UNIMPL
293 UNIMPL
294 UNIMPL
295 UNIMPL
296 UNIMPL
297 UNIMPL
298 UNIMPL
299 UNIMPL
300 UNIMPL bdflush
301 UNIMPL sethae
302 UNIMPL mount
303 UNIMPL old_adjtimex
304 UNIMPL swapoff
305 STD { int linux_sys_getdents(int fd, \
struct linux_dirent *dent, unsigned int count); }
306 UNIMPL alpha_create_module
307 UNIMPL init_module
308 UNIMPL delete_module
309 UNIMPL get_kernel_syms
310 UNIMPL syslog
311 STD { int linux_sys_reboot(int magic1, int magic2, \
int cmd, void *arg); }
2000-03-20 03:50:14 +03:00
312 STD { int linux_sys_clone(int flags, void *stack); }
#ifdef EXEC_AOUT
313 STD { int linux_sys_uselib(char *path); }
#else
313 UNIMPL sys_uselib
#endif
314 NOARGS { int sys_mlock(const void *addr, size_t len); }
315 NOARGS { int sys_munlock(const void *addr, size_t len); }
316 NOARGS { int sys_mlockall(int flags); }
317 NOARGS { int sys_munlockall(void); }
318 UNIMPL sysinfo
319 STD { int linux_sys___sysctl(struct linux___sysctl *lsp); }
320 UNIMPL idle
321 UNIMPL oldumount
322 NOARGS { int compat_12_sys_swapon(const char *name); }
323 STD { int linux_sys_times(struct times *tms); }
324 STD { int linux_sys_personality(int per); }
325 STD { int linux_sys_setfsuid(uid_t uid); }
326 UNIMPL setfsgid
327 UNIMPL ustat
328 STD { int linux_sys_statfs(const char *path, \
struct linux_statfs *sp); }
329 STD { int linux_sys_fstatfs(int fd, \
struct linux_statfs *sp); }
330 STD { int linux_sys_sched_setparam(pid_t pid, \
const struct linux_sched_param *sp); }
331 STD { int linux_sys_sched_getparam(pid_t pid, \
struct linux_sched_param *sp); }
332 STD { int linux_sys_sched_setscheduler(pid_t pid, \
int policy, const struct linux_sched_param *sp); }
333 STD { int linux_sys_sched_getscheduler(pid_t pid); }
334 STD { int linux_sys_sched_yield(void); }
335 STD { int linux_sys_sched_get_priority_max(int policy); }
336 STD { int linux_sys_sched_get_priority_min(int policy); }
337 UNIMPL sched_rr_get_interval
338 UNIMPL afs_syscall
339 STD { int linux_sys_uname(struct linux_utsname *up); }
340 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \
struct timespec *rmtp); }
341 STD { void *linux_sys_mremap(void *old_address, \
size_t old_size, size_t new_size, u_long flags); }
342 UNIMPL nfsservctl
343 STD { int linux_sys_setresuid(uid_t ruid, uid_t euid, \
uid_t suid); }
344 STD { int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \
uid_t *suid); }
345 UNIMPL pciconfig_read
346 UNIMPL pciconfig_write
347 UNIMPL query_module
348 UNIMPL prctl
1999-12-06 00:25:36 +03:00
349 STD { int linux_sys_pread(int fd, char *buf, \
size_t nbyte, linux_off_t offset); }
350 STD { int linux_sys_pwrite(int fd, char *buf, \
size_t nbyte, linux_off_t offset); }
351 STD { int linux_sys_rt_sigreturn( \
struct linux_rt_sigframe *sfp); }
352 STD { int linux_sys_rt_sigaction(int signum, \
const struct linux_sigaction *nsa, \
struct linux_sigaction *osa, \
size_t sigsetsize); }
353 STD { int linux_sys_rt_sigprocmask(int how, \
const linux_sigset_t *set, \
linux_sigset_t *oset, \
size_t sigsetsize); }
354 STD { int linux_sys_rt_sigpending( \
linux_sigset_t *set, \
size_t sigsetsize); }
355 UNIMPL rt_sigtimedwait
; XXX XAX int here? sigset_t here?
356 STD { int linux_sys_rt_queueinfo(int pid, int signum, \
linux_siginfo_t *uinfo); }
357 STD { int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
size_t sigsetsize); }
358 STD { int linux_sys_select(int nfds, fd_set *readfds, \
fd_set *writefds, fd_set *exceptfds, \
struct timeval *timeout); }
359 NOARGS { int sys_gettimeofday(struct timeval *tp, \
struct timezone *tzp); }
360 NOARGS { int sys_settimeofday(const struct timeval *tp, \
const struct timezone *tzp); }
361 NOARGS { int sys_getitimer(int which, \
struct itimerval *itv); }
362 NOARGS { int sys_setitimer(int which, \
const struct itimerval *itv, \
struct itimerval *oitv); }
363 NOARGS { int sys_utimes(char *path, \
struct timeval *times); }
364 NOARGS { int sys_getrusage(int who, struct rusage *rusage); }
365 STD { int linux_sys_wait4(int pid, int *status, \
int options, struct rusage *rusage); }
366 UNIMPL adjtimex
367 NOARGS { int sys___getcwd(char *bufp, size_t length); }
368 UNIMPL capget
369 UNIMPL capset
370 UNIMPL sendfile