summaryrefslogtreecommitdiff
path: root/sys/compat/irix/syscalls.master
blob: 2b5f24378fa13eb09254dffda4ff7b66a5465de9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
	$NetBSD: syscalls.master,v 1.47 2003/01/18 07:44:52 thorpej Exp $

;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93

; NetBSD COMPAT_IRIX 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
;
; 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.

#if defined(_KERNEL_OPT)
#include "opt_ntp.h"
#include "opt_sysv.h"
#include "opt_compat_43.h"
#endif

#include <sys/param.h>
#include <sys/systm.h>
#include <sys/signal.h>
#include <sys/mount.h>
#include <sys/poll.h>
#include <sys/ioctl_compat.h>
#include <sys/sa.h>
#include <sys/syscallargs.h>

#include <compat/svr4/svr4_types.h>
#include <compat/svr4/svr4_signal.h>
#include <compat/svr4/svr4_ucontext.h>
#include <compat/svr4/svr4_lwp.h>
#include <compat/svr4/svr4_statvfs.h>
#include <compat/svr4/svr4_syscallargs.h>

#include <compat/irix/irix_types.h>
#include <compat/irix/irix_signal.h>
#include <compat/irix/irix_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, char *buf, u_int nbyte); }
4	NOARGS		{ int sys_write(int fd, char *buf, u_int nbyte); }
5	STD		{ int irix_sys_open(const char *path, int flags, \
			    int mode); }
6	NOARGS		{ int sys_close(int fd); }
7	OBSOL		wait
8	NOARGS		{ int svr4_sys_creat(const char *path, int mode); }
9	NOARGS		{ int sys_link(char *path, char *link); }
10	NOARGS		{ int sys_unlink(char *path); }
11	NOARGS		{ int svr4_sys_execv(const char *path, char **argp); }
12	NOARGS		{ int sys_chdir(char *path); }
13	NOARGS		{ int svr4_sys_time(svr4_time_t *t); }
14	OBSOL		mknod
15	NOARGS		{ int sys_chmod(char *path, int mode); }
16	NOARGS		{ int sys___posix_chown(char *path, int uid, \
			    int gid); } chown
17	STD		{ int irix_sys_break(caddr_t nsize); }
18	OBSOL		stat
19	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, \
			    int whence); }
20	NOARGS MPSAFE	{ pid_t sys_getpid(void); }
21	UNIMPL		old_mount
22	UNIMPL		System V umount
23	NOARGS		{ int sys_setuid(uid_t uid); }
24	NOARGS		{ uid_t sys_getuid_with_euid(void); }
25	UNIMPL		stime
26	UNIMPL		ptrace
27	NOARGS		{ int svr4_sys_alarm(unsigned sec); }
28	NOARGS		{ int svr4_sys_fstat(int fd, struct svr4_stat *sb); }
29	NOARGS		{ int svr4_sys_pause(void); }
30	NOARGS		{ int svr4_sys_utime(const char *path, \
			     struct svr4_utimbuf *ubuf); }
31	UNIMPL		was stty
32	UNIMPL		was gtty
33	NOARGS		{ int svr4_sys_access(const char *path, int flags); }
34	NOARGS		{ int svr4_sys_nice(int prio); }
35	UNIMPL		statfs
36	NOARGS		{ int sys_sync(void); }
37	NOARGS		{ int svr4_sys_kill(int pid, int signum); }
38	UNIMPL		fstatfs
39	NOARGS		{ int svr4_sys_pgrpsys(int cmd, int pid, int pgid); }
40	STD		{ ptrdiff_t irix_sys_syssgi(int request, void *arg1, \
			    void *arg2, void *arg3, void *arg4, void *arg5); }
41	NOARGS		{ int sys_dup(u_int fd); }
42	NOARGS		{ int sys_pipe(void); }
43	NOARGS		{ int svr4_sys_times(struct tms *tp); }
44	UNIMPL		profil
45	UNIMPL		plock
46	NOARGS		{ int sys_setgid(gid_t gid); }
47	NOARGS		{ gid_t sys_getgid_with_egid(void); }
48	OBSOL		ssig
#ifdef SYSVMSG
49	NOARGS		{ int svr4_sys_msgsys(int what, int a2, int a3, \
					      int a4, int a5); }
#else
49	UNIMPL		msgsys
#endif
50	UNIMPL		sysmips
51	UNIMPL		acct
#ifdef SYSVSHM
52	STD		{ int irix_sys_shmsys(int what, int a2, int a3, \
					      int a4); }
#else
52	UNIMPL		shmsys
#endif
#ifdef SYSVSEM
53	NOARGS		{ int svr4_sys_semsys(int what, int a2, int a3, \
					      int a4, int a5); }
