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

567 lines
17 KiB
Plaintext

$NetBSD: syscalls.master,v 1.19 2000/03/20 00:50:14 erh Exp $
;
; XXX XAX lib/libc/sys/reboot.2 needs updating
;
; @(#)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
; 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.
;
#include "opt_sysv.h"
#include "opt_compat_43.h"
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/systm.h>
#include <sys/signal.h>
#include <sys/mount.h>
#include <sys/syscallargs.h>
#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>
#include <compat/linux/common/linux_mmap.h>
;#include <compat/linux/common/linux_machdep.h>
#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 UNIMPL osf_wait4
;8 OBSOL osf_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 osf_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 UNIMPL osf_mount
22 UNIMPL osf_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 UNIMPL osf_set_program_attributes
44 UNIMPL
45 STD { int linux_sys_open(const char *path, int flags, int mode); }
46 UNIMPL
47 NOARGS { gid_t sys_getgid(void); }
48 UNIMPL osf_sigprocmask
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 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); }
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: Uses int for seconds, and time_t. so need different itimerval struct.
83 UNIMPL osf_setitimer
84 UNIMPL
85 UNIMPL
;86: Uses int for seconds, and time_t. so need different itimerval struct.
86 UNIMPL osf_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 UNIMPL osf_select
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 osf_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 UNIMPL
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 UNIMPL osf_gettimeofday
117 UNIMPL osf_getrusage
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, struct iovec *iovp, \
int iovcnt); }
122 UNIMPL osf_settimeofday
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 UNIMPL osf_utimes
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 osf_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 UNIMPL osf_getdirentries
160 UNIMPL osf_statfs
161 UNIMPL osf_fstatfs
162 UNIMPL
163 UNIMPL
164 UNIMPL
165 UNIMPL osf_getdomainname
;166 ALIAS osf_setdomainname
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 osf_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); }
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 OBSOL osf_utsname, NOT USED
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 osf_signal
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
236 UNIMPL
237 UNIMPL
238 UNIMPL
239 UNIMPL
240 UNIMPL
241 UNIMPL osf_sysinfo
242 UNIMPL
243 UNIMPL
244 UNIMPL osf_proplist_syscall
245 UNIMPL
246 UNIMPL
247 UNIMPL
248 UNIMPL
249 UNIMPL
250 UNIMPL
251 UNIMPL osf_usleep_thread
252 UNIMPL
253 UNIMPL
254 UNIMPL sysfs
255 UNIMPL
256 UNIMPL osf_getsysinfo
257 UNIMPL osf_setsysinfo
258 UNIMPL
259 UNIMPL
260 UNIMPL
; ???: fdatasync isn't implemented in Linux.
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 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); }
312 STD { int linux_sys_clone(int flags, void *stack); }
; XXX XAX does alpha linux really have a.out exec?
#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 UNIMPL mlockall
317 UNIMPL munlockall
318 UNIMPL sysinfo
319 STD { int linux_sys___sysctl(struct linux___sysctl *lsp); }
320 UNIMPL idle
321 UNIMPL umount
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
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