xref: /openbsd-src/sys/kern/syscalls.master (revision 25c4e8bd056e974b28f4a0ffd39d76c190a56013)
1;	$OpenBSD: syscalls.master,v 1.228 2022/07/20 05:55:08 deraadt Exp $
2;	$NetBSD: syscalls.master,v 1.32 1996/04/23 10:24:21 mycroft Exp $
3
4;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
5
6; OpenBSD system call name/number "master" file.
7; (See syscalls.conf to see what it is processed into.)
8;
9; Fields: number type [type-dependent ...]
10;	number	system call number, must be in order
11;	type	one of the types described below, or one of the
12;		compatibility options defined in syscalls.conf
13;
14; types:
15;	INDIR	included, but don't define the syscall args structure,
16;		and allow it to be "really" varargs
17;	NOARGS	included, but don't define the syscall args structure
18;	NODEF	included, but don't define the syscall number
19;	NOLOCK	don't acquire the kernel lock when calling this syscall
20;	OBSOL	obsolete, not included in system
21;	STD	always included
22;	UNIMPL	unimplemented, not included in system
23;
24; The compat options are defined in the syscalls.conf file, and the
25; compat option name is prefixed to the syscall name.  Other than
26; that, they're like NODEF (for 'compat' options), or STD (for
27; 'libcompat' options).
28;
29; The type-dependent arguments are as follows:
30; For STD, NODEF, NOARGS, and compat syscalls:
31;	{ pseudo-proto } [alias]
32; For other syscalls:
33;	[comment]
34;
35; #ifdef's, etc. may be included, and are copied to the output files.
36; #include's are copied to the syscall switch definition file only.
37
38#include <sys/param.h>
39#include <sys/systm.h>
40#include <sys/signal.h>
41#include <sys/mount.h>
42#include <sys/syscallargs.h>
43#include <sys/poll.h>
44
45; Reserved/unimplemented system calls in the range 0-150 inclusive
46; are reserved for use in future Berkeley releases.
47; Additional system calls implemented in vendor and other
48; redistributions should be placed in the reserved range at the end
49; of the current calls.
50
510	INDIR		{ int sys_syscall(int number, ...); }
521	STD		{ void sys_exit(int rval); }
532	STD		{ int sys_fork(void); }
543	STD NOLOCK	{ ssize_t sys_read(int fd, void *buf, size_t nbyte); }
554	STD NOLOCK	{ ssize_t sys_write(int fd, const void *buf, \
56			    size_t nbyte); }
575	STD		{ int sys_open(const char *path, \
58			    int flags, ... mode_t mode); }
596	STD NOLOCK	{ int sys_close(int fd); }
607	STD NOLOCK	{ int sys_getentropy(void *buf, size_t nbyte); }
618	STD		{ int sys___tfork(const struct __tfork *param, \
62			    size_t psize); }
639	STD		{ int sys_link(const char *path, const char *link); }
6410	STD		{ int sys_unlink(const char *path); }
6511	STD		{ pid_t sys_wait4(pid_t pid, int *status, \
66			    int options, struct rusage *rusage); }
6712	STD		{ int sys_chdir(const char *path); }
6813	STD		{ int sys_fchdir(int fd); }
6914	STD		{ int sys_mknod(const char *path, mode_t mode, \
70			    dev_t dev); }
7115	STD		{ int sys_chmod(const char *path, mode_t mode); }
7216	STD		{ int sys_chown(const char *path, uid_t uid, \
73			    gid_t gid); }
7417	STD		{ int sys_obreak(char *nsize); } break
7518	STD NOLOCK	{ int sys_getdtablecount(void); }
7619	STD		{ int sys_getrusage(int who, \
77			    struct rusage *rusage); }
7820	STD NOLOCK	{ pid_t sys_getpid(void); }
7921	STD		{ int sys_mount(const char *type, const char *path, \
80			    int flags, void *data); }
8122	STD		{ int sys_unmount(const char *path, int flags); }
8223	STD		{ int sys_setuid(uid_t uid); }
8324	STD NOLOCK	{ uid_t sys_getuid(void); }
8425	STD NOLOCK	{ uid_t sys_geteuid(void); }
85#ifdef PTRACE
8626	STD		{ int sys_ptrace(int req, pid_t pid, caddr_t addr, \
87			    int data); }
88#else
8926	UNIMPL		ptrace
90#endif
9127	STD NOLOCK	{ ssize_t sys_recvmsg(int s, struct msghdr *msg, \
92			    int flags); }
9328	STD NOLOCK	{ ssize_t sys_sendmsg(int s, \
94			    const struct msghdr *msg, int flags); }
9529	STD NOLOCK	{ ssize_t sys_recvfrom(int s, void *buf, size_t len, \
96			    int flags, struct sockaddr *from, \
97			    socklen_t *fromlenaddr); }
9830	STD NOLOCK	{ int sys_accept(int s, struct sockaddr *name, \
99			    socklen_t *anamelen); }
10031	STD NOLOCK	{ int sys_getpeername(int fdes, struct sockaddr *asa, \
101			    socklen_t *alen); }
10232	STD NOLOCK	{ int sys_getsockname(int fdes, struct sockaddr *asa, \
103			    socklen_t *alen); }
10433	STD		{ int sys_access(const char *path, int amode); }
10534	STD		{ int sys_chflags(const char *path, u_int flags); }
10635	STD		{ int sys_fchflags(int fd, u_int flags); }
10736	STD		{ void sys_sync(void); }
10837	STD		{ int sys_msyscall(void *addr, size_t len); }
10938	STD		{ int sys_stat(const char *path, struct stat *ub); }
11039	STD NOLOCK	{ pid_t sys_getppid(void); }
11140	STD		{ int sys_lstat(const char *path, struct stat *ub); }
11241	STD NOLOCK	{ int sys_dup(int fd); }
11342	STD		{ int sys_fstatat(int fd, const char *path, \
114			    struct stat *buf, int flag); }
11543	STD NOLOCK	{ gid_t sys_getegid(void); }
11644	STD		{ int sys_profil(caddr_t samples, size_t size, \
117			    u_long offset, u_int scale); }
118#ifdef KTRACE
11945	STD		{ int sys_ktrace(const char *fname, int ops, \
120			    int facs, pid_t pid); }
121#else
12245	UNIMPL		ktrace
123#endif
12446	STD		{ int sys_sigaction(int signum, \
125			    const struct sigaction *nsa, \
126			    struct sigaction *osa); }
12747	STD NOLOCK	{ gid_t sys_getgid(void); }
12848	STD NOLOCK	{ int sys_sigprocmask(int how, sigset_t mask); }
12949	STD		{ void *sys_mmap(void *addr, size_t len, int prot, \
130			    int flags, int fd, off_t pos); }
13150	STD		{ int sys_setlogin(const char *namebuf); }
132#ifdef ACCOUNTING
13351	STD		{ int sys_acct(const char *path); }
134#else
13551	UNIMPL		acct
136#endif
13752	STD		{ int sys_sigpending(void); }
13853	STD		{ int sys_fstat(int fd, struct stat *sb); }
13954	STD NOLOCK	{ int sys_ioctl(int fd, \
140			    u_long com, ... void *data); }
14155	STD		{ int sys_reboot(int opt); }
14256	STD		{ int sys_revoke(const char *path); }
14357	STD		{ int sys_symlink(const char *path, \
144			    const char *link); }
14558	STD		{ ssize_t sys_readlink(const char *path, \
146			    char *buf, size_t count); }
14759	STD		{ int sys_execve(const char *path, \
148			    char * const *argp, char * const *envp); }
14960	STD NOLOCK	{ mode_t sys_umask(mode_t newmask); }
15061	STD		{ int sys_chroot(const char *path); }
15162	STD		{ int sys_getfsstat(struct statfs *buf, size_t bufsize, \
152			    int flags); }
15363	STD		{ int sys_statfs(const char *path, \
154			    struct statfs *buf); }
15564	STD		{ int sys_fstatfs(int fd, struct statfs *buf); }
15665	STD		{ int sys_fhstatfs(const fhandle_t *fhp, \
157			    struct statfs *buf); }
15866	STD		{ int sys_vfork(void); }
15967	STD NOLOCK	{ int sys_gettimeofday(struct timeval *tp, \
160			    struct timezone *tzp); }
16168	STD NOLOCK	{ int sys_settimeofday(const struct timeval *tv, \
162			    const struct timezone *tzp); }
16369	STD NOLOCK	{ int sys_setitimer(int which, \
164			    const struct itimerval *itv, \
165			    struct itimerval *oitv); }
16670	STD NOLOCK	{ int sys_getitimer(int which, \
167			    struct itimerval *itv); }
16871	STD		{ int sys_select(int nd, fd_set *in, fd_set *ou, \
169			    fd_set *ex, struct timeval *tv); }
17072	STD NOLOCK	{ int sys_kevent(int fd, \
171			    const struct kevent *changelist, int nchanges, \
172			    struct kevent *eventlist, int nevents, \
173			    const struct timespec *timeout); }
17473	STD		{ int sys_munmap(void *addr, size_t len); }
17574	STD		{ int sys_mprotect(void *addr, size_t len, \
176			    int prot); }
17775	STD		{ int sys_madvise(void *addr, size_t len, \
178			    int behav); }
17976	STD		{ int sys_utimes(const char *path, \
180			    const struct timeval *tptr); }
18177	STD		{ int sys_futimes(int fd, \
182			    const struct timeval *tptr); }
18378	STD		{ void *sys_mquery(void *addr, size_t len, int prot, \
184			    int flags, int fd, off_t pos); }
18579	STD NOLOCK	{ int sys_getgroups(int gidsetsize, \
186			    gid_t *gidset); }
18780	STD		{ int sys_setgroups(int gidsetsize, \
188			    const gid_t *gidset); }
18981	STD		{ int sys_getpgrp(void); }
19082	STD		{ int sys_setpgid(pid_t pid, pid_t pgid); }
19183	STD NOLOCK	{ int sys_futex(uint32_t *f, int op, int val, \
192			    const struct timespec *timeout, uint32_t *g); }
19384	STD		{ int sys_utimensat(int fd, const char *path, \
194			    const struct timespec *times, int flag); }
19585	STD		{ int sys_futimens(int fd, \
196			    const struct timespec *times); }
19786	STD NOLOCK	{ int sys_kbind(const struct __kbind *param, \
198			    size_t psize, int64_t proc_cookie); }
19987	STD NOLOCK	{ int sys_clock_gettime(clockid_t clock_id, \
200			    struct timespec *tp); }
20188	STD NOLOCK	{ int sys_clock_settime(clockid_t clock_id, \
202			    const struct timespec *tp); }
20389	STD NOLOCK	{ int sys_clock_getres(clockid_t clock_id, \
204			    struct timespec *tp); }
20590	STD NOLOCK	{ int sys_dup2(int from, int to); }
20691	STD NOLOCK	{ int sys_nanosleep(const struct timespec *rqtp, \
207			    struct timespec *rmtp); }
20892	STD NOLOCK	{ int sys_fcntl(int fd, int cmd, ... void *arg); }
20993	STD NOLOCK	{ int sys_accept4(int s, struct sockaddr *name, \
210			    socklen_t *anamelen, int flags); }
21194	STD NOLOCK	{ int sys___thrsleep(const volatile void *ident, \
212			    clockid_t clock_id, const struct timespec *tp, \
213			    void *lock, const int *abort); }
21495	STD		{ int sys_fsync(int fd); }
21596	STD		{ int sys_setpriority(int which, id_t who, int prio); }
21697	STD NOLOCK	{ int sys_socket(int domain, int type, int protocol); }
21798	STD NOLOCK	{ int sys_connect(int s, const struct sockaddr *name, \
218			    socklen_t namelen); }
21999	STD		{ int sys_getdents(int fd, void *buf, size_t buflen); }
220100	STD		{ int sys_getpriority(int which, id_t who); }
221101	STD NOLOCK	{ int sys_pipe2(int *fdp, int flags); }
222102	STD NOLOCK	{ int sys_dup3(int from, int to, int flags); }
223103	STD		{ int sys_sigreturn(struct sigcontext *sigcntxp); }
224104	STD		{ int sys_bind(int s, const struct sockaddr *name, \
225			    socklen_t namelen); }
226105	STD		{ int sys_setsockopt(int s, int level, int name, \
227			    const void *val, socklen_t valsize); }
228106	STD		{ int sys_listen(int s, int backlog); }
229107	STD		{ int sys_chflagsat(int fd, const char *path, \
230			    u_int flags, int atflags); }
231108	STD NOLOCK	{ int sys_pledge(const char *promises, \
232			    const char *execpromises); }
233109	STD		{ int sys_ppoll(struct pollfd *fds, \
234			    u_int nfds, const struct timespec *ts, \
235			    const sigset_t *mask); }
236110	STD		{ int sys_pselect(int nd, fd_set *in, fd_set *ou, \
237			    fd_set *ex, const struct timespec *ts, \
238			    const sigset_t *mask); }
239111	STD		{ int sys_sigsuspend(int mask); }
240112	STD NOLOCK	{ int sys_sendsyslog(const char *buf, size_t nbyte, \
241			    int flags); }
242113	UNIMPL		fktrace
243114	STD 		{ int sys_unveil(const char *path, \
244			    const char *permissions); }
245115	STD		{ int sys___realpath(const char *pathname, \
246			    char *resolved); }
247116	OBSOL		t32_gettimeofday
248117	OBSOL		t32_getrusage
249118	STD		{ int sys_getsockopt(int s, int level, int name, \
250			    void *val, socklen_t *avalsize); }
251119	STD		{ int sys_thrkill(pid_t tid, int signum, void *tcb); }
252120	STD NOLOCK	{ ssize_t sys_readv(int fd, \
253			    const struct iovec *iovp, int iovcnt); }
254121	STD NOLOCK	{ ssize_t sys_writev(int fd, \
255			    const struct iovec *iovp, int iovcnt); }
256122	STD		{ int sys_kill(int pid, int signum); }
257123	STD		{ int sys_fchown(int fd, uid_t uid, gid_t gid); }
258124	STD		{ int sys_fchmod(int fd, mode_t mode); }
259125	OBSOL		orecvfrom
260126	STD		{ int sys_setreuid(uid_t ruid, uid_t euid); }
261127	STD		{ int sys_setregid(gid_t rgid, gid_t egid); }
262128	STD		{ int sys_rename(const char *from, const char *to); }
263129	OBSOL		otruncate
264130	OBSOL		oftruncate
265131	STD NOLOCK	{ int sys_flock(int fd, int how); }
266132	STD		{ int sys_mkfifo(const char *path, mode_t mode); }
267133	STD NOLOCK	{ ssize_t sys_sendto(int s, const void *buf, \
268			    size_t len, int flags, const struct sockaddr *to, \
269			    socklen_t tolen); }
270134	STD		{ int sys_shutdown(int s, int how); }
271135	STD NOLOCK	{ int sys_socketpair(int domain, int type, \
272			    int protocol, int *rsv); }
273136	STD		{ int sys_mkdir(const char *path, mode_t mode); }
274137	STD		{ int sys_rmdir(const char *path); }
275138	OBSOL		t32_utimes
276139	OBSOL		4.2 sigreturn
277140	STD NOLOCK	{ int sys_adjtime(const struct timeval *delta, \
278			    struct timeval *olddelta); }
279141	STD		{ int sys_getlogin_r(char *namebuf, u_int namelen); }
280142	OBSOL		ogethostid
281143	OBSOL		osethostid
282144	OBSOL		ogetrlimit
283145	OBSOL		osetrlimit
284146	OBSOL		okillpg
285147	STD		{ int sys_setsid(void); }
286148	STD		{ int sys_quotactl(const char *path, int cmd, \
287			    int uid, char *arg); }
288149	OBSOL		oquota
289150	STD NOLOCK	{ int sys_ypconnect(int type); }
290
291; Syscalls 151-180 inclusive are reserved for vendor-specific
292; system calls.  (This includes various calls added for compatibility
293; with other Unix variants.)
294; Some of these calls are now supported by BSD...
295151	UNIMPL
296152	UNIMPL
297153	UNIMPL
298154	UNIMPL
299#if defined(NFSCLIENT) || defined(NFSSERVER)
300155	STD		{ int sys_nfssvc(int flag, void *argp); }
301#else
302155	UNIMPL
303#endif
304156	OBSOL		ogetdirentries
305157	OBSOL		statfs25
306158	OBSOL		fstatfs25
307159	UNIMPL
308160	UNIMPL
309161	STD		{ int sys_getfh(const char *fname, fhandle_t *fhp); }
310162	OBSOL		ogetdomainname
311163	OBSOL		osetdomainname
312164	STD		{ int sys___tmpfd(int flags); }
313165	STD		{ int sys_sysarch(int op, void *parms); }
314166	STD NOLOCK	{ off_t sys_lseek(int fd, off_t offset, int whence); }
315167	STD		{ int sys_truncate(const char *path, off_t length); }
316168	STD		{ int sys_ftruncate(int fd, off_t length); }
317169	STD NOLOCK	{ ssize_t sys_pread(int fd, void *buf, \
318			    size_t nbyte, off_t offset); }
319170	STD NOLOCK	{ ssize_t sys_pwrite(int fd, const void *buf, \
320			    size_t nbyte, off_t offset); }
321171	STD NOLOCK	{ ssize_t sys_preadv(int fd, \
322			    const struct iovec *iovp, int iovcnt, \
323			    off_t offset); }
324172	STD NOLOCK	{ ssize_t sys_pwritev(int fd, \
325			    const struct iovec *iovp, int iovcnt, \
326			    off_t offset); }
327173	UNIMPL		pad_pread
328174	UNIMPL		pad_pwrite
329175	UNIMPL		ntp_gettime
330176	UNIMPL		ntp_adjtime
331177	UNIMPL
332178	UNIMPL
333179	UNIMPL
334180	UNIMPL
335
336; Syscalls 181-199 are used by/reserved for BSD
337181	STD		{ int sys_setgid(gid_t gid); }
338182	STD		{ int sys_setegid(gid_t egid); }
339183	STD		{ int sys_seteuid(uid_t euid); }
340184	OBSOL		lfs_bmapv
341185	OBSOL		lfs_markv
342186	OBSOL		lfs_segclean
343187	OBSOL		lfs_segwait
344188	OBSOL		stat35
345189	OBSOL		fstat35
346190	OBSOL		lstat35
347191	STD		{ long sys_pathconf(const char *path, int name); }
348192	STD		{ long sys_fpathconf(int fd, int name); }
349193	STD		{ int sys_swapctl(int cmd, const void *arg, int misc); }
350194	STD NOLOCK	{ int sys_getrlimit(int which, \
351			    struct rlimit *rlp); }
352195	STD NOLOCK	{ int sys_setrlimit(int which, \
353			    const struct rlimit *rlp); }
354196	OBSOL		ogetdirentries48
355197	UNIMPL		pad_mmap
356198	INDIR		{ quad_t sys___syscall(quad_t num, ...); }
357199	UNIMPL		pad_lseek
358200	UNIMPL		pad_truncate
359201	UNIMPL		pad_ftruncate
360202	STD		{ int sys_sysctl(const int *name, u_int namelen, \
361			    void *old, size_t *oldlenp, void *new, \
362			    size_t newlen); }
363203	STD		{ int sys_mlock(const void *addr, size_t len); }
364204	STD		{ int sys_munlock(const void *addr, size_t len); }
365205	UNIMPL		sys_undelete
366206	OBSOL		t32_futimes
367207	STD		{ pid_t sys_getpgid(pid_t pid); }
368208	OBSOL		nnpfspioctl
369209	STD		{ int sys_utrace(const char *label, const void *addr, \
370			    size_t len); }
371;
372; Syscalls 210-219 were reserved for dynamically loaded syscalls
373;
374210	UNIMPL
375211	UNIMPL
376212	UNIMPL
377213	UNIMPL
378214	UNIMPL
379215	UNIMPL
380216	UNIMPL
381217	UNIMPL
382218	UNIMPL
383219	UNIMPL
384; System calls 220-240 are reserved for use by OpenBSD
385#ifdef SYSVSEM
386220	UNIMPL
387221	STD		{ int sys_semget(key_t key, int nsems, int semflg); }
388#else
389220	UNIMPL		semctl
390221	UNIMPL		semget
391#endif
392222	OBSOL		semop35
393223	OBSOL		semconfig35
394#ifdef SYSVMSG
395224	UNIMPL
396225	STD		{ int sys_msgget(key_t key, int msgflg); }
397226	STD		{ int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \
398			    int msgflg); }
399227	STD		{ int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
400			    long msgtyp, int msgflg); }
401#else
402224	UNIMPL		msgctl
403225	UNIMPL		msgget
404226	UNIMPL		msgsnd
405227	UNIMPL		msgrcv
406#endif
407#ifdef SYSVSHM
408228	STD		{ void *sys_shmat(int shmid, const void *shmaddr, \
409			    int shmflg); }
410229	UNIMPL
411230	STD		{ int sys_shmdt(const void *shmaddr); }
412#else
413228	UNIMPL		shmat
414229	UNIMPL		shmctl
415230	UNIMPL		shmdt
416#endif
417231	OBSOL		shmget35
418232	OBSOL		t32_clock_gettime
419233	OBSOL		t32_clock_settime
420234	OBSOL		t32_clock_getres
421235	UNIMPL		timer_create
422236	UNIMPL		timer_delete
423237	UNIMPL		timer_settime
424238	UNIMPL		timer_gettime
425239	UNIMPL		timer_getoverrun
426;
427; System calls 240-249 are reserved for other IEEE Std1003.1b syscalls
428;
429240	OBSOL		t32_nanosleep
430241	UNIMPL
431242	UNIMPL
432243	UNIMPL
433244	UNIMPL
434245	UNIMPL
435246	UNIMPL
436247	UNIMPL
437248	UNIMPL
438249	UNIMPL
439250	STD		{ int sys_minherit(void *addr, size_t len, \
440			    int inherit); }
441251	OBSOL		rfork
442252	STD		{ int sys_poll(struct pollfd *fds, \
443			    u_int nfds, int timeout); }
444253	STD NOLOCK	{ int sys_issetugid(void); }
445254	STD		{ int sys_lchown(const char *path, uid_t uid, gid_t gid); }
446255	STD		{ pid_t sys_getsid(pid_t pid); }
447256	STD		{ int sys_msync(void *addr, size_t len, int flags); }
448257	OBSOL		semctl35
449258	OBSOL		shmctl35
450259	OBSOL		msgctl35
451260	UNIMPL
452261	UNIMPL
453262	UNIMPL
454263	STD NOLOCK	{ int sys_pipe(int *fdp); }
455264	STD		{ int sys_fhopen(const fhandle_t *fhp, int flags); }
456265	UNIMPL
457266	UNIMPL
458267	UNIMPL		pad_preadv
459268	UNIMPL		pad_pwritev
460269	STD NOLOCK	{ int sys_kqueue(void); }
461270	OBSOL		t32_kevent
462271	STD		{ int sys_mlockall(int flags); }
463272	STD		{ int sys_munlockall(void); }
464273	UNIMPL		sys_getpeereid
465274	UNIMPL		sys_extattrctl
466275	UNIMPL		sys_extattr_set_file
467276	UNIMPL		sys_extattr_get_file
468277	UNIMPL		sys_extattr_delete_file
469278	UNIMPL		sys_extattr_set_fd
470279	UNIMPL		sys_extattr_get_fd
471280	UNIMPL		sys_extattr_delete_fd
472281	STD NOLOCK	{ int sys_getresuid(uid_t *ruid, uid_t *euid, \
473			    uid_t *suid); }
474282	STD		{ int sys_setresuid(uid_t ruid, uid_t euid, \
475			    uid_t suid); }
476283	STD NOLOCK	{ int sys_getresgid(gid_t *rgid, gid_t *egid, \
477			    gid_t *sgid); }
478284	STD		{ int sys_setresgid(gid_t rgid, gid_t egid, \
479			    gid_t sgid); }
480285	OBSOL		sys_omquery
481286	UNIMPL		pad_mquery
482287	STD NOLOCK	{ int sys_closefrom(int fd); }
483288	STD		{ int sys_sigaltstack(const struct sigaltstack *nss, \
484			    struct sigaltstack *oss); }
485#ifdef SYSVSHM
486289	STD		{ int sys_shmget(key_t key, size_t size, int shmflg); }
487#else
488289	UNIMPL		shmget
489#endif
490#ifdef SYSVSEM
491290	STD		{ int sys_semop(int semid, struct sembuf *sops, \
492			    size_t nsops); }
493#else
494290    UNIMPL		semop
495#endif
496291	OBSOL		t32_stat
497292	OBSOL		t32_fstat
498293	OBSOL		t32_lstat
499294	STD		{ int sys_fhstat(const fhandle_t *fhp, \
500			    struct stat *sb); }
501#ifdef SYSVSEM
502295	STD		{ int sys___semctl(int semid, int semnum, int cmd, \
503			    union semun *arg); }
504#else
505295	UNIMPL
506#endif
507#ifdef SYSVSHM
508296	STD		{ int sys_shmctl(int shmid, int cmd, \
509			    struct shmid_ds *buf); }
510#else
511296	UNIMPL
512#endif
513#ifdef SYSVMSG
514297	STD		{ int sys_msgctl(int msqid, int cmd, \
515			    struct msqid_ds *buf); }
516#else
517297	UNIMPL
518#endif
519298	STD		{ int sys_sched_yield(void); }
520299	STD NOLOCK	{ pid_t sys_getthrid(void); }
521300	OBSOL		t32___thrsleep
522301	STD NOLOCK	{ int sys___thrwakeup(const volatile void *ident, \
523			    int n); }
524302	STD		{ void sys___threxit(pid_t *notdead); }
525303	STD		{ int sys___thrsigdivert(sigset_t sigmask, \
526			    siginfo_t *info, const struct timespec *timeout); }
527304	STD		{ int sys___getcwd(char *buf, size_t len); }
528305	STD NOLOCK	{ int sys_adjfreq(const int64_t *freq, \
529			    int64_t *oldfreq); }
530306	OBSOL		getfsstat53
531307	OBSOL		statfs53
532308	OBSOL		fstatfs53
533309	OBSOL		fhstatfs53
534310	STD NOLOCK	{ int sys_setrtable(int rtableid); }
535311	STD NOLOCK	{ int sys_getrtable(void); }
536312	OBSOL		t32_getdirentries
537313	STD		{ int sys_faccessat(int fd, const char *path, \
538			    int amode, int flag); }
539314	STD		{ int sys_fchmodat(int fd, const char *path, \
540			    mode_t mode, int flag); }
541315	STD		{ int sys_fchownat(int fd, const char *path, \
542			    uid_t uid, gid_t gid, int flag); }
543316	OBSOL		t32_fstatat
544317	STD		{ int sys_linkat(int fd1, const char *path1, int fd2, \
545			    const char *path2, int flag); }
546318	STD		{ int sys_mkdirat(int fd, const char *path, \
547			    mode_t mode); }
548319	STD		{ int sys_mkfifoat(int fd, const char *path, \
549			    mode_t mode); }
550320	STD		{ int sys_mknodat(int fd, const char *path, \
551			    mode_t mode, dev_t dev); }
552321	STD		{ int sys_openat(int fd, const char *path, int flags, \
553			    ... mode_t mode); }
554322	STD		{ ssize_t sys_readlinkat(int fd, const char *path, \
555			    char *buf, size_t count); }
556323	STD		{ int sys_renameat(int fromfd, const char *from, \
557			    int tofd, const char *to); }
558324	STD		{ int sys_symlinkat(const char *path, int fd, \
559			    const char *link); }
560325	STD		{ int sys_unlinkat(int fd, const char *path, \
561			    int flag); }
562326	OBSOL		t32_utimensat
563327	OBSOL		t32_futimens
564328	OBSOL		__tfork51
565329	STD NOLOCK	{ void sys___set_tcb(void *tcb); }
566330	STD NOLOCK	{ void *sys___get_tcb(void); }
567