xref: /openbsd/sys/kern/syscalls.master (revision 898184e3)
1;	$OpenBSD: syscalls.master,v 1.128 2013/03/14 21:38:22 tedu 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 STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
12;		the compatibility options defined in syscalls.conf.
13;
14; types:
15;	STD	always included
16;	OBSOL	obsolete, not included in system
17;	UNIMPL	unimplemented, not included in system
18;	NODEF	included, but don't define the syscall number
19;	NOARGS	included, but don't define the syscall args structure
20;	INDIR	included, but don't define the syscall args structure,
21;		and allow it to be "really" varargs.
22;
23; The compat options are defined in the syscalls.conf file, and the
24; compat option name is prefixed to the syscall name.  Other than
25; that, they're like NODEF (for 'compat' options), or STD (for
26; 'libcompat' options).
27;
28; The type-dependent arguments are as follows:
29; For STD, NODEF, NOARGS, and compat syscalls:
30;	{ pseudo-proto } [alias]
31; For other syscalls:
32;	[comment]
33;
34; #ifdef's, etc. may be included, and are copied to the output files.
35; #include's are copied to the syscall switch definition file only.
36
37#include <sys/param.h>
38#include <sys/systm.h>
39#include <sys/signal.h>
40#include <sys/mount.h>
41#include <sys/syscallargs.h>
42#include <sys/poll.h>
43#include <sys/event.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		{ ssize_t sys_read(int fd, void *buf, size_t nbyte); }
554	STD		{ 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		{ int sys_close(int fd); }
607	STD		{ pid_t sys_wait4(pid_t pid, int *status, int options, \
61			    struct rusage *rusage); }
628	STD		{ int sys___tfork(const struct __tfork *param, \
63			    size_t psize); }
649	STD		{ int sys_link(const char *path, const char *link); }
6510	STD		{ int sys_unlink(const char *path); }
6611	OBSOL		execv
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		{ int sys_getdtablecount(void); }
7619	OBSOL		olseek
7720	STD NOLOCK	{ pid_t sys_getpid(void); }
7821	STD		{ int sys_mount(const char *type, const char *path, \
79			    int flags, void *data); }
8022	STD		{ int sys_unmount(const char *path, int flags); }
8123	STD		{ int sys_setuid(uid_t uid); }
8224	STD		{ uid_t sys_getuid(void); }
8325	STD		{ uid_t sys_geteuid(void); }
84#ifdef PTRACE
8526	STD		{ int sys_ptrace(int req, pid_t pid, caddr_t addr, \
86			    int data); }
87#else
8826	UNIMPL		ptrace
89#endif
9027	STD		{ ssize_t sys_recvmsg(int s, struct msghdr *msg, \
91			    int flags); }
9228	STD		{ ssize_t sys_sendmsg(int s, \
93			    const struct msghdr *msg, int flags); }
9429	STD		{ ssize_t sys_recvfrom(int s, void *buf, size_t len, \
95			    int flags, struct sockaddr *from, \
96			    socklen_t *fromlenaddr); }
9730	STD		{ int sys_accept(int s, struct sockaddr *name, \
98			    socklen_t *anamelen); }
9931	STD		{ int sys_getpeername(int fdes, struct sockaddr *asa, \
100			    socklen_t *alen); }
10132	STD		{ int sys_getsockname(int fdes, struct sockaddr *asa, \
102			    socklen_t *alen); }
10333	STD		{ int sys_access(const char *path, int flags); }
10434	STD		{ int sys_chflags(const char *path, u_int flags); }
10535	STD		{ int sys_fchflags(int fd, u_int flags); }
10636	STD		{ void sys_sync(void); }
10737	STD		{ int sys_kill(int pid, int signum); }
10838	OBSOL		stat43
10939	STD		{ pid_t sys_getppid(void); }
11040	OBSOL		lstat43
11141	STD		{ int sys_dup(int fd); }
11242	OBSOL		opipe
11343	STD		{ 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		{ gid_t sys_getgid(void); }
12648	STD		{ int sys_sigprocmask(int how, sigset_t mask); }
12749	STD		{ int sys_getlogin(char *namebuf, u_int namelen); }
12850	STD		{ int sys_setlogin(const char *namebuf); }
129#ifdef ACCOUNTING
13051	STD		{ int sys_acct(const char *path); }
131#else
13251	UNIMPL		acct
133#endif
13452	STD		{ int sys_sigpending(void); }
13553	OBSOL		osigaltstack
13654	STD		{ int sys_ioctl(int fd, \
137			    u_long com, ... void *data); }
13855	STD		{ int sys_reboot(int opt); }
13956	STD		{ int sys_revoke(const char *path); }
14057	STD		{ int sys_symlink(const char *path, \
141			    const char *link); }
14258	STD		{ int sys_readlink(const char *path, char *buf, \
143			    size_t count); }
14459	STD		{ int sys_execve(const char *path, \
145			    char * const *argp, char * const *envp); }
14660	STD		{ mode_t sys_umask(mode_t newmask); }
14761	STD		{ int sys_chroot(const char *path); }
14862	OBSOL		fstat43
14963	OBSOL		ogetkerninfo
15064	OBSOL		ogetpagesize
15165	OBSOL		omsync25
15266	STD		{ int sys_vfork(void); }
15367	OBSOL		vread
15468	OBSOL		vwrite
15569	OBSOL		sbrk
15670	OBSOL		sstk
15771	OBSOL		ommap
15872	OBSOL		vadvise
15973	STD		{ int sys_munmap(void *addr, size_t len); }
16074	STD		{ int sys_mprotect(void *addr, size_t len, \
161			    int prot); }
16275	STD		{ int sys_madvise(void *addr, size_t len, \
163			    int behav); }
16476	OBSOL		vhangup
16577	OBSOL		vlimit
16678	STD		{ int sys_mincore(void *addr, size_t len, \
167			    char *vec); }
16879	STD		{ int sys_getgroups(int gidsetsize, \
169			    gid_t *gidset); }
17080	STD		{ int sys_setgroups(int gidsetsize, \
171			    const gid_t *gidset); }
17281	STD		{ int sys_getpgrp(void); }
17382	STD		{ int sys_setpgid(pid_t pid, int pgid); }
17483	STD		{ int sys_setitimer(int which, \
175			    const struct itimerval *itv, \
176			    struct itimerval *oitv); }
17784	OBSOL		owait
17885	OBSOL		swapon25
17986	STD		{ int sys_getitimer(int which, \
180			    struct itimerval *itv); }
18187	OBSOL		ogethostname
18288	OBSOL		osethostname
18389	OBSOL		ogetdtablesize
18490	STD		{ int sys_dup2(int from, int to); }
18591	UNIMPL		getdopt
18692	STD		{ int sys_fcntl(int fd, int cmd, ... void *arg); }
18793	STD		{ int sys_select(int nd, fd_set *in, fd_set *ou, \
188			    fd_set *ex, struct timeval *tv); }
18994	UNIMPL		setdopt
19095	STD		{ int sys_fsync(int fd); }
19196	STD		{ int sys_setpriority(int which, id_t who, int prio); }
19297	STD		{ int sys_socket(int domain, int type, int protocol); }
19398	STD		{ int sys_connect(int s, const struct sockaddr *name, \
194			    socklen_t namelen); }
19599	OBSOL		oaccept
196100	STD		{ int sys_getpriority(int which, id_t who); }
197101	OBSOL		osend
198102	OBSOL		orecv
199103	STD		{ int sys_sigreturn(struct sigcontext *sigcntxp); }
200104	STD		{ int sys_bind(int s, const struct sockaddr *name, \
201			    socklen_t namelen); }
202105	STD		{ int sys_setsockopt(int s, int level, int name, \
203			    const void *val, socklen_t valsize); }
204106	STD		{ int sys_listen(int s, int backlog); }
205107	OBSOL		vtimes
206108	OBSOL		osigvec
207109	OBSOL		osigblock
208110	OBSOL		osigsetmask
209111	STD		{ int sys_sigsuspend(int mask); }
210112	OBSOL		osigstack
211113	OBSOL		orecvmsg
212114	OBSOL		osendmsg
213115	OBSOL		vtrace
214116	STD NOLOCK	{ int sys_gettimeofday(struct timeval *tp, \
215			    struct timezone *tzp); }
216117	STD		{ int sys_getrusage(int who, struct rusage *rusage); }
217118	STD		{ int sys_getsockopt(int s, int level, int name, \
218			    void *val, socklen_t *avalsize); }
219119	OBSOL		resuba
220120	STD		{ ssize_t sys_readv(int fd, \
221			    const struct iovec *iovp, int iovcnt); }
222121	STD		{ ssize_t sys_writev(int fd, \
223			    const struct iovec *iovp, int iovcnt); }
224122	STD		{ int sys_settimeofday(const struct timeval *tv, \
225			    const struct timezone *tzp); }
226123	STD		{ int sys_fchown(int fd, uid_t uid, gid_t gid); }
227124	STD		{ int sys_fchmod(int fd, mode_t mode); }
228125	OBSOL		orecvfrom
229126	STD		{ int sys_setreuid(uid_t ruid, uid_t euid); }
230127	STD		{ int sys_setregid(gid_t rgid, gid_t egid); }
231128	STD		{ int sys_rename(const char *from, const char *to); }
232129	OBSOL		otruncate
233130	OBSOL		oftruncate
234131	STD		{ int sys_flock(int fd, int how); }
235132	STD		{ int sys_mkfifo(const char *path, mode_t mode); }
236133	STD		{ ssize_t sys_sendto(int s, const void *buf, \
237			    size_t len, int flags, const struct sockaddr *to, \
238			    socklen_t tolen); }
239134	STD		{ int sys_shutdown(int s, int how); }
240135	STD		{ int sys_socketpair(int domain, int type, \
241			    int protocol, int *rsv); }
242136	STD		{ int sys_mkdir(const char *path, mode_t mode); }
243137	STD		{ int sys_rmdir(const char *path); }
244138	STD		{ int sys_utimes(const char *path, \
245			    const struct timeval *tptr); }
246139	OBSOL		4.2 sigreturn
247140	STD		{ int sys_adjtime(const struct timeval *delta, \
248			    struct timeval *olddelta); }
249141	OBSOL		ogetpeername
250142	OBSOL		ogethostid
251143	OBSOL		osethostid
252144	OBSOL		ogetrlimit
253145	OBSOL		osetrlimit
254146	OBSOL		okillpg
255147	STD		{ int sys_setsid(void); }
256148	STD		{ int sys_quotactl(const char *path, int cmd, \
257			    int uid, char *arg); }
258149	OBSOL		oquota
259150	OBSOL		ogetsockname
260
261; Syscalls 151-180 inclusive are reserved for vendor-specific
262; system calls.  (This includes various calls added for compatibility
263; with other Unix variants.)
264; Some of these calls are now supported by BSD...
265151	UNIMPL
266152	UNIMPL
267153	UNIMPL
268154	UNIMPL
269#if defined(NFSCLIENT) || defined(NFSSERVER)
270155	STD		{ int sys_nfssvc(int flag, void *argp); }
271#else
272155	UNIMPL
273#endif
274156	OBSOL		ogetdirentries
275157	OBSOL		statfs25
276158	OBSOL		fstatfs25
277159	UNIMPL
278160	UNIMPL
279161	STD		{ int sys_getfh(const char *fname, fhandle_t *fhp); }
280162	OBSOL		ogetdomainname
281163	OBSOL		osetdomainname
282164	UNIMPL		ouname
283165	STD		{ int sys_sysarch(int op, void *parms); }
284166	UNIMPL
285167	UNIMPL
286168	UNIMPL
287169	OBSOL		semsys10
288170	OBSOL		msgsys10
289171	OBSOL		shmsys10
290172	UNIMPL
291173	STD		{ ssize_t sys_pread(int fd, void *buf, \
292			  size_t nbyte, int pad, off_t offset); }
293174	STD		{ ssize_t sys_pwrite(int fd, const void *buf, \
294			  size_t nbyte, int pad, off_t offset); }
295175	UNIMPL		ntp_gettime
296176	UNIMPL		ntp_adjtime
297177	UNIMPL
298178	UNIMPL
299179	UNIMPL
300180	UNIMPL
301
302; Syscalls 181-199 are used by/reserved for BSD
303181	STD		{ int sys_setgid(gid_t gid); }
304182	STD		{ int sys_setegid(gid_t egid); }
305183	STD		{ int sys_seteuid(uid_t euid); }
306184	OBSOL		lfs_bmapv
307185	OBSOL		lfs_markv
308186	OBSOL		lfs_segclean
309187	OBSOL		lfs_segwait
310188	OBSOL		stat35
311189	OBSOL		fstat35
312190	OBSOL		lstat35
313191	STD		{ long sys_pathconf(const char *path, int name); }
314192	STD		{ long sys_fpathconf(int fd, int name); }
315193	STD		{ int sys_swapctl(int cmd, const void *arg, int misc); }
316194	STD		{ int sys_getrlimit(int which, \
317			    struct rlimit *rlp); }
318195	STD		{ int sys_setrlimit(int which, \
319			    const struct rlimit *rlp); }
320196	OBSOL		ogetdirentries48
321197	STD		{ void *sys_mmap(void *addr, size_t len, int prot, \
322			    int flags, int fd, long pad, off_t pos); }
323198	INDIR		{ quad_t sys___syscall(quad_t num, ...); }
324199	STD		{ off_t sys_lseek(int fd, int pad, off_t offset, \
325			    int whence); }
326200	STD		{ int sys_truncate(const char *path, int pad, \
327			    off_t length); }
328201	STD		{ int sys_ftruncate(int fd, int pad, off_t length); }
329202	STD		{ int sys___sysctl(int *name, u_int namelen, \
330			    void *old, size_t *oldlenp, void *new, \
331			    size_t newlen); }
332203	STD		{ int sys_mlock(const void *addr, size_t len); }
333204	STD		{ int sys_munlock(const void *addr, size_t len); }
334205	UNIMPL		sys_undelete
335206	STD		{ int sys_futimes(int fd, \
336			    const struct timeval *tptr); }
337207	STD		{ pid_t sys_getpgid(pid_t pid); }
338208	OBSOL		nnpfspioctl
339209	UNIMPL
340;
341; Syscalls 210-219 are reserved for dynamically loaded syscalls
342;
343#ifdef LKM
344210	NODEF		{ int sys_lkmnosys(void); }
345211	NODEF		{ int sys_lkmnosys(void); }
346212	NODEF		{ int sys_lkmnosys(void); }
347213	NODEF		{ int sys_lkmnosys(void); }
348214	NODEF		{ int sys_lkmnosys(void); }
349215	NODEF		{ int sys_lkmnosys(void); }
350216	NODEF		{ int sys_lkmnosys(void); }
351217	NODEF		{ int sys_lkmnosys(void); }
352218	NODEF		{ int sys_lkmnosys(void); }
353219	NODEF		{ int sys_lkmnosys(void); }
354#else	/* !LKM */
355210	UNIMPL
356211	UNIMPL
357212	UNIMPL
358213	UNIMPL
359214	UNIMPL
360215	UNIMPL
361216	UNIMPL
362217	UNIMPL
363218	UNIMPL
364219	UNIMPL
365#endif	/* !LKM */
366; System calls 220-240 are reserved for use by OpenBSD
367#ifdef SYSVSEM
368220	UNIMPL
369221	STD		{ int sys_semget(key_t key, int nsems, int semflg); }
370#else
371220	UNIMPL		semctl
372221	UNIMPL		semget
373#endif
374222	OBSOL		semop35
375223	OBSOL		semconfig35
376#ifdef SYSVMSG
377224	UNIMPL
378225	STD		{ int sys_msgget(key_t key, int msgflg); }
379226	STD		{ int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \
380			    int msgflg); }
381227	STD		{ int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
382			    long msgtyp, int msgflg); }
383#else
384224	UNIMPL		msgctl
385225	UNIMPL		msgget
386226	UNIMPL		msgsnd
387227	UNIMPL		msgrcv
388#endif
389#ifdef SYSVSHM
390228	STD		{ void *sys_shmat(int shmid, const void *shmaddr, \
391			    int shmflg); }
392229	UNIMPL
393230	STD		{ int sys_shmdt(const void *shmaddr); }
394#else
395228	UNIMPL		shmat
396229	UNIMPL		shmctl
397230	UNIMPL		shmdt
398#endif
399231	OBSOL		shmget35
400232	STD NOLOCK	{ int sys_clock_gettime(clockid_t clock_id, \
401			    struct timespec *tp); }
402233	STD		{ int sys_clock_settime(clockid_t clock_id, \
403			    const struct timespec *tp); }
404234	STD NOLOCK	{ int sys_clock_getres(clockid_t clock_id, \
405			    struct timespec *tp); }
406235	UNIMPL		timer_create
407236	UNIMPL		timer_delete
408237	UNIMPL		timer_settime
409238	UNIMPL		timer_gettime
410239	UNIMPL		timer_getoverrun
411;
412; System calls 240-249 are reserved for other IEEE Std1003.1b syscalls
413;
414240	STD NOLOCK	{ int sys_nanosleep(const struct timespec *rqtp, \
415			    struct timespec *rmtp); }
416241	UNIMPL
417242	UNIMPL
418243	UNIMPL
419244	UNIMPL
420245	UNIMPL
421246	UNIMPL
422247	UNIMPL
423248	UNIMPL
424249	UNIMPL
425250	STD		{ int sys_minherit(void *addr, size_t len, \
426			    int inherit); }
427251	OBSOL		rfork
428252	STD		{ int sys_poll(struct pollfd *fds, \
429			    u_int nfds, int timeout); }
430253	STD NOLOCK	{ int sys_issetugid(void); }
431254	STD		{ int sys_lchown(const char *path, uid_t uid, gid_t gid); }
432255	STD		{ pid_t sys_getsid(pid_t pid); }
433256	STD		{ int sys_msync(void *addr, size_t len, int flags); }
434257	OBSOL		semctl35
435258	OBSOL		shmctl35
436259	OBSOL		msgctl35
437260	UNIMPL
438261	UNIMPL
439262	UNIMPL
440263	STD		{ int sys_pipe(int *fdp); }
441264	STD		{ int sys_fhopen(const fhandle_t *fhp, int flags); }
442265	UNIMPL
443266	UNIMPL
444267	STD		{ ssize_t sys_preadv(int fd, \
445			  const struct iovec *iovp, int iovcnt, \
446			  int pad, off_t offset); }
447268	STD		{ ssize_t sys_pwritev(int fd, \
448			  const struct iovec *iovp, int iovcnt, \
449			  int pad, off_t offset); }
450269	STD		{ int sys_kqueue(void); }
451270	STD		{ int sys_kevent(int fd, \
452			    const struct kevent *changelist, int nchanges, \
453			    struct kevent *eventlist, int nevents, \
454			    const struct timespec *timeout); }
455271	STD		{ int sys_mlockall(int flags); }
456272	STD		{ int sys_munlockall(void); }
457273	UNIMPL		sys_getpeereid
458274	UNIMPL		sys_extattrctl
459275	UNIMPL		sys_extattr_set_file
460276	UNIMPL		sys_extattr_get_file
461277	UNIMPL		sys_extattr_delete_file
462278	UNIMPL		sys_extattr_set_fd
463279	UNIMPL		sys_extattr_get_fd
464280	UNIMPL		sys_extattr_delete_fd
465281	STD		{ int sys_getresuid(uid_t *ruid, uid_t *euid, \
466			    uid_t *suid); }
467282	STD		{ int sys_setresuid(uid_t ruid, uid_t euid, \
468			    uid_t suid); }
469283	STD		{ int sys_getresgid(gid_t *rgid, gid_t *egid, \
470			    gid_t *sgid); }
471284	STD		{ int sys_setresgid(gid_t rgid, gid_t egid, \
472			    gid_t sgid); }
473285	OBSOL		sys_omquery
474286	STD		{ void *sys_mquery(void *addr, size_t len, int prot, \
475			    int flags, int fd, long pad, off_t pos); }
476287	STD		{ int sys_closefrom(int fd); }
477288	STD		{ int sys_sigaltstack(const struct sigaltstack *nss, \
478			    struct sigaltstack *oss); }
479#ifdef SYSVSHM
480289	STD		{ int sys_shmget(key_t key, size_t size, int shmflg); }
481#else
482289	UNIMPL		shmget
483#endif
484#ifdef SYSVSEM
485290	STD		{ int sys_semop(int semid, struct sembuf *sops, \
486			    size_t nsops); }
487#else
488290    UNIMPL		semop
489#endif
490291	STD		{ int sys_stat(const char *path, struct stat *ub); }
491292	STD		{ int sys_fstat(int fd, struct stat *sb); }
492293	STD		{ int sys_lstat(const char *path, struct stat *ub); }
493294	STD		{ int sys_fhstat(const fhandle_t *fhp, \
494			    struct stat *sb); }
495#ifdef SYSVSEM
496295	STD		{ int sys___semctl(int semid, int semnum, int cmd, \
497			    union semun *arg); }
498#else
499295	UNIMPL
500#endif
501#ifdef SYSVSHM
502296	STD		{ int sys_shmctl(int shmid, int cmd, \
503			    struct shmid_ds *buf); }
504#else
505296	UNIMPL
506#endif
507#ifdef SYSVMSG
508297	STD		{ int sys_msgctl(int msqid, int cmd, \
509			    struct msqid_ds *buf); }
510#else
511297	UNIMPL
512#endif
513298	STD NOLOCK	{ int sys_sched_yield(void); }
514299	STD NOLOCK	{ pid_t sys_getthrid(void); }
515300	STD		{ int sys___thrsleep(const volatile void *ident, \
516			    clockid_t clock_id, const struct timespec *tp, \
517			    void *lock, const int *abort); }
518301	STD		{ int sys___thrwakeup(const volatile void *ident, \
519			    int n); }
520302	STD		{ void sys___threxit(pid_t *notdead); }
521303	STD		{ int sys___thrsigdivert(sigset_t sigmask, \
522			    siginfo_t *info, const struct timespec *timeout); }
523304	STD		{ int sys___getcwd(char *buf, size_t len); }
524305	STD		{ int sys_adjfreq(const int64_t *freq, \
525			    int64_t *oldfreq); }
526306	STD		{ int sys_getfsstat(struct statfs *buf, size_t bufsize, \
527			    int flags); }
528307	STD		{ int sys_statfs(const char *path, \
529			    struct statfs *buf); }
530308	STD		{ int sys_fstatfs(int fd, struct statfs *buf); }
531309	STD		{ int sys_fhstatfs(const fhandle_t *fhp, \
532			    struct statfs *buf); }
533310	STD		{ int sys_setrtable(int rtableid); }
534311	STD		{ int sys_getrtable(void); }
535312	STD		{ int sys_getdirentries(int fd, char *buf, \
536			    int count, off_t *basep); }
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	STD		{ int sys_fstatat(int fd, const char *path, \
544			    struct stat *buf, int flag); }
545317	STD		{ int sys_linkat(int fd1, const char *path1, int fd2, \
546			    const char *path2, int flag); }
547318	STD		{ int sys_mkdirat(int fd, const char *path, \
548			    mode_t mode); }
549319	STD		{ int sys_mkfifoat(int fd, const char *path, \
550			    mode_t mode); }
551320	STD		{ int sys_mknodat(int fd, const char *path, \
552			    mode_t mode, dev_t dev); }
553321	STD		{ int sys_openat(int fd, const char *path, int flags, \
554			    ... mode_t mode); }
555322	STD		{ ssize_t sys_readlinkat(int fd, const char *path, \
556			    char *buf, size_t count); }
557323	STD		{ int sys_renameat(int fromfd, const char *from, \
558			    int tofd, const char *to); }
559324	STD		{ int sys_symlinkat(const char *path, int fd, \
560			    const char *link); }
561325	STD		{ int sys_unlinkat(int fd, const char *path, \
562			    int flag); }
563326	STD		{ int sys_utimensat(int fd, const char *path, \
564			    const struct timespec *times, int flag); }
565327	STD		{ int sys_futimens(int fd, \
566			    const struct timespec *times); }
567328	COMPAT_O51	{ int sys___tfork(struct __tfork51 *param); }
568329	STD NOLOCK	{ void sys___set_tcb(void *tcb); }
569330	STD NOLOCK	{ void *sys___get_tcb(void); }
570