xref: /openbsd/sys/kern/syscalls.master (revision d800346e)
1;	$OpenBSD: syscalls.master,v 1.265 2024/08/02 14:34:45 mvs 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;	NOARGS	included, but don't define the syscall args structure
16;	NODEF	included, but don't define the syscall number
17;	NOLOCK	don't acquire the kernel lock when calling this syscall
18;	OBSOL	obsolete, not included in system
19;	STD	always included
20;	UNIMPL	unimplemented, not included in system
21;
22; The compat options are defined in the syscalls.conf file, and the
23; compat option name is prefixed to the syscall name.  Other than
24; that, they're like NODEF (for 'compat' options), or STD (for
25; 'libcompat' options).
26;
27; The type-dependent arguments are as follows:
28; For STD, NODEF, NOARGS, and compat syscalls:
29;	{ pseudo-proto } [alias]
30; For other syscalls:
31;	[comment]
32;
33; #ifdef's, etc. may be included, and are copied to the output files.
34; #include's are copied to the syscall switch definition file only.
35
36#include <sys/param.h>
37#include <sys/systm.h>
38#include <sys/signal.h>
39#include <sys/mount.h>
40#include <sys/syscallargs.h>
41#include <sys/poll.h>
42
43; Reserved/unimplemented system calls in the range 0-150 inclusive
44; are reserved for use in future Berkeley releases.
45; Additional system calls implemented in vendor and other
46; redistributions should be placed in the reserved range at the end
47; of the current calls.
48
490	UNIMPL		syscall
501	STD		{ void sys_exit(int rval); }
512	STD		{ int sys_fork(void); }
523	STD NOLOCK	{ ssize_t sys_read(int fd, void *buf, size_t nbyte); }
534	STD NOLOCK	{ ssize_t sys_write(int fd, const void *buf, \
54			    size_t nbyte); }
555	STD		{ int sys_open(const char *path, \
56			    int flags, ... mode_t mode); }
576	STD NOLOCK	{ int sys_close(int fd); }
587	STD NOLOCK	{ int sys_getentropy(void *buf, size_t nbyte); }
598	STD		{ int sys___tfork(const struct __tfork *param, \
60			    size_t psize); }
619	STD		{ int sys_link(const char *path, const char *link); }
6210	STD		{ int sys_unlink(const char *path); }
6311	STD		{ pid_t sys_wait4(pid_t pid, int *status, \
64			    int options, struct rusage *rusage); }
6512	STD		{ int sys_chdir(const char *path); }
6613	STD		{ int sys_fchdir(int fd); }
6714	STD		{ int sys_mknod(const char *path, mode_t mode, \
68			    dev_t dev); }
6915	STD		{ int sys_chmod(const char *path, mode_t mode); }
7016	STD		{ int sys_chown(const char *path, uid_t uid, \
71			    gid_t gid); }
7217	STD		{ int sys_obreak(char *nsize); } break
7318	STD NOLOCK	{ int sys_getdtablecount(void); }
7419	STD		{ int sys_getrusage(int who, \
75			    struct rusage *rusage); }
7620	STD NOLOCK	{ pid_t sys_getpid(void); }
7721	STD		{ int sys_mount(const char *type, const char *path, \
78			    int flags, void *data); }
7922	STD		{ int sys_unmount(const char *path, int flags); }
8023	STD		{ int sys_setuid(uid_t uid); }
8124	STD NOLOCK	{ uid_t sys_getuid(void); }
8225	STD NOLOCK	{ uid_t sys_geteuid(void); }
83#ifdef PTRACE
8426	STD		{ int sys_ptrace(int req, pid_t pid, caddr_t addr, \
85			    int data); }
86#else
8726	UNIMPL		ptrace
88#endif
8927	STD NOLOCK	{ ssize_t sys_recvmsg(int s, struct msghdr *msg, \
90			    int flags); }
9128	STD NOLOCK	{ ssize_t sys_sendmsg(int s, \
92			    const struct msghdr *msg, int flags); }
9329	STD NOLOCK	{ ssize_t sys_recvfrom(int s, void *buf, size_t len, \
94			    int flags, struct sockaddr *from, \
95			    socklen_t *fromlenaddr); }
9630	STD NOLOCK	{ int sys_accept(int s, struct sockaddr *name, \
97			    socklen_t *anamelen); }
9831	STD NOLOCK	{ int sys_getpeername(int fdes, struct sockaddr *asa, \
99			    socklen_t *alen); }
10032	STD NOLOCK	{ int sys_getsockname(int fdes, struct sockaddr *asa, \
101			    socklen_t *alen); }
10233	STD		{ int sys_access(const char *path, int amode); }
10334	STD		{ int sys_chflags(const char *path, u_int flags); }
10435	STD		{ int sys_fchflags(int fd, u_int flags); }
10536	STD		{ void sys_sync(void); }
10637	OBSOL		msyscall
10738	STD		{ int sys_stat(const char *path, struct stat *ub); }
10839	STD NOLOCK	{ pid_t sys_getppid(void); }
10940	STD		{ int sys_lstat(const char *path, struct stat *ub); }
11041	STD NOLOCK	{ int sys_dup(int fd); }
11142	STD		{ int sys_fstatat(int fd, const char *path, \
112			    struct stat *buf, int flag); }
11343	STD NOLOCK	{ gid_t sys_getegid(void); }
11444	STD		{ int sys_profil(caddr_t samples, size_t size, \
115			    u_long offset, u_int scale); }
116#ifdef KTRACE
11745	STD		{ int sys_ktrace(const char *fname, int ops, \
118			    int facs, pid_t pid); }
119#else
12045	UNIMPL		ktrace
121#endif
12246	STD		{ int sys_sigaction(int signum, \
123			    const struct sigaction *nsa, \
124			    struct sigaction *osa); }
12547	STD NOLOCK	{ gid_t sys_getgid(void); }
12648	STD NOLOCK	{ int sys_sigprocmask(int how, sigset_t mask); }
12749	STD NOLOCK	{ void *sys_mmap(void *addr, size_t len, int prot, \
128			    int flags, int fd, off_t pos); }
12950	STD		{ int sys_setlogin(const char *namebuf); }
130#ifdef ACCOUNTING
13151	STD		{ int sys_acct(const char *path); }
132#else
13351	UNIMPL		acct
134#endif
13552	STD		{ int sys_sigpending(void); }
13653	STD		{ int sys_fstat(int fd, struct stat *sb); }
13754	STD NOLOCK	{ int sys_ioctl(int fd, \
138			    u_long com, ... void *data); }
13955	STD		{ int sys_reboot(int opt); }
14056	STD		{ int sys_revoke(const char *path); }
14157	STD		{ int sys_symlink(const char *path, \
142			    const char *link); }
14358	STD		{ ssize_t sys_readlink(const char *path, \
144			    char *buf, size_t count); }
14559	STD		{ int sys_execve(const char *path, \
146			    char * const *argp, char * const *envp); }
14760	STD NOLOCK	{ mode_t sys_umask(mode_t newmask); }
14861	STD		{ int sys_chroot(const char *path); }
14962	STD		{ int sys_getfsstat(struct statfs *buf, size_t bufsize, \
150			    int flags); }
15163	STD		{ int sys_statfs(const char *path, \
152			    struct statfs *buf); }
15364	STD		{ int sys_fstatfs(int fd, struct statfs *buf); }
15465	STD		{ int sys_fhstatfs(const fhandle_t *fhp, \
155			    struct statfs *buf); }
15666	STD		{ int sys_vfork(void); }
15767	STD NOLOCK	{ int sys_gettimeofday(struct timeval *tp, \
158			    struct timezone *tzp); }
15968	STD NOLOCK	{ int sys_settimeofday(const struct timeval *tv, \
160			    const struct timezone *tzp); }
16169	STD NOLOCK	{ int sys_setitimer(int which, \
162			    const struct itimerval *itv, \
163			    struct itimerval *oitv); }
16470	STD NOLOCK	{ int sys_getitimer(int which, \
165			    struct itimerval *itv); }
16671	STD NOLOCK	{ int sys_select(int nd, fd_set *in, fd_set *ou, \
167			    fd_set *ex, struct timeval *tv); }
16872	STD NOLOCK	{ int sys_kevent(int fd, \
169			    const struct kevent *changelist, int nchanges, \
170			    struct kevent *eventlist, int nevents, \
171			    const struct timespec *timeout); }
17273	STD NOLOCK	{ int sys_munmap(void *addr, size_t len); }
17374	STD NOLOCK	{ int sys_mprotect(void *addr, size_t len, \
174			    int prot); }
17575	STD		{ int sys_madvise(void *addr, size_t len, \
176			    int behav); }
17776	STD		{ int sys_utimes(const char *path, \
178			    const struct timeval *tptr); }
17977	STD		{ int sys_futimes(int fd, \
180			    const struct timeval *tptr); }
18178	STD		{ void *sys_mquery(void *addr, size_t len, int prot, \
182			    int flags, int fd, off_t pos); }
18379	STD NOLOCK	{ int sys_getgroups(int gidsetsize, \
184			    gid_t *gidset); }
18580	STD		{ int sys_setgroups(int gidsetsize, \
186			    const gid_t *gidset); }
18781	STD		{ int sys_getpgrp(void); }
18882	STD		{ int sys_setpgid(pid_t pid, pid_t pgid); }
18983	STD NOLOCK	{ int sys_futex(uint32_t *f, int op, int val, \
190			    const struct timespec *timeout, uint32_t *g); }
19184	STD		{ int sys_utimensat(int fd, const char *path, \
192			    const struct timespec *times, int flag); }
19385	STD		{ int sys_futimens(int fd, \
194			    const struct timespec *times); }
19586	STD NOLOCK	{ int sys_kbind(const struct __kbind *param, \
196			    size_t psize, int64_t proc_cookie); }
19787	STD NOLOCK	{ int sys_clock_gettime(clockid_t clock_id, \
198			    struct timespec *tp); }
19988	STD NOLOCK	{ int sys_clock_settime(clockid_t clock_id, \
200			    const struct timespec *tp); }
20189	STD NOLOCK	{ int sys_clock_getres(clockid_t clock_id, \
202			    struct timespec *tp); }
20390	STD NOLOCK	{ int sys_dup2(int from, int to); }
20491	STD NOLOCK	{ int sys_nanosleep(const struct timespec *rqtp, \
205			    struct timespec *rmtp); }
20692	STD NOLOCK	{ int sys_fcntl(int fd, int cmd, ... void *arg); }
20793	STD NOLOCK	{ int sys_accept4(int s, struct sockaddr *name, \
208			    socklen_t *anamelen, int flags); }
20994	STD NOLOCK	{ int sys___thrsleep(const volatile void *ident, \
210			    clockid_t clock_id, const struct timespec *tp, \
211			    void *lock, const int *abort); }
21295	STD		{ int sys_fsync(int fd); }
21396	STD		{ int sys_setpriority(int which, id_t who, int prio); }
21497	STD NOLOCK	{ int sys_socket(int domain, int type, int protocol); }
21598	STD NOLOCK	{ int sys_connect(int s, const struct sockaddr *name, \
216			    socklen_t namelen); }
21799	STD		{ int sys_getdents(int fd, void *buf, size_t buflen); }
218100	STD		{ int sys_getpriority(int which, id_t who); }
219101	STD NOLOCK	{ int sys_pipe2(int *fdp, int flags); }
220102	STD NOLOCK	{ int sys_dup3(int from, int to, int flags); }
221103	STD		{ int sys_sigreturn(struct sigcontext *sigcntxp); }
222104	STD NOLOCK	{ int sys_bind(int s, const struct sockaddr *name, \
223			    socklen_t namelen); }
224105	STD NOLOCK	{ int sys_setsockopt(int s, int level, int name, \
225			    const void *val, socklen_t valsize); }
226106	STD NOLOCK	{ int sys_listen(int s, int backlog); }
227107	STD		{ int sys_chflagsat(int fd, const char *path, \
228			    u_int flags, int atflags); }
229108	STD NOLOCK	{ int sys_pledge(const char *promises, \
230			    const char *execpromises); }
231109	STD NOLOCK	{ int sys_ppoll(struct pollfd *fds, \
232			    u_int nfds, const struct timespec *ts, \
233			    const sigset_t *mask); }
234110	STD NOLOCK	{ int sys_pselect(int nd, fd_set *in, fd_set *ou, \
235			    fd_set *ex, const struct timespec *ts, \
236			    const sigset_t *mask); }
237111	STD NOLOCK	{ int sys_sigsuspend(int mask); }
238112	STD NOLOCK	{ int sys_sendsyslog(const char *buf, size_t nbyte, \
239			    int flags); }
240113	UNIMPL		fktrace
241114	STD 		{ int sys_unveil(const char *path, \
242			    const char *permissions); }
243115	STD		{ int sys___realpath(const char *pathname, \
244			    char *resolved); }
245116	STD NOLOCK	{ int sys_recvmmsg(int s, struct mmsghdr *mmsg, \
246			    unsigned int vlen, int flags, \
247			    struct timespec *timeout); }
248117	STD NOLOCK	{ int sys_sendmmsg(int s,  struct mmsghdr *mmsg,\
249			    unsigned int vlen, int flags); }
250118	STD NOLOCK	{ int sys_getsockopt(int s, int level, int name, \
251			    void *val, socklen_t *avalsize); }
252119	STD		{ int sys_thrkill(pid_t tid, int signum, void *tcb); }
253120	STD NOLOCK	{ ssize_t sys_readv(int fd, \
254			    const struct iovec *iovp, int iovcnt); }
255121	STD NOLOCK	{ ssize_t sys_writev(int fd, \
256			    const struct iovec *iovp, int iovcnt); }
257122	STD		{ int sys_kill(int pid, int signum); }
258123	STD		{ int sys_fchown(int fd, uid_t uid, gid_t gid); }
259124	STD		{ int sys_fchmod(int fd, mode_t mode); }
260125	OBSOL		orecvfrom
261126	STD		{ int sys_setreuid(uid_t ruid, uid_t euid); }
262127	STD		{ int sys_setregid(gid_t rgid, gid_t egid); }
263128	STD		{ int sys_rename(const char *from, const char *to); }
264129	OBSOL		otruncate
265130	OBSOL		oftruncate
266131	STD NOLOCK	{ int sys_flock(int fd, int how); }
267132	STD		{ int sys_mkfifo(const char *path, mode_t mode); }
268133	STD NOLOCK	{ ssize_t sys_sendto(int s, const void *buf, \
269			    size_t len, int flags, const struct sockaddr *to, \
270			    socklen_t tolen); }
271134	STD NOLOCK	{ int sys_shutdown(int s, int how); }
272135	STD NOLOCK	{ int sys_socketpair(int domain, int type, \
273			    int protocol, int *rsv); }
274136	STD		{ int sys_mkdir(const char *path, mode_t mode); }
275137	STD		{ int sys_rmdir(const char *path); }
276138	OBSOL		t32_utimes
277139	OBSOL		4.2 sigreturn
278140	STD NOLOCK	{ int sys_adjtime(const struct timeval *delta, \
279			    struct timeval *olddelta); }
280141	STD		{ int sys_getlogin_r(char *namebuf, size_t namelen); }
281142	STD		{ int sys_getthrname(pid_t tid, char *name, size_t len); }
282143	STD		{ int sys_setthrname(pid_t tid, const char *name); }
283144	OBSOL		ogetrlimit
284145	OBSOL		osetrlimit
285146	OBSOL		pinsyscall
286147	STD		{ int sys_setsid(void); }
287148	STD		{ int sys_quotactl(const char *path, int cmd, \
288			    int uid, char *arg); }
289149	OBSOL		oquota
290150	STD NOLOCK	{ int sys_ypconnect(int type); }
291
292; Syscalls 151-180 inclusive are reserved for vendor-specific
293; system calls.  (This includes various calls added for compatibility
294; with other Unix variants.)
295; Some of these calls are now supported by BSD...
296151	UNIMPL
297152	UNIMPL
298153	UNIMPL
299154	UNIMPL
300#if defined(NFSCLIENT) || defined(NFSSERVER)
301155	STD		{ int sys_nfssvc(int flag, void *argp); }
302#else
303155	UNIMPL
304#endif
305156	OBSOL		ogetdirentries
306157	OBSOL		statfs25
307158	STD		{ int sys_pinsyscalls(void *base, size_t len, \
308			    u_int *pins, int npins); }
309159	STD		{ int sys_mimmutable(void *addr, size_t len); }
310160	STD		{ int sys_waitid(int idtype, id_t id, \
311			    siginfo_t *info, int options); }
312161	STD		{ int sys_getfh(const char *fname, fhandle_t *fhp); }
313162	OBSOL		ogetdomainname
314163	OBSOL		osetdomainname
315164	STD		{ int sys___tmpfd(int flags); }
316165	STD		{ int sys_sysarch(int op, void *parms); }
317166	STD NOLOCK	{ off_t sys_lseek(int fd, off_t offset, int whence); }
318167	STD		{ int sys_truncate(const char *path, off_t length); }
319168	STD		{ int sys_ftruncate(int fd, off_t length); }
320169	STD NOLOCK	{ ssize_t sys_pread(int fd, void *buf, \
321			    size_t nbyte, off_t offset); }
322170	STD NOLOCK	{ ssize_t sys_pwrite(int fd, const void *buf, \
323			    size_t nbyte, off_t offset); }
324171	STD NOLOCK	{ ssize_t sys_preadv(int fd, \
325			    const struct iovec *iovp, int iovcnt, \
326			    off_t offset); }
327172	STD NOLOCK	{ ssize_t sys_pwritev(int fd, \
328			    const struct iovec *iovp, int iovcnt, \
329			    off_t offset); }
330173	OBSOL		pad_pread
331174	OBSOL		pad_pwrite
332175	UNIMPL		ntp_gettime
333176	UNIMPL		ntp_adjtime
334177	UNIMPL
335178	UNIMPL
336179	UNIMPL
337180	UNIMPL
338
339; Syscalls 181-199 are used by/reserved for BSD
340181	STD		{ int sys_setgid(gid_t gid); }
341182	STD		{ int sys_setegid(gid_t egid); }
342183	STD		{ int sys_seteuid(uid_t euid); }
343184	OBSOL		lfs_bmapv
344185	OBSOL		lfs_markv
345186	OBSOL		lfs_segclean
346187	OBSOL		lfs_segwait
347188	OBSOL		stat35
348189	OBSOL		fstat35
349190	STD		{ long sys_pathconfat(int fd, const char *path, \
350			    int name, int flag); }
351191	STD		{ long sys_pathconf(const char *path, int name); }
352192	STD		{ long sys_fpathconf(int fd, int name); }
353193	STD		{ int sys_swapctl(int cmd, const void *arg, int misc); }
354194	STD NOLOCK	{ int sys_getrlimit(int which, \
355			    struct rlimit *rlp); }
356195	STD NOLOCK	{ int sys_setrlimit(int which, \
357			    const struct rlimit *rlp); }
358196	OBSOL		ogetdirentries48
359197	OBSOL		pad_mmap
360198	OBSOL		__syscall
361199	OBSOL		pad_lseek
362200	OBSOL		pad_truncate
363201	OBSOL		pad_ftruncate
364202	STD NOLOCK	{ int sys_sysctl(const int *name, u_int namelen, \
365			    void *old, size_t *oldlenp, void *new, \
366			    size_t newlen); }
367203	STD		{ int sys_mlock(const void *addr, size_t len); }
368204	STD		{ int sys_munlock(const void *addr, size_t len); }
369205	UNIMPL		sys_undelete
370206	OBSOL		t32_futimes
371207	STD		{ pid_t sys_getpgid(pid_t pid); }
372208	OBSOL		nnpfspioctl
373209	STD NOLOCK	{ int sys_utrace(const char *label, const void *addr, \
374			    size_t len); }
375;
376; Syscalls 210-219 were reserved for dynamically loaded syscalls
377;
378210	UNIMPL
379211	UNIMPL
380212	UNIMPL
381213	UNIMPL
382214	UNIMPL
383215	UNIMPL
384216	UNIMPL
385217	UNIMPL
386218	UNIMPL
387219	UNIMPL
388; System calls 220-240 are reserved for use by OpenBSD
389#ifdef SYSVSEM
390220	UNIMPL
391221	STD		{ int sys_semget(key_t key, int nsems, int semflg); }
392#else
393220	UNIMPL		semctl
394221	UNIMPL		semget
395#endif
396222	OBSOL		semop35
397223	OBSOL		semconfig35
398#ifdef SYSVMSG
399224	UNIMPL
400225	STD		{ int sys_msgget(key_t key, int msgflg); }
401226	STD		{ int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \
402			    int msgflg); }
403227	STD		{ int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
404			    long msgtyp, int msgflg); }
405#else
406224	UNIMPL		msgctl
407225	UNIMPL		msgget
408226	UNIMPL		msgsnd
409227	UNIMPL		msgrcv
410#endif
411#ifdef SYSVSHM
412228	STD		{ void *sys_shmat(int shmid, const void *shmaddr, \
413			    int shmflg); }
414229	UNIMPL
415230	STD		{ int sys_shmdt(const void *shmaddr); }
416#else
417228	UNIMPL		shmat
418229	UNIMPL		shmctl
419230	UNIMPL		shmdt
420#endif
421231	OBSOL		shmget35
422232	OBSOL		t32_clock_gettime
423233	OBSOL		t32_clock_settime
424234	OBSOL		t32_clock_getres
425235	UNIMPL		timer_create
426236	UNIMPL		timer_delete
427237	UNIMPL		timer_settime
428238	UNIMPL		timer_gettime
429239	UNIMPL		timer_getoverrun
430;
431; System calls 240-249 are reserved for other IEEE Std1003.1b syscalls
432;
433240	OBSOL		t32_nanosleep
434241	UNIMPL
435242	UNIMPL
436243	UNIMPL
437244	UNIMPL
438245	UNIMPL
439246	UNIMPL
440247	UNIMPL
441248	UNIMPL
442249	UNIMPL
443250	STD NOLOCK	{ int sys_minherit(void *addr, size_t len, \
444			    int inherit); }
445251	OBSOL		rfork
446252	STD NOLOCK	{ int sys_poll(struct pollfd *fds, \
447			    u_int nfds, int timeout); }
448253	STD NOLOCK	{ int sys_issetugid(void); }
449254	STD		{ int sys_lchown(const char *path, uid_t uid, gid_t gid); }
450255	STD		{ pid_t sys_getsid(pid_t pid); }
451256	STD		{ int sys_msync(void *addr, size_t len, int flags); }
452257	OBSOL		semctl35
453258	OBSOL		shmctl35
454259	OBSOL		msgctl35
455260	UNIMPL
456261	UNIMPL
457262	UNIMPL
458263	STD NOLOCK	{ int sys_pipe(int *fdp); }
459264	STD		{ int sys_fhopen(const fhandle_t *fhp, int flags); }
460265	UNIMPL
461266	UNIMPL
462267	OBSOL		pad_preadv
463268	OBSOL		pad_pwritev
464269	STD NOLOCK	{ int sys_kqueue(void); }
465270	STD NOLOCK	{ int sys_kqueue1(int flags); }
466271	STD		{ int sys_mlockall(int flags); }
467272	STD		{ int sys_munlockall(void); }
468273	UNIMPL		sys_getpeereid
469274	UNIMPL		sys_extattrctl
470275	UNIMPL		sys_extattr_set_file
471276	UNIMPL		sys_extattr_get_file
472277	UNIMPL		sys_extattr_delete_file
473278	UNIMPL		sys_extattr_set_fd
474279	UNIMPL		sys_extattr_get_fd
475280	UNIMPL		sys_extattr_delete_fd
476281	STD NOLOCK	{ int sys_getresuid(uid_t *ruid, uid_t *euid, \
477			    uid_t *suid); }
478282	STD		{ int sys_setresuid(uid_t ruid, uid_t euid, \
479			    uid_t suid); }
480283	STD NOLOCK	{ int sys_getresgid(gid_t *rgid, gid_t *egid, \
481			    gid_t *sgid); }
482284	STD		{ int sys_setresgid(gid_t rgid, gid_t egid, \
483			    gid_t sgid); }
484285	OBSOL		sys_omquery
485286	OBSOL		pad_mquery
486287	STD NOLOCK	{ int sys_closefrom(int fd); }
487288	STD		{ int sys_sigaltstack(const struct sigaltstack *nss, \
488			    struct sigaltstack *oss); }
489#ifdef SYSVSHM
490289	STD		{ int sys_shmget(key_t key, size_t size, int shmflg); }
491#else
492289	UNIMPL		shmget
493#endif
494#ifdef SYSVSEM
495290	STD		{ int sys_semop(int semid, struct sembuf *sops, \
496			    size_t nsops); }
497#else
498290    UNIMPL		semop
499#endif
500291	OBSOL		t32_stat
501292	OBSOL		t32_fstat
502293	OBSOL		t32_lstat
503294	STD		{ int sys_fhstat(const fhandle_t *fhp, \
504			    struct stat *sb); }
505#ifdef SYSVSEM
506295	STD		{ int sys___semctl(int semid, int semnum, int cmd, \
507			    union semun *arg); }
508#else
509295	UNIMPL
510#endif
511#ifdef SYSVSHM
512296	STD		{ int sys_shmctl(int shmid, int cmd, \
513			    struct shmid_ds *buf); }
514#else
515296	UNIMPL
516#endif
517#ifdef SYSVMSG
518297	STD		{ int sys_msgctl(int msqid, int cmd, \
519			    struct msqid_ds *buf); }
520#else
521297	UNIMPL
522#endif
523298	STD NOLOCK	{ int sys_sched_yield(void); }
524299	STD NOLOCK	{ pid_t sys_getthrid(void); }
525300	OBSOL		t32___thrsleep
526301	STD NOLOCK	{ int sys___thrwakeup(const volatile void *ident, \
527			    int n); }
528302	STD		{ void sys___threxit(pid_t *notdead); }
529303	STD NOLOCK	{ int sys___thrsigdivert(sigset_t sigmask, \
530			    siginfo_t *info, const struct timespec *timeout); }
531304	STD		{ int sys___getcwd(char *buf, size_t len); }
532305	STD NOLOCK	{ int sys_adjfreq(const int64_t *freq, \
533			    int64_t *oldfreq); }
534306	OBSOL		getfsstat53
535307	OBSOL		statfs53
536308	OBSOL		fstatfs53
537309	OBSOL		fhstatfs53
538310	STD NOLOCK	{ int sys_setrtable(int rtableid); }
539311	STD NOLOCK	{ int sys_getrtable(void); }
540312	OBSOL		t32_getdirentries
541313	STD		{ int sys_faccessat(int fd, const char *path, \
542			    int amode, int flag); }
543314	STD		{ int sys_fchmodat(int fd, const char *path, \
544			    mode_t mode, int flag); }
545315	STD		{ int sys_fchownat(int fd, const char *path, \
546			    uid_t uid, gid_t gid, int flag); }
547316	OBSOL		t32_fstatat
548317	STD		{ int sys_linkat(int fd1, const char *path1, int fd2, \
549			    const char *path2, int flag); }
550318	STD		{ int sys_mkdirat(int fd, const char *path, \
551			    mode_t mode); }
552319	STD		{ int sys_mkfifoat(int fd, const char *path, \
553			    mode_t mode); }
554320	STD		{ int sys_mknodat(int fd, const char *path, \
555			    mode_t mode, dev_t dev); }
556321	STD		{ int sys_openat(int fd, const char *path, int flags, \
557			    ... mode_t mode); }
558322	STD		{ ssize_t sys_readlinkat(int fd, const char *path, \
559			    char *buf, size_t count); }
560323	STD		{ int sys_renameat(int fromfd, const char *from, \
561			    int tofd, const char *to); }
562324	STD		{ int sys_symlinkat(const char *path, int fd, \
563			    const char *link); }
564325	STD		{ int sys_unlinkat(int fd, const char *path, \
565			    int flag); }
566326	OBSOL		t32_utimensat
567327	OBSOL		t32_futimens
568328	OBSOL		__tfork51
569329	STD NOLOCK	{ void sys___set_tcb(void *tcb); }
570330	STD NOLOCK	{ void *sys___get_tcb(void); }
571