#else
53	UNIMPL		semsys
#endif
54	STD		{ int irix_sys_ioctl(int fd, u_long com, \
			    caddr_t data); }
55	UNIMPL		uadmin
56	STD		{ int irix_sys_sysmp(int cmd, void *arg1, void *arg2, \
			    void *arg3, void *arg4); }
57	STD		{ int irix_sys_utssys(void *a1, void *a2, int sel, \
			    void *a3); }
58	UNIMPL
59	NOARGS		{ int svr4_sys_execve(const char *path, char **argp, \
			    char **envp); }
60	NOARGS		{ int sys_umask(int newmask); }
61	NOARGS		{ int sys_chroot(char *path); }
62	STD		{ int irix_sys_fcntl(int fd, int cmd, char *arg); }
63	NOARGS		{ long svr4_sys_ulimit(int cmd, long newlimit); }
64	UNIMPL		reserved for unix/pc
65	UNIMPL		reserved for unix/pc
66	UNIMPL		reserved for unix/pc
67	UNIMPL		reserved for unix/pc
68	UNIMPL		reserved for unix/pc
69	UNIMPL		reserved for unix/pc
70	OBSOL		advfs
71	OBSOL		unadvfs
72	OBSOL		rmount
73	OBSOL		rumount
74	OBSOL		rfstart
75	STD		{ int irix_sys_getrlimit64(int resource, \
			    struct irix_rlimit64 *rlp); }
76	STD		{ int irix_sys_setrlimit64(int resource, \
			    const struct irix_rlimit64 *rlp); }
77	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
			    struct timespec *rmtp); }
78	STD		{ irix_off64_t irix_sys_lseek64(int fd, int pad1, \
			    irix_off64_t offset, int whence, \
			    int pad2, int pad3, int pad4); }
79	NOARGS		{ int sys_rmdir(char *path); }
80	NOARGS		{ int sys_mkdir(char *path, int mode); }
81	STD		{ int irix_sys_getdents(int fildes, \
			    irix_dirent_t *buf, int nbytes); }
82	STD		{ long irix_sys_sginap (long ticks); }
83	UNIMPL		sgikopt
84	UNIMPL		sysfs
85	NOARGS		{ int svr4_sys_getmsg(int fd, struct svr4_strbuf *ctl, \
			    struct svr4_strbuf *dat, int *flags); }
86	NOARGS		{ int svr4_sys_putmsg(int fd, struct svr4_strbuf *ctl, \
			    struct svr4_strbuf *dat, int flags); }
87	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
			    int timeout); }
88	STD		{ int irix_sys_sigreturn(struct irix_sigcontext *scp, \
			    struct irix_ucontext *ucp, int signo); }
89	NOARGS		{ int compat_43_sys_accept(int s, \
			    struct sockaddr *name, int *anamelen); }
90	NOARGS		{ int sys_bind(int s, const struct sockaddr *name, \
			    int namelen); }
91	NOARGS		{ int sys_connect(int s, const struct sockaddr *name, \
			    int namelen); }
92	NOARGS		{ int32_t compat_43_sys_gethostid(void); }
93	NOARGS		{ int compat_43_sys_getpeername(int fdes, \
			    struct sockaddr *asa, int *alen); }
94	NOARGS		{ int compat_43_sys_getsockname(int fdes, \
			    struct sockaddr *asa, int *alen); }
95	NOARGS		{ int sys_getsockopt(int s, int level, int name, \
			    void *val, int *avalsize); }
96	NOARGS		{ int sys_listen(int s, int backlog); }
97	NOARGS		{ int compat_43_sys_recv(int s, caddr_t buf, int len, \
			    int flags); }
98	NOARGS		{ ssize_t compat_43_sys_recvfrom(int s, void *buf, \
			    size_t len, int flags, struct sockaddr *from, \
			    int *fromlenaddr); }
99	NOARGS		{ ssize_t compat_43_sys_recvmsg(int s, \
			    struct msghdr *msg, int flags); }
100	NOARGS		{ int sys_select(int nd, fd_set *in, fd_set *ou, \
			    fd_set *ex, struct timeval *tv); }
101	NOARGS		{ int compat_43_sys_send(int s, caddr_t buf, int len, \
			    int flags); }
102	NOARGS		{ ssize_t compat_43_sys_sendmsg(int s, \
			    const struct msghdr *msg, int flags); }
103	NOARGS		{ ssize_t sys_sendto(int s, const void *buf, \
			    size_t len, int flags, const struct sockaddr *to, \
			    int tolen); }
104	NOARGS		{ int compat_43_sys_sethostid(int32_t hostid); }
105	NOARGS		{ int sys_setsockopt(int s, int level, int name, \
			    const void *val, int valsize); }
