freebsd-dev/sys/alpha/linux/syscalls.master
Maxim Sobolev e3478fe000 Handle unimplemented syscall by instantly returning ENOSYS instead of sending
signal first and only then returning ENOSYS to match what real linux does.

PR:		kern/74302
Submitted by:	Travis Poppe <tlp@LiquidX.org>
2005-03-07 00:18:06 +00:00

466 lines
16 KiB
Plaintext

$FreeBSD$
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
; System call name/number master file (or rather, slave, from LINUX).
; Processed to created linux_sysent.c, linux_syscalls.c and linux_syscall.h.
; Columns: number type nargs name alt{name,tag,rtyp}/comments
; number system call number, must be in order
; type one of STD, OBSOL, UNIMPL, COMPAT, CPT_NOA, LIBCOMPAT,
; NODEF, NOARGS, NOPROTO
; name psuedo-prototype of syscall routine
; If one of the following alts is different, then all appear:
; altname name of system call if different
; alttag name of args struct tag if different from [o]`name'"_args"
; altrtyp return type if not int (bogus - syscalls always return int)
; for UNIMPL/OBSOL, name continues with comments
; types:
; STD always included
; COMPAT included on COMPAT #ifdef
; CPT_NOA combines COMPAT with NOARGS
; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
; NOARGS same as STD except do not create structure in sys/sysproto.h
; NODEF ??
; NOPROTO same as STD except do not create structure or function in
; sys/sysproto.h
; OBSOL obsolete, not included in system, only specifies name
; UNIMPL not implemented, placeholder only
#include "opt_compat.h"
#include <sys/param.h>
#include <sys/sysent.h>
#include <sys/sysproto.h>
#include <compat/linux/linux_sysproto.h>
#include <alpha/linux/linux.h>
#include <alpha/linux/linux_proto.h>
; Isn't pretty, but there seems to be no other way to trap nosys
#define nosys linux_nosys
; #ifdef's, etc. may be included, and are copied to the output files.
0 UNIMPL
1 MNOPROTO { void sys_exit(int rval); } exit sys_exit_args void
2 MSTD { int linux_fork(void); }
3 MNOPROTO { int read(int fd, char *buf, u_int nbyte); }
4 MNOPROTO { int write(int fd, char *buf, u_int nbyte); }
5 UNIMPL
6 MNOPROTO { int close(int fd); }
7 MSTD { int osf1_wait4(int pid, int *status, int options, \
struct osf1_rusage *rusage); }
8 UNIMPL
9 STD { int linux_link(char *path, char *to); }
10 STD { int linux_unlink(char *path); }
11 UNIMPL
12 STD { int linux_chdir(char *path); }
13 NOPROTO { int fchdir(int fd); }
14 STD { int linux_mknod(char *path, l_int mode, l_dev_t dev); }
15 STD { int linux_chmod(char *path, l_mode_t mode); }
16 STD { int linux_chown(char *path, l_uid_t uid, l_gid_t gid); }
17 STD { int linux_brk(l_ulong dsend); }
18 UNIMPL
19 STD { int linux_lseek(l_uint fdes, l_off_t off, l_int whence); }
20 NOPROTO { int getpid(void); }
21 UNIMPL osf1_mount
22 STD { int linux_umount(char *path, l_int flags); }
23 MNOPROTO { int setuid(uid_t uid); }
24 MNOPROTO { int getuid(void); }
25 UNIMPL
26 MSTD { int linux_ptrace(void); }
27 UNIMPL
28 UNIMPL
29 UNIMPL
30 UNIMPL
31 UNIMPL
32 UNIMPL
33 STD { int linux_access(char *path, l_int flags); }
34 UNIMPL
35 UNIMPL
36 NOPROTO { int sync(void); }
37 MSTD { int linux_kill(l_int pid, l_int signum); }
38 UNIMPL
39 MNOPROTO { int setpgid(int pid, int pgid); }
40 UNIMPL
41 MNOPROTO { int dup(u_int fd); }
42 MNOPROTO { int pipe(void); }
43 UNIMPL osf_set_program_attributes
44 UNIMPL
45 STD { int linux_open(char *path, l_int flags, l_int mode); }
46 UNIMPL
47 MNOPROTO { int getgid(void); }
48 MSTD { int osf1_sigprocmask(int how, u_long mask); }
49 UNIMPL
50 UNIMPL
51 NOPROTO { int acct(char *path); }
52 MSTD { int linux_sigpending(void); }
53 UNIMPL
54 STD { int linux_ioctl(l_uint fd, l_uint cmd, l_ulong arg); }
55 UNIMPL
56 UNIMPL
57 STD { int linux_symlink(char *path, char *to); }
58 STD { int linux_readlink(char *name, char *buf, l_int count); }
59 STD { int linux_execve(char *path, char **argp, char **envp); }
60 MNOPROTO { int umask(int newmask); }
61 NOPROTO { int chroot(char *path); }
62 UNIMPL
63 MNOPROTO { int getpgrp(void); }
64 STD { int linux_getpagesize(void); }
65 UNIMPL
66 MSTD { int linux_vfork(void); }
67 STD { int linux_newstat(char *path, struct l_newstat *buf); }
68 STD { int linux_newlstat(char *path, struct l_newstat *buf); }
69 UNIMPL
70 UNIMPL
71 STD { int linux_mmap(l_ulong addr, l_ulong len, l_ulong prot, \
l_ulong flags, l_ulong fd, l_ulong pos); }
72 UNIMPL
73 STD { int linux_munmap(l_ulong addr, l_size_t len); }
74 STD { int linux_mprotect(l_ulong addr, l_size_t len, \
l_ulong prot); }
75 MNOPROTO { int madvise(void *addr, size_t len, int behav); }
76 STD { int linux_vhangup(void); }
77 UNIMPL
78 UNIMPL
79 MSTD { int linux_setgroups(l_int gidsetsize, l_gid_t *grouplist); }
80 MSTD { int linux_getgroups(l_int gidsetsize, l_gid_t *grouplist); }
81 UNIMPL
82 MNODEF setpgid setpgid setpgid_args int
83 STD { int osf1_setitimer(u_int which, struct itimerval *itv, \
struct itimerval *oitv); }
84 UNIMPL
85 UNIMPL
86 UNIMPL osf_getitimer
87 STD { int linux_gethostname(void); }
88 MNOPROTO { int osethostname(char *hostname, u_int len); } \
osethostname sethostname_args int
89 STD { int linux_getdtablesize(void); }
90 MNOPROTO { int dup2(u_int from, u_int to); }
91 STD { int linux_newfstat(l_uint fd, struct l_newstat *buf); }
92 MSTD { int linux_fcntl(l_uint fd, l_uint cmd, l_ulong arg); }
93 STD { int osf1_select(u_int nd, fd_set *in, fd_set *ou, \
fd_set *ex, struct timeval *tv); }
94 NOPROTO { int poll(struct pollfd*, unsigned int nfds, long timeout); }
95 NOPROTO { int fsync(int fd); }
96 MNOPROTO { int setpriority(int which, int who, int prio); }
97 STD { int osf1_socket(int domain, int type, int protocol); }
98 STD { int linux_connect(l_int s, struct l_sockaddr *name, \
l_int namelen); }
99 NOPROTO { int oaccept(int s, caddr_t name, int *anamelen); } \
accept accept_args int
100 UNIMPL osf_getpriority
101 NOPROTO { int osend(int s, caddr_t buf, int len, int flags); }
102 NOPROTO { int orecv(int s, caddr_t buf, int len, int flags); }
103 MSTD { int osf1_sigreturn(struct osigcontext *sigcntxp); }
104 NOPROTO { int bind(int s, caddr_t name, int namelen); }
105 NOPROTO { int setsockopt(int s, int level, int name, caddr_t val, \
int valsize); }
106 NOPROTO { int listen(int s, int backlog); }
107 UNIMPL
108 UNIMPL
109 UNIMPL
110 UNIMPL
111 MSTD { int osf1_sigsuspend(unsigned long ss); }
112 UNIMPL osf_sigstack
113 STD { int linux_recvmsg(void); }
114 STD { int linux_sendmsg(void); }
115 UNIMPL
116 MSTD { int osf1_gettimeofday(struct timeval *tp, \
struct timezone *tzp); }
117 STD { int osf1_getrusage(long who, void *rusage); }
118 NOPROTO { int getsockopt(int s, int level, int name, caddr_t val, \
int *avalsize); }
119 UNIMPL
120 NOPROTO { int readv(int fd, struct iovec *iovp, u_int iovcnt); }
121 NOPROTO { int writev(int fd, struct iovec *iovp, u_int iovcnt); }
122 UNIMPL osf_settimeofday
123 NOPROTO { int fchown(int fd, int uid, int gid); }
124 NOPROTO { int fchmod(int fd, int mode); }
125 NOPROTO { int orecvfrom(int s, caddr_t buf, size_t len, int flags, \
caddr_t from, int *fromlenaddr); } \
recvfrom recvfrom_args int
126 MNOPROTO { int setreuid(int ruid, int euid); }
127 MNOPROTO { int setregid(int rgid, int egid); }
128 STD { int linux_rename(char *from, char *to); }
129 STD { int linux_truncate(char *path, l_ulong length); }
130 NOPROTO { int oftruncate(int fd, long length); }
131 NOPROTO { int flock(int fd, int how); }
132 MNOPROTO { int setgid(gid_t gid); }
133 STD { int osf1_sendto(int s, caddr_t buf, size_t len, int flags, \
struct sockaddr *to, int tolen); }
134 NOPROTO { int shutdown(int s, int how); }
135 STD { int linux_socketpair(void); }
136 STD { int linux_mkdir(char *path, l_int mode); }
137 STD { int linux_rmdir(char *path); }
138 NOPROTO { int utimes(char *path, struct timeval *tptr); }
139 UNIMPL
140 UNIMPL
141 NOPROTO { int ogetpeername(int fdes, caddr_t asa, int *alen); }
142 UNIMPL
143 UNIMPL
144 MSTD { int linux_getrlimit(l_uint resource, \
struct l_rlimit *rlim); }
145 MSTD { int linux_setrlimit(l_uint resource, \
struct l_rlimit *rlim); }
146 UNIMPL
147 MNOPROTO { int setsid(void); }
148 STD { int linux_quotactl(void); }
149 UNIMPL
150 NOPROTO { int ogetsockname(int fdec, caddr_t asa, int *alen);} \
getsockname getsockname_args int
151 UNIMPL
152 UNIMPL
153 UNIMPL
154 UNIMPL
155 UNIMPL
156 MSTD { int osf1_sigaction(int sig, struct osf1_sigaction *nsa, \
struct osf1_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 MNOPROTO { int setdomainname(char *name, int len); }
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
200 STD { int linux_msgctl(l_int msqid, l_int cmd, \
struct l_msqid_ds *buf); }
201 STD { int linux_msgget(l_key_t key, l_int msgflg); }
202 STD { int linux_msgrcv(l_int msqid, struct l_msgbuf *msgp, \
l_size_t msgsz, l_long msgtyp, l_int msgflg); }
203 STD { int linux_msgsnd(l_int msqid, struct l_msgbuf *msgp, \
l_size_t msgsz, l_int msgflg); }
204 STD { int linux_semctl(l_int semid, l_int semnum, \
l_int cmd, union l_semun arg); }
205 STD { int linux_semget(l_key_t key, l_int nsems, \
l_int semflg); }
206 STD { int linux_semop(l_int semid, struct l_sembuf *tsops, \
l_uint nsops); }
207 UNIMPL osf_utsname
208 STD { int linux_lchown(char *path, l_uid_t uid, l_gid_t gid); }
209 STD { int linux_shmat(l_int shmid, char *shmaddr, l_int shmflg); }
210 STD { int linux_shmctl(l_int shmid, l_int cmd, \
struct l_shmid_ds *buf); }
211 STD { int linux_shmdt(char *shmaddr); }
212 STD { int linux_shmget(l_key_t key, l_size_t size, l_int shmflg); }
213 UNIMPL
214 UNIMPL
215 UNIMPL
216 UNIMPL
217 STD { int linux_msync(l_ulong addr, l_size_t len, l_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 MNOPROTO { int getpgid(int pid); }
234 MSTD { int linux_getsid(l_pid_t pid); }
235 STD { int linux_sigaltstack(void); }
236 UNIMPL
237 UNIMPL
238 UNIMPL
239 UNIMPL
240 UNIMPL
241 MSTD { int osf1_sysinfo(int cmd, char *buf, long count); }
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 STD { int linux_sysfs(l_int option, l_ulong arg1, l_ulong arg2); }
255 UNIMPL
256 STD { int osf1_getsysinfo(u_long op, caddr_t buffer, \
u_long nbytes, caddr_t arg, u_long flag); }
257 STD { int osf1_setsysinfo(u_long op, caddr_t buffer, \
u_long nbytes, caddr_t arg, u_long flag); }
258 UNIMPL
259 UNIMPL
260 UNIMPL
261 UNIMPL
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 STD { int linux_bdflush(void); }
301 STD { int linux_sethae(void); }
302 STD { int linux_mount(char *specialfile, char *dir, \
char *filesystemtype, l_ulong rwflag, \
void *data); }
303 STD { int linux_old_adjtimex(void); }
304 STD { int linux_swapoff(void); }
305 STD { int linux_getdents(l_uint fd, void *dent, l_uint count); }
306 STD { int linux_create_module(void); }
307 STD { int linux_init_module(void); }
308 STD { int linux_delete_module(void); }
309 STD { int linux_get_kernel_syms(void); }
310 STD { int linux_syslog(l_int type, char *buf, l_int len); }
311 STD { int linux_reboot(l_int magic1, l_int magic2, l_uint cmd, \
void *arg); }
312 MSTD { int linux_clone(l_int flags, void *stack); }
313 STD { int linux_uselib(char *library); }
314 MNOPROTO { int mlock(const void *addr, size_t len); }
315 MNOPROTO { int munlock(const void *addr, size_t len); }
316 MNOPROTO { int mlockall(int how); }
317 MNOPROTO { int munlockall(void); }
318 STD { int linux_sysinfo(void); }
319 STD { int linux_sysctl(struct l___sysctl_args *args); }
320 UNIMPL sys_idle
321 STD { int linux_oldumount(char *path); }
322 NOPROTO { int swapon(char *name); }
323 STD { int linux_times(struct l_times_argv *buf); }
324 STD { int linux_personality(l_ulong per); }
325 STD { int linux_setfsuid(l_uid_t uid); }
326 STD { int linux_setfsgid(l_gid_t gid); }
327 STD { int linux_ustat(l_dev_t dev, struct l_ustat *ubuf); }
328 STD { int linux_statfs(char *path, struct l_statfs_buf *buf); }
329 STD { int linux_fstatfs(l_uint fd, struct l_statfs_buf *buf); }
330 MNOPROTO { int sched_setparam(pid_t pid, \
const struct sched_param *param); }
331 MNOPROTO { int sched_getparam(pid_t pid, struct sched_param *param); }
332 MSTD { int linux_sched_setscheduler(l_pid_t pid, l_int policy, \
struct l_sched_param *param); }
333 MSTD { int linux_sched_getscheduler(l_pid_t pid); }
334 MNOPROTO { int sched_yield(void); }
335 MSTD { int linux_sched_get_priority_max(l_int policy); }
336 MSTD { int linux_sched_get_priority_min (l_int policy); }
337 NOPROTO { int sched_rr_get_interval (pid_t pid, \
struct timespec *interval); }
338 UNIMPL sys_afs_syscall
339 STD { int linux_newuname(struct l_newuname_t *buf); }
340 MNOPROTO { int nanosleep(const struct timespec *rqtp, \
struct timespec *rmtp); }
341 STD { int linux_mremap(l_ulong addr, l_ulong old_len, \
l_ulong new_len, l_ulong flags, \
l_ulong new_addr); }
342 STD { int linux_nfsservctl(void); }
343 MNOPROTO { int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
344 MNOPROTO { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
345 STD { int linux_pciconfig_read(void); }
346 STD { int linux_pciconfig_write(void); }
347 STD { int linux_query_module(void); }
348 STD { int linux_prctl(void); }
349 STD { int linux_pread(l_uint fd, char *buf, l_size_t nbyte, \
l_loff_t offset); }
350 STD { int linux_pwrite(l_uint fd, char *buf, l_size_t nbyte, \
l_loff_t offset); }
351 STD { int linux_rt_sigreturn(void); }
352 MSTD { int linux_rt_sigaction(l_int sig, l_sigaction_t *act, \
l_sigaction_t *oact, l_size_t sigsetsize); }
353 MSTD { int linux_rt_sigprocmask(l_int how, l_sigset_t *mask, \
l_sigset_t *omask, l_size_t sigsetsize); }
354 STD { int linux_rt_sigpending(void); }
355 STD { int linux_rt_sigtimedwait(void); }
356 STD { int linux_rt_sigqueueinfo(void); }
357 MSTD { int linux_rt_sigsuspend(l_sigset_t *newset, \
l_size_t sigsetsize); }
358 STD { int linux_select(l_int nfds, l_fd_set *readfds, \
l_fd_set *writefds, l_fd_set *exceptfds, \
struct l_timeval *timeout); }
359 MNOPROTO { int gettimeofday(struct timeval *tp, struct timezone *tzp); }
360 MNOPROTO { int settimeofday(struct timeval *tp, struct timezone *tzp); }
361 MSTD { int linux_getitimer(l_int which, struct l_itimerval *itv); }
362 MSTD { int linux_setitimer(l_int which, struct l_itimerval *itv, \
struct l_itimerval *oitv); }
363 STD { int linux_utimes(char *fname, struct l_timeval *times); }
364 MNOPROTO { int getrusage(int who, struct rusage *rusage); }
365 MSTD { int linux_wait4(l_pid_t pid, l_uint *status, l_int options, \
struct l_rusage *rusage); }
366 STD { int linux_adjtimex(void); }
367 STD { int linux_getcwd(char *buf, l_ulong bufsize); }
368 STD { int linux_capget(void); }
369 STD { int linux_capset(void); }
370 STD { int linux_sendfile(void); }
371 MNOPROTO { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
372 MNOPROTO { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
373 UNIMPL sys_dipc
374 STD { int linux_pivot_root(char *new_root, char *put_old); }
375 STD { int linux_mincore(l_ulong start, l_size_t len, u_char *vec); }
376 STD { int linux_pciconfig_iobase(void); }
377 STD { int linux_getdents64(l_uint fd, void *dirent, l_uint count); }