1;	$MirOS: src/sys/kern/syscalls.master,v 1.10 2007/05/19 21:33:07 tg Exp $
2;	$OpenBSD: syscalls.master,v 1.76 2004/07/15 14:35:34 deraadt Exp $
3;	$NetBSD: syscalls.master,v 1.32 1996/04/23 10:24:21 mycroft Exp $
4;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
5
6; MirOS BSD 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, EMUL, INDIR or
12;		one of 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;	EMUL	not included, but define the syscall args structure
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, EMUL, 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#include <sys/event.h>
45
46; Reserved/unimplemented system calls in the range 0-150 inclusive
47; are reserved for use in future Berkeley releases.
48; Additional system calls implemented in vendor and other
49; redistributions should be placed in the reserved range at the end
50; of the current calls.
51
520	INDIR		{ int sys_syscall(int number, ...); }
531	STD		{ void sys_exit(int rval); }
542	STD		{ int sys_fork(void); }
553	STD		{ ssize_t sys_read(int fd, void *buf, size_t nbyte); }
564	STD		{ ssize_t sys_write(int fd, const void *buf, \
57			    size_t nbyte); }
585	STD		{ int sys_open(const char *path, \
59			    int flags, ... mode_t mode); }
606	STD		{ int sys_close(int fd); }
617	STD		{ pid_t sys_wait4(pid_t pid, int *status, \
62			    int options, struct rusage *rusage); }
638	EMUL		{ int compat_43_sys_creat(const char *path, \
64			    mode_t mode); } ocreat
659	STD		{ int sys_link(const char *path, const char *link); }
6610	STD		{ int sys_unlink(const char *path); }
6711	OBSOL		execv
6812	STD		{ int sys_chdir(const char *path); }
6913	STD		{ int sys_fchdir(int fd); }
7014	STD		{ int sys_mknod(const char *path, mode_t mode, \
71			    dev_t dev); }
7215	STD		{ int sys_chmod(const char *path, mode_t mode); }
7316	STD		{ int sys_chown(const char *path, uid_t uid, \
74			    gid_t gid); }
7517	STD		{ int sys_obreak(char *nsize); } break
7618	UNIMPL		ogetfsstat
7719	EMUL		{ long compat_43_sys_lseek(int fd, long offset, \
78			    int whence); } olseek
7920	STD		{ pid_t sys_getpid(void); }
8021	STD		{ int sys_mount(const char *type, const char *path, \
81			    int flags, void *data); }
8222	STD		{ int sys_unmount(const char *path, int flags); }
8323	STD		{ int sys_setuid(uid_t uid); }
8424	STD		{ uid_t sys_getuid(void); }
8525	STD		{ uid_t sys_geteuid(void); }
86#ifdef PTRACE
8726	STD		{ int sys_ptrace(int req, pid_t pid, caddr_t addr, \
88			    int data); }
89#else
9026	UNIMPL		ptrace
91#endif
9227	STD		{ ssize_t sys_recvmsg(int s, struct msghdr *msg, \
93			    int flags); }
9428	STD		{ ssize_t sys_sendmsg(int s, \
95			    const struct msghdr *msg, int flags); }
9629	STD		{ ssize_t sys_recvfrom(int s, void *buf, size_t len, \
97			    int flags, struct sockaddr *from, \
98			    socklen_t *fromlenaddr); }
9930	STD		{ int sys_accept(int s, struct sockaddr *name, \
100			    socklen_t *anamelen); }
10131	STD		{ int sys_getpeername(int fdes, struct sockaddr *asa, \
102			    socklen_t *alen); }
10332	STD		{ int sys_getsockname(int fdes, struct sockaddr *asa, \
104			    socklen_t *alen); }
10533	STD		{ int sys_access(const char *path, int flags); }
10634	STD		{ int sys_chflags(const char *path, u_int flags); }
10735	STD		{ int sys_fchflags(int fd, u_int flags); }
10836	STD		{ void sys_sync(void); }
10937	STD		{ int sys_kill(int pid, int signum); }
11038	EMUL		{ int compat_43_openbsd_sys_stat(char *path, \
111			    struct stat43 *ub); } stat43
11239	STD		{ pid_t sys_getppid(void); }
11340	EMUL		{ int compat_43_sys_lstat(char *path, \
114			    struct stat43 *ub); } lstat43
11541	STD		{ int sys_dup(int fd); }
11642	EMUL		{ int sys_opipe(void); }
11743	STD		{ gid_t sys_getegid(void); }
11844	STD		{ int sys_profil(caddr_t samples, size_t size, \
119			    u_long offset, u_int scale); }
120#ifdef KTRACE
12145	STD		{ int sys_ktrace(const char *fname, int ops, \
122			    int facs, pid_t pid); }
123#else
12445	UNIMPL		ktrace
125#endif
12646	STD		{ int sys_sigaction(int signum, \
127			    const struct sigaction *nsa, \
128			    struct sigaction *osa); }
12947	STD		{ gid_t sys_getgid(void); }
13048	STD		{ int sys_sigprocmask(int how, sigset_t mask); }
13149	STD		{ int sys_getlogin(char *namebuf, u_int namelen); }
13250	STD		{ int sys_setlogin(const char *namebuf); }
133#ifdef ACCOUNTING
13451	STD		{ int sys_acct(const char *path); }
135#else
13651	UNIMPL		acct
137#endif
13852	STD		{ int sys_sigpending(void); }
13953	EMUL		{ int compat_35_sys_osigaltstack( \
140			    const struct osigaltstack *nss, \
141			    struct osigaltstack *oss); }
14254	STD		{ int sys_ioctl(int fd, \
143			    u_long com, ... void *data); }
14455	STD		{ int sys_reboot(int opt); }
14556	STD		{ int sys_revoke(const char *path); }
14657	STD		{ int sys_symlink(const char *path, \
147			    const char *link); }
14858	STD		{ int sys_readlink(const char *path, char *buf, \
149			    size_t count); }
15059	STD		{ int sys_execve(const char *path, \
151			    char * const *argp, char * const *envp); }
15260	STD		{ mode_t sys_umask(mode_t newmask); }
15361	STD		{ int sys_chroot(const char *path); }
15462	EMUL		{ int compat_43_sys_fstat(int fd, \
155			    struct stat43 *sb); } fstat43
15663	EMUL		{ int compat_43_sys_getkerninfo(int op, char *where, \
157			    int *size, int arg); } ogetkerninfo
15864	EMUL		{ int compat_43_sys_getpagesize(void); } ogetpagesize
15965	UNIMPL		omsync
16066	STD		{ int sys_vfork(void); }
16167	OBSOL		vread
16268	OBSOL		vwrite
16369	OBSOL		sbrk
16470	UNIMPL		sstk
16571	EMUL		{ int compat_43_sys_mmap(caddr_t addr, size_t len, \
166			    int prot, int flags, int fd, long pos); } ommap
16772	STD		{ int sys_ovadvise(int anom); } vadvise
16873	STD		{ int sys_munmap(void *addr, size_t len); }
16974	STD		{ int sys_mprotect(void *addr, size_t len, \
170			    int prot); }
17175	STD		{ int sys_madvise(void *addr, size_t len, \
172			    int behav); }
17376	OBSOL		vhangup
17477	OBSOL		vlimit
17578	STD		{ int sys_mincore(void *addr, size_t len, \
176			    char *vec); }
17779	STD		{ int sys_getgroups(int gidsetsize, \
178			    gid_t *gidset); }
17980	STD		{ int sys_setgroups(int gidsetsize, \
180			    const gid_t *gidset); }
18181	STD		{ int sys_getpgrp(void); }
18282	STD		{ int sys_setpgid(pid_t pid, int pgid); }
18383	STD		{ int sys_setitimer(int which, \
184			    const struct itimerval *itv, \
185			    struct itimerval *oitv); }
18684	EMUL		{ int compat_43_sys_wait(void); } owait
18785	UNIMPL		swapon25
18886	STD		{ int sys_getitimer(int which, \
189			    struct itimerval *itv); }
19087	EMUL		{ int compat_43_sys_gethostname(char *hostname, \
191			    u_int len); } ogethostname
19288	EMUL		{ int compat_43_sys_sethostname(char *hostname, \
193			    u_int len); } osethostname
19489	EMUL		{ int compat_43_sys_getdtablesize(void); } \
195			    ogetdtablesize
19690	STD		{ int sys_dup2(int from, int to); }
19791	UNIMPL		getdopt
19892	STD		{ int sys_fcntl(int fd, int cmd, ... void *arg); }
19993	STD		{ int sys_select(int nd, fd_set *in, fd_set *ou, \
200			    fd_set *ex, struct timeval *tv); }
20194	UNIMPL		setdopt
20295	STD		{ int sys_fsync(int fd); }
20396	STD		{ int sys_setpriority(int which, id_t who, int prio); }
20497	STD		{ int sys_socket(int domain, int type, int protocol); }
20598	STD		{ int sys_connect(int s, const struct sockaddr *name, \
206			    socklen_t namelen); }
20799	EMUL		{ int compat_43_sys_accept(int s, caddr_t name, \
208			    int *anamelen); } oaccept
209100	STD		{ int sys_getpriority(int which, id_t who); }
210101	EMUL		{ int compat_43_sys_send(int s, caddr_t buf, int len, \
211			    int flags); } osend
212102	EMUL		{ int compat_43_sys_recv(int s, caddr_t buf, int len, \
213			    int flags); } orecv
214103	STD		{ int sys_sigreturn(struct sigcontext *sigcntxp); }
215104	STD		{ int sys_bind(int s, const struct sockaddr *name, \
216			    socklen_t namelen); }
217105	STD		{ int sys_setsockopt(int s, int level, int name, \
218			    const void *val, socklen_t valsize); }
219106	STD		{ int sys_listen(int s, int backlog); }
220107	OBSOL		vtimes
221108	EMUL		{ int compat_43_sys_sigvec(int signum, \
222			    struct sigvec *nsv, struct sigvec *osv); } osigvec
223109	EMUL		{ int compat_43_sys_sigblock(int mask); } osigblock
224110	EMUL		{ int compat_43_sys_sigsetmask(int mask); } \
225			    osigsetmask
226111	STD		{ int sys_sigsuspend(int mask); }
227112	EMUL		{ int compat_43_sys_sigstack(struct sigstack *nss, \
228			    struct sigstack *oss); } osigstack
229113	EMUL		{ int compat_43_sys_recvmsg(int s, \
230			    struct omsghdr *msg, int flags); } orecvmsg
231114	EMUL		{ int compat_43_sys_sendmsg(int s, caddr_t msg, \
232			    int flags); } osendmsg
233115	OBSOL		vtrace
234116	STD		{ int sys_gettimeofday(struct timeval *tp, \
235			    struct timezone *tzp); }
236117	STD		{ int sys_getrusage(int who, struct rusage *rusage); }
237118	STD		{ int sys_getsockopt(int s, int level, int name, \
238			    void *val, socklen_t *avalsize); }
239119	OBSOL		resuba
240120	STD		{ ssize_t sys_readv(int fd, \
241			    const struct iovec *iovp, int iovcnt); }
242121	STD		{ ssize_t sys_writev(int fd, \
243			    const struct iovec *iovp, int iovcnt); }
244122	STD		{ int sys_settimeofday(const struct timeval *tv, \
245			    const struct timezone *tzp); }
246123	STD		{ int sys_fchown(int fd, uid_t uid, gid_t gid); }
247124	STD		{ int sys_fchmod(int fd, mode_t mode); }
248125	EMUL		{ int compat_43_sys_recvfrom(int s, caddr_t buf, \
249			    size_t len, int flags, caddr_t from, \
250			    int *fromlenaddr); } orecvfrom
251126	STD		{ int sys_setreuid(uid_t ruid, uid_t euid); }
252127	STD		{ int sys_setregid(gid_t rgid, gid_t egid); }
253128	STD		{ int sys_rename(const char *from, const char *to); }
254129	EMUL		{ int compat_43_sys_truncate(const char *path, \
255			    long length); } otruncate
256130	EMUL		{ int compat_43_sys_ftruncate(int fd, \
257			    long length); } oftruncate
258131	STD		{ int sys_flock(int fd, int how); }
259132	STD		{ int sys_mkfifo(const char *path, mode_t mode); }
260133	STD		{ ssize_t sys_sendto(int s, const void *buf, \
261			    size_t len, int flags, const struct sockaddr *to, \
262			    socklen_t tolen); }
263134	STD		{ int sys_shutdown(int s, int how); }
264135	STD		{ int sys_socketpair(int domain, int type, \
265			    int protocol, int *rsv); }
266136	STD		{ int sys_mkdir(const char *path, mode_t mode); }
267137	STD		{ int sys_rmdir(const char *path); }
268138	STD		{ int sys_utimes(const char *path, \
269			    const struct timeval *tptr); }
270139	OBSOL		4.2 sigreturn
271140	STD		{ int sys_adjtime(const struct timeval *delta, \
272			    struct timeval *olddelta); }
273141	EMUL		{ int compat_43_sys_getpeername(int fdes, \
274			    caddr_t asa, socklen_t *alen); } ogetpeername
275142	EMUL		{ int32_t compat_43_sys_gethostid(void); } ogethostid
276143	EMUL		{ int compat_43_sys_sethostid(int32_t hostid); } \
277			    osethostid
278144	EMUL		{ int compat_43_sys_getrlimit(int which, \
279			    struct ogetrlimit *rlp); } ogetrlimit
280145	EMUL		{ int compat_43_sys_setrlimit(int which, \
281			    struct ogetrlimit *rlp); } osetrlimit
282146	EMUL		{ int compat_43_sys_killpg(int pgid, int signum); } \
283			    okillpg
284147	STD		{ int sys_setsid(void); }
285148	STD		{ int sys_quotactl(const char *path, int cmd, \
286			    int uid, char *arg); }
287149	EMUL		{ int compat_43_sys_quota(void); } oquota
288150	EMUL		{ int compat_43_sys_getsockname(int fdec, \
289			    caddr_t asa, int *alen); } ogetsockname
290
291; Syscalls 151-180 inclusive are reserved for vendor-specific
292; system calls.  (This includes various calls added for compatibity
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		nfssvc
303#endif
304156	EMUL		{ int compat_43_sys_getdirentries(int fd, char *buf, \
305			    int count, long *basep); } ogetdirentries
306157	UNIMPL		ostatfs
307158	UNIMPL		ofstatfs
308159	UNIMPL
309160	UNIMPL
310161	STD		{ int sys_getfh(const char *fname, fhandle_t *fhp); }
311162	EMUL		{ int compat_09_sys_getdomainname(char *domainname, \
312			    int len); } ogetdomainname
313163	EMUL		{ int compat_09_sys_setdomainname(char *domainname, \
314			    int len); } osetdomainname
315164	EMUL		{ int compat_09_sys_uname(struct outsname *name); } \
316			    ouname
317165	STD		{ int sys_sysarch(int op, void *parms); }
318166	UNIMPL
319167	UNIMPL
320168	UNIMPL
321#if defined(SYSVSEM) && !defined(__LP64__)
322169	EMUL		{ int compat_10_sys_semsys(int which, int a2, \
323			    int a3, int a4, int a5); } osemsys
324#else
325169	UNIMPL		1.0 semsys
326#endif
327#if defined(SYSVMSG) && !defined(__LP64__)
328170	EMUL		{ int compat_10_sys_msgsys(int which, int a2, \
329			    int a3, int a4, int a5, int a6); } omsgsys
330#else
331170	UNIMPL		1.0 msgsys
332#endif
333#if defined(SYSVSHM) && !defined(__LP64__)
334171	EMUL		{ int compat_10_sys_shmsys(int which, int a2, \
335			    int a3, int a4); } oshmsys
336#else
337171	UNIMPL		1.0 shmsys
338#endif
339172	UNIMPL
340173	STD		{ ssize_t sys_pread(int fd, void *buf, \
341			  size_t nbyte, int pad, off_t offset); }
342174	STD		{ ssize_t sys_pwrite(int fd, const void *buf, \
343			  size_t nbyte, int pad, off_t offset); }
344175	UNIMPL		ntp_gettime
345176	UNIMPL		ntp_adjtime
346177	UNIMPL
347178	UNIMPL
348179	UNIMPL
349180	UNIMPL
350
351; Syscalls 181-199 are used by/reserved for BSD
352181	STD		{ int sys_setgid(gid_t gid); }
353182	STD		{ int sys_setegid(gid_t egid); }
354183	STD		{ int sys_seteuid(uid_t euid); }
355#ifdef LFS
356184	STD		{ int lfs_bmapv(fsid_t *fsidp, \
357			    struct block_info *blkiov, int blkcnt); }
358185	STD		{ int lfs_markv(fsid_t *fsidp, \
359			    struct block_info *blkiov, int blkcnt); }
360186	STD		{ int lfs_segclean(fsid_t *fsidp, u_long segment); }
361187	STD		{ int lfs_segwait(fsid_t *fsidp, \
362			    struct timeval *tv); }
363#else
364184	UNIMPL		lfs_bmapv
365185	UNIMPL		lfs_markv
366186	UNIMPL		lfs_segclean
367187	UNIMPL		lfs_segwait
368#endif
369188	UNIMPL		stat78
370189	UNIMPL		fstat78
371190	UNIMPL		lstat78
372191	STD		{ long sys_pathconf(const char *path, int name); }
373192	STD		{ long sys_fpathconf(int fd, int name); }
374193	STD		{ int sys_swapctl(int cmd, const void *arg, \
375			    int misc); }
376194	STD		{ int sys_getrlimit(int which, \
377			    struct rlimit *rlp); }
378195	STD		{ int sys_setrlimit(int which, \
379			    const struct rlimit *rlp); }
380196	STD		{ int sys_getdirentries(int fd, char *buf, \
381			    int count, long *basep); }
382197	STD		{ void *sys_mmap(void *addr, size_t len, int prot, \
383			    int flags, int fd, long pad, off_t pos); }
384198	INDIR		{ quad_t sys___syscall(quad_t num, ...); }
385199	STD		{ off_t sys_lseek(int fd, int pad, off_t offset, \
386			    int whence); }
387200	STD		{ int sys_truncate(const char *path, int pad, \
388			    off_t length); }
389201	STD		{ int sys_ftruncate(int fd, int pad, off_t length); }
390202	STD		{ int sys___sysctl(int *name, u_int namelen, \
391			    void *old, size_t *oldlenp, void *new, \
392			    size_t newlen); }
393203	STD		{ int sys_mlock(const void *addr, size_t len); }
394204	STD		{ int sys_munlock(const void *addr, size_t len); }
395205	UNIMPL		sys_undelete
396206	STD		{ int sys_futimes(int fd, \
397			    const struct timeval *tptr); }
398207	STD		{ pid_t sys_getpgid(pid_t pid); }
399208	UNIMPL
400209	UNIMPL
401;
402; Syscalls 210-219 are reserved for dynamically loaded syscalls
403;
404#ifdef LKM
405210	NODEF		{ int sys_lkmnosys(void); }
406211	NODEF		{ int sys_lkmnosys(void); }
407212	NODEF		{ int sys_lkmnosys(void); }
408213	NODEF		{ int sys_lkmnosys(void); }
409214	NODEF		{ int sys_lkmnosys(void); }
410215	NODEF		{ int sys_lkmnosys(void); }
411216	NODEF		{ int sys_lkmnosys(void); }
412217	NODEF		{ int sys_lkmnosys(void); }
413218	NODEF		{ int sys_lkmnosys(void); }
414219	NODEF		{ int sys_lkmnosys(void); }
415#else	/* !LKM */
416210	UNIMPL
417211	UNIMPL
418212	UNIMPL
419213	UNIMPL
420214	UNIMPL
421215	UNIMPL
422216	UNIMPL
423217	UNIMPL
424218	UNIMPL
425219	UNIMPL
426#endif	/* !LKM */
427; System calls 220-240 are reserved for use by OpenBSD
428#ifdef SYSVSEM
429220	EMUL		{ int compat_23_sys___semctl(int semid, int semnum, \
430			    int cmd, union semun *arg); } semctl23
431221	STD		{ int sys_semget(key_t key, int nsems, int semflg); }
432222	EMUL		{ int compat_35_sys_semop(int semid, \
433			    struct sembuf *sops, u_int nsops); }
434223	OBSOL		sys_semconfig
435#else
436220	UNIMPL		semctl
437221	UNIMPL		semget
438222	UNIMPL		semop
439223	UNIMPL		semconfig
440#endif
441#ifdef SYSVMSG
442224	EMUL		{ int compat_23_sys_msgctl(int msqid, int cmd, \
443			    struct msqid_ds23 *buf); } msgctl23
444225	STD		{ int sys_msgget(key_t key, int msgflg); }
445226	STD		{ int sys_msgsnd(int msqid, const void *msgp, \
446			    size_t msgsz, int msgflg); }
447227	STD		{ int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
448			    long msgtyp, int msgflg); }
449#else
450224	UNIMPL		msgctl23
451225	UNIMPL		msgget
452226	UNIMPL		msgsnd
453227	UNIMPL		msgrcv
454#endif
455#ifdef SYSVSHM
456228	STD		{ void *sys_shmat(int shmid, const void *shmaddr, \
457			    int shmflg); }
458229	EMUL		{ int compat_23_sys_shmctl(int shmid, int cmd, \
459			    struct shmid_ds23 *buf); } shmctl23
460230	STD		{ int sys_shmdt(const void *shmaddr); }
461231	EMUL		{ int compat_35_sys_shmget(key_t key, int size, \
462			    int shmflg); }
463#else
464228	UNIMPL		shmat
465229	UNIMPL		shmctl23
466230	UNIMPL		shmdt
467231	UNIMPL		shmget35
468#endif
469232	STD		{ int sys_clock_gettime(clockid_t clock_id, \
470			    struct timespec *tp); }
471233	STD		{ int sys_clock_settime(clockid_t clock_id, \
472			    const struct timespec *tp); }
473234	STD		{ int sys_clock_getres(clockid_t clock_id, \
474			    struct timespec *tp); }
475235	UNIMPL		timer_create
476236	UNIMPL		timer_delete
477237	UNIMPL		timer_settime
478238	UNIMPL		timer_gettime
479239	UNIMPL		timer_getoverrun
480;
481; System calls 240-249 are reserved for other IEEE Std1003.1b syscalls
482;
483240	STD		{ int sys_nanosleep(const struct timespec *rqtp, \
484			    struct timespec *rmtp); }
485241	UNIMPL
486242	UNIMPL
487243	UNIMPL
488244	UNIMPL
489245	UNIMPL
490246	UNIMPL
491247	UNIMPL
492248	UNIMPL
493249	UNIMPL
494250	STD		{ int sys_minherit(void *addr, size_t len, \
495			    int inherit); }
496251	STD		{ int sys_rfork(int flags); }
497252	STD		{ int sys_poll(struct pollfd *fds, \
498			    u_int nfds, int timeout); }
499253	STD		{ int sys_issetugid(void); }
500254	STD		{ int sys_lchown(const char *path, uid_t uid, \
501			    gid_t gid); }
502255	STD		{ pid_t sys_getsid(pid_t pid); }
503256	STD		{ int sys_msync(void *addr, size_t len, int flags); }
504#if defined(SYSVSEM) && defined(COMPAT_OPENBSD)
505257	STD		{ int compat_35_sys___semctl(int semid, int semnum, \
506			    int cmd, union semun *arg); } semctl35
507#else
508257	UNIMPL		semctl35
509#endif
510#if defined(SYSVSHM) && defined(COMPAT_OPENBSD)
511258	STD		{ int compat_35_sys_shmctl(int shmid, int cmd, \
512			    struct shmid_ds35 *buf); } shmctl35
513#else
514258	UNIMPL		shmctl35
515#endif
516#if defined(SYSVMSG) && defined(COMPAT_OPENBSD)
517259	STD		{ int compat_35_sys_msgctl(int msqid, int cmd, \
518			    struct msqid_ds35 *buf); } msgctl35
519#else
520259	UNIMPL		msgctl35
521#endif
522260	STD		{ int sys_getfsstat(struct statfs *buf, \
523			    size_t bufsize, int flags); }
524261	STD		{ int sys_statfs(const char *path, \
525			    struct statfs *buf); }
526262	STD		{ int sys_fstatfs(int fd, struct statfs *buf); }
527263	STD		{ int sys_pipe(int *fdp); }
528264	STD		{ int sys_fhopen(const fhandle_t *fhp, int flags); }
529265	UNIMPL		fhstat78
530266	STD		{ int sys_fhstatfs(const fhandle_t *fhp, \
531			    struct statfs *buf); }
532267	STD		{ ssize_t sys_preadv(int fd, \
533			  const struct iovec *iovp, int iovcnt, \
534			  int pad, off_t offset); }
535268	STD		{ ssize_t sys_pwritev(int fd, \
536			  const struct iovec *iovp, int iovcnt, \
537			  int pad, off_t offset); }
538269	STD		{ int sys_kqueue(void); }
539270	STD		{ int sys_kevent(int fd, \
540			    const struct kevent *changelist, int nchanges, \
541			    struct kevent *eventlist, int nevents, \
542			    const struct timespec *timeout); }
543271	STD		{ int sys_mlockall(int flags); }
544272	STD		{ int sys_munlockall(void); }
545273	STD		{ int sys_getpeereid(int fdes, uid_t *euid, \
546			    gid_t *egid); }
547274	UNIMPL		sys_extattrctl
548275	UNIMPL		sys_extattr_set_file
549276	UNIMPL		sys_extattr_get_file
550277	UNIMPL		sys_extattr_delete_file
551278	UNIMPL		sys_extattr_set_fd
552279	UNIMPL		sys_extattr_get_fd
553280	UNIMPL		sys_extattr_delete_fd
554281	STD		{ int sys_getresuid(uid_t *ruid, uid_t *euid, \
555			    uid_t *suid); }
556282	STD		{ int sys_setresuid(uid_t ruid, uid_t euid, \
557			    uid_t suid); }
558283	STD		{ int sys_getresgid(gid_t *rgid, gid_t *egid, \
559			    gid_t *sgid); }
560284	STD		{ int sys_setresgid(gid_t rgid, gid_t egid, \
561			    gid_t sgid); }
562285	OBSOL		sys_omquery
563286	STD		{ void *sys_mquery(void *addr, size_t len, int prot, \
564			    int flags, int fd, long pad, off_t pos); }
565287	STD		{ int sys_closefrom(int fd); }
566288	STD		{ int sys_sigaltstack(const struct sigaltstack *nss, \
567			    struct sigaltstack *oss); }
568289	STD		{ int sys_fchroot(int fd); }
569#ifdef SYSVSHM
570290	STD		{ int sys_shmget(key_t key, size_t size, int shmflg); }
571#else
572290	UNIMPL		shmget
573#endif
574#ifdef SYSVSEM
575291	STD		{ int sys_semop(int semid, struct sembuf *sops, \
576			    size_t nsops); }
577#else
578291	UNIMPL		semop
579#endif
580292	STD		{ int sys_stat(const char *path, struct stat *ub); }
581293	STD		{ int sys_fstat(int fd, struct stat *sb); }
582294	STD		{ int sys_lstat(const char *path, struct stat *ub); }
583295	STD		{ int sys_fhstat(const fhandle_t *fhp, \
584			    struct stat *sb); }
585#ifdef SYSVSEM
586296	STD		{ int sys___semctl(int semid, int semnum, int cmd, \
587			    union semun *arg); }
588#else
589296	UNIMPL		semctl
590#endif
591#ifdef SYSVSHM
592297	STD		{ int sys_shmctl(int shmid, int cmd, \
593			    struct shmid_ds *buf); }
594#else
595297	UNIMPL		shmctl
596#endif
597#ifdef SYSVMSG
598298	STD		{ int sys_msgctl(int msqid, int cmd, \
599			    struct msqid_ds *buf); }
600#else
601298	UNIMPL		msgctl
602#endif
603299	STD		{ int sys_lchmod(const char *path, mode_t mode); }
604300	STD		{ int sys_lchflags(const char *path, u_int flags); }
605301	STD		{ int sys_lutimes(const char *path, \
606			    const struct timeval *tptr); }
607