106	NOARGS		{ int sys_shutdown(int s, int how); }
107	NOARGS		{ int svr4_sys_socket(int domain, int type, \
			    int protocol); }
108	NOARGS		{ int compat_43_sys_gethostname(char *hostname, \
			    u_int len); }
109	NOARGS		{ int compat_43_sys_sethostname(const char *hostname, \
			    u_int len); }
110	NOARGS		{ int compat_09_sys_getdomainname(char *domainname, \
			    int len); }
111	NOARGS		{ int compat_09_sys_setdomainname(char *domainname, \
			    int len); }
112	NOARGS		{ int sys_truncate(const char *path, long length); }
113	NOARGS		{ int sys_ftruncate(int fd, long length); }
114	NOARGS		{ int sys_rename(const char *from, const char *to); }
115	NOARGS		{ int sys_symlink(const char *path, \
			    const char *link); }
116	NOARGS		{ int sys_readlink(const char *path, char *buf, \
			    size_t count); }
117	UNIMPL		lstat
118	UNIMPL
119	UNIMPL		nfs_svc
120	UNIMPL		nfs_getfh
121	UNIMPL		async_daemon
122	UNIMPL		exportfs
123	NOARGS		{ int sys_setregid(gid_t rgid, gid_t egid); }
124	NOARGS		{ int sys_setreuid(uid_t ruid, uid_t euid); }
125	NOARGS		{ int sys_getitimer(u_int which, \
			    struct itimerval *itv); }
126	NOARGS		{ int sys_setitimer(u_int which, \
			    struct itimerval *itv, struct itimerval *oitv); }
127	NOARGS		{ int sys_adjtime(struct timeval *delta, \
			    struct timeval *olddelta); }
128	NOARGS		{ int svr4_sys_gettimeofday(struct timeval *tp); }
129	STD		{ irix_pid_t irix_sys_sproc(void *entry, \
			    unsigned int inh, void *arg); }
130	STD		{ ptrdiff_t irix_sys_prctl(unsigned int option, \
			    void *arg1); }
131	STD		{ int irix_sys_procblk(int cmd, pid_t pid, int count); }
132	STD		{ irix_pid_t irix_sys_sprocsp(void *entry, \
			    unsigned int inh, void *arg, caddr_t sp, \
			    irix_size_t len); }
133	UNIMPL		sgigsc
134	STD		{ void *irix_sys_mmap(void *addr, irix_size_t len, \
			    int prot, int flags, int fd, irix_off_t pos); }
135	STD		{ int irix_sys_munmap(void *addr, int len); }
136	STD		{ int irix_sys_mprotect(void *addr, \
			    int len, int prot); }
137	NOARGS		{ int sys___msync13(void *addr, \
			    size_t len, int flags); }
138	UNIMPL		madvise
139	UNIMPL		pagelock
140	UNIMPL		getpagesize
141	UNIMPL		quotactl
142	UNIMPL
143	NOARGS		{ int sys_getpgrp(void); }
144	STD		{ int irix_sys_setpgrp(int pid, int pgid); } 
145	UNIMPL		vhangup
146	NOARGS		{ int sys_fsync(int fd); }
147	NOARGS		{ int sys_fchdir(int fd); }
148	STD		{ int irix_sys_getrlimit(int resource, \
			     struct irix_rlimit *rlp); }
149	STD		{ int irix_sys_setrlimit(int resource, \
			    const struct irix_rlimit *rlp); }
150	UNIMPL		cacheflush
151	UNIMPL		cachectl
152	NOARGS		{ int sys___posix_fchown(int fd, int uid, int gid); } \
			    fchown
153	NOARGS		{ int sys_fchmod(int fd, int mode); }
154	UNIMPL		wait3
155	UNIMPL		socketpair
156	STD		{ long irix_sys_systeminfo(int what, char *buf, \
			    long len); }
157	STD		{ int irix_sys_uname(struct irix_utsname *name); }
158	STD		{ int irix_sys_xstat(const int version, \
			    const char *path, struct stat *buf); }
159	STD		{ int irix_sys_lxstat(const int version, \
			    const char *path, struct stat *buf); }
160	STD		{ int irix_sys_fxstat(const int version, \
			    const int fd, struct stat *buf); }
161	UNIMPL		xmknod
162	STD		{ int irix_sys_sigaction(int signum, \
			    const struct svr4_sigaction *nsa, \
			    struct svr4_sigaction *osa, void *sigtramp); }
163	NOARGS		{ int svr4_sys_sigpending(int what, \
			    svr4_sigset_t *set); }
