xref: /openbsd-src/sys/kern/syscalls.master (revision b2ea75c1b17e1a9a339660e7ed45cd24946b230e)
1;	$OpenBSD: syscalls.master,v 1.47 2001/06/26 19:56:52 dugsong 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
44; Reserved/unimplemented system calls in the range 0-150 inclusive
45; are reserved for use in future Berkeley releases.
46; Additional system calls implemented in vendor and other
47; redistributions should be placed in the reserved range at the end
48; of the current calls.
49
500	INDIR		{ int sys_syscall(int number, ...); }
511	STD		{ void sys_exit(int rval); }
522	STD		{ int sys_fork(void); }
533	STD		{ ssize_t sys_read(int fd, void *buf, size_t nbyte); }
544	STD		{ ssize_t sys_write(int fd, const void *buf, \
55			    size_t nbyte); }
565	STD		{ int sys_open(const char *path, \
57			    int flags, ... int mode); }
586	STD		{ int sys_close(int fd); }
597	STD		{ int sys_wait4(int pid, int *status, int options, \
60			    struct rusage *rusage); }
618	COMPAT_43	{ int sys_creat(const char *path, int mode); } ocreat
629	STD		{ int sys_link(const char *path, const char *link); }
6310	STD		{ int sys_unlink(const char *path); }
6411	OBSOL		execv
6512	STD		{ int sys_chdir(const char *path); }
6613	STD		{ int sys_fchdir(int fd); }
6714	STD		{ int sys_mknod(const char *path, int mode, \
68			    dev_t dev); }
6915	STD		{ int sys_chmod(const char *path, int 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	COMPAT_25	{ int sys_getfsstat(struct statfs *buf, long bufsize, \
74			    int flags); } ogetfsstat
7519	COMPAT_43	{ long sys_lseek(int fd, long offset, int whence); } \
76			    olseek
7720	STD		{ 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); }
8426	STD		{ int sys_ptrace(int req, pid_t pid, caddr_t addr, \
85			    int data); }
8627	STD		{ ssize_t sys_recvmsg(int s, struct msghdr *msg, \
87			    int flags); }
8828	STD		{ ssize_t sys_sendmsg(int s, \
89			    const struct msghdr *msg, int flags); }
9029	STD		{ ssize_t sys_recvfrom(int s, void *buf, size_t len, \
91			    int flags, struct sockaddr *from, \
92			    socklen_t *fromlenaddr); }
9330	STD		{ int sys_accept(int s, struct sockaddr *name, \
94			    socklen_t *anamelen); }
9531	STD		{ int sys_getpeername(int fdes, struct sockaddr *asa, \
96			    int *alen); }
9732	STD		{ int sys_getsockname(int fdes, struct sockaddr *asa, \
98			    socklen_t *alen); }
9933	STD		{ int sys_access(const char *path, int flags); }
10034	STD		{ int sys_chflags(const char *path, u_int flags); }
10135	STD		{ int sys_fchflags(int fd, u_int flags); }
10236	STD		{ void sys_sync(void); }
10337	STD		{ int sys_kill(int pid, int signum); }
10438	COMPAT_43	{ int sys_stat(const char *path, struct ostat *ub); } \
105			    ostat
10639	STD		{ pid_t sys_getppid(void); }
10740	COMPAT_43	{ int sys_lstat(char *path, \
108			    struct ostat *ub); } olstat
10941	STD		{ int sys_dup(int fd); }
11042	STD		{ int sys_opipe(void); }
11143	STD		{ gid_t sys_getegid(void); }
11244	STD		{ int sys_profil(caddr_t samples, size_t size, \
113			    u_long offset, u_int scale); }
114#ifdef KTRACE
11545	STD		{ int sys_ktrace(const char *fname, int ops, \
116			    int facs, pid_t pid); }
117#else
11845	UNIMPL		ktrace
119#endif
12046	STD		{ int sys_sigaction(int signum, \
121			    const struct sigaction *nsa, \
122			    struct sigaction *osa); }
12347	STD		{ gid_t sys_getgid(void); }
12448	STD		{ int sys_sigprocmask(int how, sigset_t mask); }
12549	STD		{ int sys_getlogin(char *namebuf, u_int namelen); }
12650	STD		{ int sys_setlogin(const char *namebuf); }
12751	STD		{ int sys_acct(const char *path); }
12852	STD		{ int sys_sigpending(void); }
12953	STD		{ int sys_sigaltstack(const struct sigaltstack *nss, \
130			    struct sigaltstack *oss); }
13154	STD		{ int sys_ioctl(int fd, \
132			    u_long com, ... void *data); }
13355	STD		{ int sys_reboot(int opt); }
13456	STD		{ int sys_revoke(const char *path); }
13557	STD		{ int sys_symlink(const char *path, \
136			    const char *link); }
13758	STD		{ int sys_readlink(const char *path, char *buf, \
138			    size_t count); }
13959	STD		{ int sys_execve(const char *path, \
140			    char * const *argp, char * const *envp); }
14160	STD		{ int sys_umask(int newmask); }
14261	STD		{ int sys_chroot(const char *path); }
14362	COMPAT_43	{ int sys_fstat(int fd, struct ostat *sb); } ofstat
14463	COMPAT_43	{ int sys_getkerninfo(int op, char *where, int *size, \
145			    int arg); } ogetkerninfo
14664	COMPAT_43	{ int sys_getpagesize(void); } ogetpagesize
14765	STD		{ int sys_omsync(caddr_t addr, size_t len); }
14866	STD		{ int sys_vfork(void); }
14967	OBSOL		vread
15068	OBSOL		vwrite
15169	STD		{ int sys_sbrk(int incr); }
15270	STD		{ int sys_sstk(int incr); }
15371	COMPAT_43	{ int sys_mmap(caddr_t addr, size_t len, int prot, \
154			    int flags, int fd, long pos); } ommap
15572	STD		{ int sys_ovadvise(int anom); } vadvise
15673	STD		{ int sys_munmap(void *addr, size_t len); }
15774	STD		{ int sys_mprotect(void *addr, size_t len, \
158			    int prot); }
15975	STD		{ int sys_madvise(void *addr, size_t len, \
160			    int behav); }
16176	OBSOL		vhangup
16277	OBSOL		vlimit
16378	STD		{ int sys_mincore(void *addr, size_t len, \
164			    char *vec); }
16579	STD		{ int sys_getgroups(int gidsetsize, \
166			    gid_t *gidset); }
16780	STD		{ int sys_setgroups(int gidsetsize, \
168			    const gid_t *gidset); }
16981	STD		{ int sys_getpgrp(void); }
17082	STD		{ int sys_setpgid(pid_t pid, int pgid); }
17183	STD		{ int sys_setitimer(int which, \
172			    const struct itimerval *itv, \
173			    struct itimerval *oitv); }
17484	COMPAT_43	{ int sys_wait(void); } owait
17585	STD		{ int sys_swapon(const char *name); }
17686	STD		{ int sys_getitimer(int which, \
177			    struct itimerval *itv); }
17887	COMPAT_43	{ int sys_gethostname(char *hostname, u_int len); } \
179			    ogethostname
18088	COMPAT_43	{ int sys_sethostname(char *hostname, u_int len); } \
181			    osethostname
18289	COMPAT_43	{ int sys_getdtablesize(void); } ogetdtablesize
18390	STD		{ int sys_dup2(int from, int to); }
18491	UNIMPL		getdopt
18592	STD		{ int sys_fcntl(int fd, int cmd, ... void *arg); }
18693	STD		{ int sys_select(int nd, fd_set *in, fd_set *ou, \
187			    fd_set *ex, struct timeval *tv); }
18894	UNIMPL		setdopt
18995	STD		{ int sys_fsync(int fd); }
19096	STD		{ int sys_setpriority(int which, int who, int prio); }
19197	STD		{ int sys_socket(int domain, int type, int protocol); }
19298	STD		{ int sys_connect(int s, const struct sockaddr *name, \
193			    socklen_t namelen); }
19499	COMPAT_43	{ int sys_accept(int s, caddr_t name, \
195			    int *anamelen); } oaccept
196100	STD		{ int sys_getpriority(int which, int who); }
197101	COMPAT_43	{ int sys_send(int s, caddr_t buf, int len, \
198			    int flags); } osend
199102	COMPAT_43	{ int sys_recv(int s, caddr_t buf, int len, \
200			    int flags); } orecv
201103	STD		{ int sys_sigreturn(struct sigcontext *sigcntxp); }
202104	STD		{ int sys_bind(int s, const struct sockaddr *name, \
203			    socklen_t namelen); }
204105	STD		{ int sys_setsockopt(int s, int level, int name, \
205			    const void *val, socklen_t valsize); }
206106	STD		{ int sys_listen(int s, int backlog); }
207107	OBSOL		vtimes
208108	COMPAT_43	{ int sys_sigvec(int signum, struct sigvec *nsv, \
209			    struct sigvec *osv); } osigvec
210109	COMPAT_43	{ int sys_sigblock(int mask); } osigblock
211110	COMPAT_43	{ int sys_sigsetmask(int mask); } osigsetmask
212111	STD		{ int sys_sigsuspend(int mask); }
213112	COMPAT_43	{ int sys_sigstack(struct sigstack *nss, \
214			    struct sigstack *oss); } osigstack
215113	COMPAT_43	{ int sys_recvmsg(int s, struct omsghdr *msg, \
216			    int flags); } orecvmsg
217114	COMPAT_43	{ int sys_sendmsg(int s, caddr_t msg, int flags); } \
218			    osendmsg
219115	OBSOL		vtrace
220116	STD		{ int sys_gettimeofday(struct timeval *tp, \
221			    struct timezone *tzp); }
222117	STD		{ int sys_getrusage(int who, struct rusage *rusage); }
223118	STD		{ int sys_getsockopt(int s, int level, int name, \
224			    void *val, socklen_t *avalsize); }
225119	OBSOL		resuba
226120	STD		{ ssize_t sys_readv(int fd, \
227			    const struct iovec *iovp, int iovcnt); }
228121	STD		{ ssize_t sys_writev(int fd, \
229			    const struct iovec *iovp, int iovcnt); }
230122	STD		{ int sys_settimeofday(const struct timeval *tv, \
231			    const struct timezone *tzp); }
232123	STD		{ int sys_fchown(int fd, uid_t uid, gid_t gid); }
233124	STD		{ int sys_fchmod(int fd, int mode); }
234125	COMPAT_43	{ int sys_recvfrom(int s, caddr_t buf, size_t len, \
235			    int flags, caddr_t from, int *fromlenaddr); } \
236			    orecvfrom
237126	COMPAT_43	{ int sys_setreuid(int ruid, int euid); } osetreuid
238127	COMPAT_43	{ int sys_setregid(int rgid, int egid); } osetregid
239128	STD		{ int sys_rename(const char *from, const char *to); }
240129	COMPAT_43	{ int sys_truncate(const char *path, long length); } \
241			    otruncate
242130	COMPAT_43	{ int sys_ftruncate(int fd, long length); } oftruncate
243131	STD		{ int sys_flock(int fd, int how); }
244132	STD		{ int sys_mkfifo(const char *path, int mode); }
245133	STD		{ ssize_t sys_sendto(int s, const void *buf, \
246			    size_t len, int flags, const struct sockaddr *to, \
247			    socklen_t tolen); }
248134	STD		{ int sys_shutdown(int s, int how); }
249135	STD		{ int sys_socketpair(int domain, int type, \
250			    int protocol, int *rsv); }
251136	STD		{ int sys_mkdir(const char *path, int mode); }
252137	STD		{ int sys_rmdir(const char *path); }
253138	STD		{ int sys_utimes(const char *path, \
254			    const struct timeval *tptr); }
255139	OBSOL		4.2 sigreturn
256140	STD		{ int sys_adjtime(const struct timeval *delta, \
257			    struct timeval *olddelta); }
258141	COMPAT_43	{ int sys_getpeername(int fdes, caddr_t asa, \
259			    socklen_t *alen); } ogetpeername
260142	COMPAT_43	{ int32_t sys_gethostid(void); } ogethostid
261143	COMPAT_43	{ int sys_sethostid(int32_t hostid); } osethostid
262144	COMPAT_43	{ int sys_getrlimit(int which, \
263			    struct ogetrlimit *rlp); } ogetrlimit
264145	COMPAT_43	{ int sys_setrlimit(int which, \
265			    struct ogetrlimit *rlp); } osetrlimit
266146	COMPAT_43	{ int sys_killpg(int pgid, int signum); } okillpg
267147	STD		{ int sys_setsid(void); }
268148	STD		{ int sys_quotactl(const char *path, int cmd, \
269			    int uid, char *arg); }
270149	COMPAT_43	{ int sys_quota(void); } oquota
271150	COMPAT_43	{ int sys_getsockname(int fdec, caddr_t asa, \
272			    int *alen); } ogetsockname
273
274; Syscalls 151-180 inclusive are reserved for vendor-specific
275; system calls.  (This includes various calls added for compatibity
276; with other Unix variants.)
277; Some of these calls are now supported by BSD...
278151	UNIMPL
279152	UNIMPL
280153	UNIMPL
281154	UNIMPL
282#if defined(NFSCLIENT) || defined(NFSSERVER)
283155	STD		{ int sys_nfssvc(int flag, void *argp); }
284#else
285155	UNIMPL
286#endif
287156	COMPAT_43	{ int sys_getdirentries(int fd, char *buf, \
288			    int count, long *basep); } ogetdirentries
289157	COMPAT_25	{ int sys_statfs(const char *path, \
290			    struct ostatfs *buf); } ostatfs
291158	COMPAT_25	{ int sys_fstatfs(int fd, struct ostatfs *buf); } \
292			    ostatfs
293159	UNIMPL
294160	UNIMPL
295161	STD		{ int sys_getfh(const char *fname, fhandle_t *fhp); }
296162	COMPAT_09	{ int sys_getdomainname(char *domainname, int len); } \
297			    ogetdomainname
298163	COMPAT_09	{ int sys_setdomainname(char *domainname, int len); } \
299			    osetdomainname
300164	COMPAT_09	{ int sys_uname(struct outsname *name); } ouname
301165	STD		{ int sys_sysarch(int op, void *parms); }
302166	UNIMPL
303167	UNIMPL
304168	UNIMPL
305; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
306#if defined(SYSVSEM) && !defined(alpha)
307169	COMPAT_10	{ int sys_semsys(int which, int a2, int a3, int a4, \
308			    int a5); } osemsys
309#else
310169	UNIMPL		1.0 semsys
311#endif
312; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
313#if defined(SYSVMSG) && !defined(alpha)
314170	COMPAT_10	{ int sys_msgsys(int which, int a2, int a3, int a4, \
315			    int a5, int a6); } omsgsys
316#else
317170	UNIMPL		1.0 msgsys
318#endif
319; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
320#if defined(SYSVSHM) && !defined(alpha)
321171	COMPAT_10	{ int sys_shmsys(int which, int a2, int a3, int a4); } \
322			    oshmsys
323#else
324171	UNIMPL		1.0 shmsys
325#endif
326172	UNIMPL
327173	STD		{ ssize_t sys_pread(int fd, void *buf, \
328			  size_t nbyte, int pad, off_t offset); }
329174	STD		{ ssize_t sys_pwrite(int fd, const void *buf, \
330			  size_t nbyte, int pad, off_t offset); }
331#ifdef NTP
332175	STD		{ int sys_ntp_gettime(struct ntptimeval *ntvp); }
333176	STD		{ int sys_ntp_adjtime(struct timex *tp); }
334#else
335175	UNIMPL		ntp_gettime
336176	UNIMPL		ntp_adjtime
337#endif
338177	UNIMPL
339178	UNIMPL
340179	UNIMPL
341180	UNIMPL
342
343; Syscalls 181-199 are used by/reserved for BSD
344181	STD		{ int sys_setgid(gid_t gid); }
345182	STD		{ int sys_setegid(gid_t egid); }
346183	STD		{ int sys_seteuid(uid_t euid); }
347#ifdef LFS
348184	STD		{ int lfs_bmapv(fsid_t *fsidp, \
349			    struct block_info *blkiov, int blkcnt); }
350185	STD		{ int lfs_markv(fsid_t *fsidp, \
351			    struct block_info *blkiov, int blkcnt); }
352186	STD		{ int lfs_segclean(fsid_t *fsidp, u_long segment); }
353187	STD		{ int lfs_segwait(fsid_t *fsidp, struct timeval *tv); }
354#else
355184	UNIMPL
356185	UNIMPL
357186	UNIMPL
358187	UNIMPL
359#endif
360188	STD		{ int sys_stat(const char *path, struct stat *ub); }
361189	STD		{ int sys_fstat(int fd, struct stat *sb); }
362190	STD		{ int sys_lstat(const char *path, struct stat *ub); }
363191	STD		{ long sys_pathconf(const char *path, int name); }
364192	STD		{ long sys_fpathconf(int fd, int name); }
365193	STD		{ int sys_swapctl(int cmd, const void *arg, int misc); }
366194	STD		{ int sys_getrlimit(int which, \
367			    struct rlimit *rlp); }
368195	STD		{ int sys_setrlimit(int which, \
369			    const struct rlimit *rlp); }
370196	STD		{ int sys_getdirentries(int fd, char *buf, \
371			    int count, long *basep); }
372197	STD		{ void *sys_mmap(void *addr, size_t len, int prot, \
373			    int flags, int fd, long pad, off_t pos); }
374198	INDIR		{ quad_t sys___syscall(quad_t num, ...); }
375199	STD		{ off_t sys_lseek(int fd, int pad, off_t offset, \
376			    int whence); }
377200	STD		{ int sys_truncate(const char *path, int pad, \
378			    off_t length); }
379201	STD		{ int sys_ftruncate(int fd, int pad, off_t length); }
380202	STD		{ int sys___sysctl(int *name, u_int namelen, \
381			    void *old, size_t *oldlenp, void *new, \
382			    size_t newlen); }
383203	STD		{ int sys_mlock(const void *addr, size_t len); }
384204	STD		{ int sys_munlock(const void *addr, size_t len); }
385205	STD		{ int sys_undelete(const char *path); }
386206	STD		{ int sys_futimes(int fd, \
387			    const struct timeval *tptr); }
388207	STD		{ pid_t sys_getpgid(pid_t pid); }
389208	STD		{ int sys_xfspioctl(int operation, char *a_pathP, \
390			    int a_opcode, struct ViceIoctl *a_paramsP, \
391			    int a_followSymlinks); }
392209	UNIMPL
393;
394; Syscalls 210-219 are reserved for dynamically loaded syscalls
395;
396#ifdef LKM
397210	NODEF		{ int sys_lkmnosys(void); }
398211	NODEF		{ int sys_lkmnosys(void); }
399212	NODEF		{ int sys_lkmnosys(void); }
400213	NODEF		{ int sys_lkmnosys(void); }
401214	NODEF		{ int sys_lkmnosys(void); }
402215	NODEF		{ int sys_lkmnosys(void); }
403216	NODEF		{ int sys_lkmnosys(void); }
404217	NODEF		{ int sys_lkmnosys(void); }
405218	NODEF		{ int sys_lkmnosys(void); }
406219	NODEF		{ int sys_lkmnosys(void); }
407#else	/* !LKM */
408210	UNIMPL
409211	UNIMPL
410212	UNIMPL
411213	UNIMPL
412214	UNIMPL
413215	UNIMPL
414216	UNIMPL
415217	UNIMPL
416218	UNIMPL
417219	UNIMPL
418#endif	/* !LKM */
419; System calls 220-240 are reserved for use by OpenBSD
420#ifdef SYSVSEM
421220	COMPAT_23	{ int sys___semctl(int semid, int semnum, int cmd, \
422			    union semun *arg); } __osemctl
423221	STD		{ int sys_semget(key_t key, int nsems, int semflg); }
424222	STD		{ int sys_semop(int semid, struct sembuf *sops, \
425			    u_int nsops); }
426223	OBSOL		sys_semconfig
427#else
428220	UNIMPL		semctl
429221	UNIMPL		semget
430222	UNIMPL		semop
431223	UNIMPL		semconfig
432#endif
433#ifdef SYSVMSG
434224	COMPAT_23	{ int sys_msgctl(int msqid, int cmd, \
435			    struct omsqid_ds *buf); } omsgctl
436225	STD		{ int sys_msgget(key_t key, int msgflg); }
437226	STD		{ int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \
438			    int msgflg); }
439227	STD		{ int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
440			    long msgtyp, int msgflg); }
441#else
442224	UNIMPL		msgctl
443225	UNIMPL		msgget
444226	UNIMPL		msgsnd
445227	UNIMPL		msgrcv
446#endif
447#ifdef SYSVSHM
448228	STD		{ void *sys_shmat(int shmid, const void *shmaddr, \
449			    int shmflg); }
450229	COMPAT_23	{ int sys_shmctl(int shmid, int cmd, \
451			    struct oshmid_ds *buf); } oshmctl
452230	STD		{ int sys_shmdt(const void *shmaddr); }
453231	STD		{ int sys_shmget(key_t key, int size, int shmflg); }
454#else
455228	UNIMPL		shmat
456229	UNIMPL		shmctl
457230	UNIMPL		shmdt
458231	UNIMPL		shmget
459#endif
460232	STD		{ int sys_clock_gettime(clockid_t clock_id, \
461			    struct timespec *tp); }
462233	STD		{ int sys_clock_settime(clockid_t clock_id, \
463			    const struct timespec *tp); }
464234	STD		{ int sys_clock_getres(clockid_t clock_id, \
465			    struct timespec *tp); }
466235	UNIMPL		timer_create
467236	UNIMPL		timer_delete
468237	UNIMPL		timer_settime
469238	UNIMPL		timer_gettime
470239	UNIMPL		timer_getoverrun
471;
472; System calls 240-249 are reserved for other IEEE Std1003.1b syscalls
473;
474240	STD		{ int sys_nanosleep(const struct timespec *rqtp, \
475			    struct timespec *rmtp); }
476241	UNIMPL
477242	UNIMPL
478243	UNIMPL
479244	UNIMPL
480245	UNIMPL
481246	UNIMPL
482247	UNIMPL
483248	UNIMPL
484249	UNIMPL
485250	STD		{ int sys_minherit(void *addr, size_t len, \
486			    int inherit); }
487251	STD		{ int sys_rfork(int flags); }
488252	STD		{ int sys_poll(struct pollfd *fds, \
489			    unsigned long nfds, int timeout); }
490253	STD		{ int sys_issetugid(void); }
491254	STD		{ int sys_lchown(const char *path, uid_t uid, gid_t gid); }
492255	STD		{ pid_t sys_getsid(pid_t pid); }
493256	STD		{ int sys_msync(void *addr, size_t len, int flags); }
494#ifdef SYSVSEM
495257	STD		{ int sys___semctl(int semid, int semnum, int cmd, \
496			    union semun *arg); }
497#else
498257	UNIMPL
499#endif
500#ifdef SYSVSHM
501258	STD		{ int sys_shmctl(int shmid, int cmd, \
502			    struct shmid_ds *buf); }
503#else
504258	UNIMPL
505#endif
506#ifdef SYSVMSG
507259	STD		{ int sys_msgctl(int msqid, int cmd, \
508			    struct msqid_ds *buf); }
509#else
510259	UNIMPL
511#endif
512260	STD		{ int sys_getfsstat(struct statfs *buf, size_t bufsize, \
513			    int flags); }
514261	STD		{ int sys_statfs(const char *path, \
515			    struct statfs *buf); }
516262	STD		{ int sys_fstatfs(int fd, struct statfs *buf); }
517263	STD		{ int sys_pipe(int *fdp); }
518264	STD		{ int sys_fhopen(const fhandle_t *fhp, int flags); }
519265	STD		{ int sys_fhstat(const fhandle_t *fhp, \
520			    struct stat *sb); }
521266	STD		{ int sys_fhstatfs(const fhandle_t *fhp, \
522			    struct statfs *buf); }
523267	STD		{ ssize_t sys_preadv(int fd, \
524			  const struct iovec *iovp, int iovcnt, \
525			  int pad, off_t offset); }
526268	STD		{ ssize_t sys_pwritev(int fd, \
527			  const struct iovec *iovp, int iovcnt, \
528			  int pad, off_t offset); }
529269	STD		{ int sys_kqueue(void); }
530270	STD		{ int sys_kevent(int fd, \
531			    const struct kevent *changelist, int nchanges, \
532			    struct kevent *eventlist, int nevents, \
533			    const struct timespec *timeout); }
534271	STD		{ int sys_mlockall(int flags); }
535272	STD		{ int sys_munlockall(void); }
536273	STD		{ int sys_getpeereid(int fdes, uid_t *euid, gid_t *egid); }
537
538