164	STD		{ int irix_sys_sigprocmask(int how, \
			    const irix_sigset_t *set, \
			    irix_sigset_t *oset); }
165	NOARGS		{ int svr4_sys_sigsuspend( \
			    const svr4_sigset_t *set); }
166	UNIMPL		sigpoll_sys
167	STD		{ int irix_sys_swapctl(int cmd, void *arg); }
168	STD		{ int irix_sys_getcontext(irix_ucontext_t *ucp); }
169	STD		{ int irix_sys_setcontext(const irix_ucontext_t *ucp); }
170	STD		{ int irix_sys_waitsys(int type, int pid, \
			    struct irix_irix5_siginfo *info, int options, \
			    struct rusage *ru); }
171	UNIMPL		sigstack
172	UNIMPL		sigaltstack
173	UNIMPL		sigsendset
174	NOARGS		{ int svr4_sys_statvfs(const char *path, \
			    struct svr4_statvfs *fs); }
175	NOARGS		{ int svr4_sys_fstatvfs(int fd, \
			    struct svr4_statvfs *fs); }
176	UNIMPL		getpmsg
177	UNIMPL		putpmsg
178	UNIMPL		lchown
179	UNIMPL		priocntl
180	UNIMPL		sigqueue
181	NOARGS		{ ssize_t sys_readv(int fd, \
			    const struct iovec *iovp, int iovcnt); }
182	NOARGS		{ ssize_t sys_writev(int fd, \
			    const struct iovec *iovp, int iovcnt); }
183	NOARGS		{ int sys_truncate(const char *path, int pad, \
			    off_t length); } truncate64
184	NOARGS		{ int sys_ftruncate(int fd, int pad, off_t length); } \
			    ftruncate64
185	STD		{ void *irix_sys_mmap64(void *addr, irix_size_t len, \
			    int prot, int flags, int fd, int pad1, \
			    irix_off_t pos); }
186	UNIMPL		dmi
187	NOARGS		{ ssize_t svr4_sys_pread(int fd, void *buf, \
			    size_t nbyte, svr4_off_t off); }
188	NOARGS		{ ssize_t svr4_sys_pwrite(int fd, const void *buf, \
			    size_t nbyte, svr4_off_t off); }
189	UNIMPL		fdatasync
190	UNIMPL		sgifastpath
191	UNIMPL		attr_get
192	UNIMPL		attr_getf
193	UNIMPL		attr_set
194	UNIMPL		attr_setf
195	UNIMPL		attr_remove
196	UNIMPL		attr_removef
197	UNIMPL		attr_list
198	UNIMPL		attr_listf
199	UNIMPL		attr_multi
200	UNIMPL		attr_multif
201	UNIMPL		statvfs64
202	UNIMPL		fstatvfs64
203	STD		{ int irix_sys_getmountid(const char *path, \
			    irix_mountid_t *buf); }
204	UNIMPL		nsproc
205	STD		{ int irix_sys_getdents64(int fildes, \
			    irix_dirent64_t *buf, int nbytes); }
206	UNIMPL		afs_syscall
207	STD		{ int irix_sys_ngetdents(int fildes, \
			    irix_dirent_t *buf, unsigned short nbyte, \
			    int *eof); }
208	STD		{ int irix_sys_ngetdents64(int fildes, \
			    irix_dirent64_t *buf, unsigned short nbyte, \
			    int *eof); }
209	UNIMPL		sgi_sesmgr
210	STD		{ irix_pid_t irix_sys_pidsprocsp(void *entry, \
			    unsigned int inh, void *arg, caddr_t sp, \
			    irix_size_t len, irix_pid_t pid); }
211	UNIMPL		rexec
212	UNIMPL		timer_create
213	UNIMPL		timer_delete
214	UNIMPL		timer_settime
215	UNIMPL		timer_gettime
216	UNIMPL		timer_setoverrun
217	UNIMPL		sched_rr_get_interval
218	UNIMPL		sched_yield
219	UNIMPL		sched_getscheduler
220	UNIMPL		sched_setscheduler
221	UNIMPL		sched_getparam
222	UNIMPL		sched_setparam
223	STD		{ int irix_sys_usync_cntl(int cmd, void *arg); }
224	UNIMPL		psema_cntl
225	UNIMPL		restartreturn
226	UNIMPL		sysget
227	UNIMPL		xpg4_recvmsg
228	UNIMPL		umfscall
229	UNIMPL		nsproctid
230	UNIMPL		rexec_complete
231	UNIMPL		xpg4_sigaltstack
232	UNIMPL		xpg4_sigaltstack
233	UNIMPL		xpg4_setregid
234	UNIMPL		linkfollow
235	UNIMPL		utimets