xref: /dragonfly/sys/kern/syscalls.master (revision 59b0b316)
1; @(#)syscalls.master	8.2 (Berkeley) 1/13/94
2; $FreeBSD: src/sys/kern/syscalls.master,v 1.72.2.10 2002/07/12 08:22:46 alfred Exp $
3;
4; System call name/number master file.
5; Processed to create kern/init_sysent.c, kern/syscalls.c, sys/syscall.h,
6;                     sys/syscall.mk, sys/sysproto.h and sys/sysunion.h
7
8; Columns: number type nargs namespc name alt{name,tag,rtyp}/comments
9;	number	system call number, must be in order
10;	type	one of STD, OBSOL, UNIMPL, COMPAT, CPT_NOA, LIBCOMPAT,
11;		NODEF, NOARGS, NOPROTO, NOIMPL
12;	name	pseudo-prototype of syscall routine
13;		If one of the following alts is different, then all appear:
14;	altname	name of system call if different
15;	alttag	name of args struct tag if different from [o]`name'"_args"
16;	altrtyp	return type if not int (bogus - syscalls always return int)
17;		for UNIMPL/OBSOL, name continues with comments
18;
19;	NOTE: All system calls are now called without the MP lock.  Those
20;	      that need the MP lock will acquire it.
21
22; types:
23;	STD	always included
24;	COMPAT	included on COMPAT #ifdef
25;	LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
26;	OBSOL	obsolete, not included in system, only specifies name
27;	UNIMPL	not implemented, placeholder only
28
29; #ifdef's, etc. may be included, and are copied to the output files.
30
31#include <sys/param.h>
32#include <sys/sysent.h>
33#include <sys/sysproto.h>
34#include <sys/statvfs.h>
35#include <machine/cpumask.h>
36
37; Reserved/unimplemented system calls in the range 0-150 inclusive
38; are reserved for use in future Berkeley releases.
39; Additional system calls implemented in vendor and other
40; redistributions should be placed in the reserved range at the end
41; of the current calls.
42
430	STD	{ int nosys(void); } syscall nosys_args int
441	STD	{ void exit(int rval); }
452	STD	{ int fork(void); }
463	STD	{ ssize_t read(int fd, void *buf, size_t nbyte); }
474	STD	{ ssize_t write(int fd, const void *buf, size_t nbyte); }
485	STD	{ int open(char *path, int flags, int mode); }
49; XXX should be		{ int open(const char *path, int flags, ...); }
50; but we're not ready for `const' or varargs.
51; XXX man page says `mode_t mode'.
526	STD	{ int close(int fd); }
537	STD	{ int wait4(int pid, int *status, int options, \
54			    struct rusage *rusage); } wait4 wait_args int
558	OBSOL	4.3 creat
569	STD	{ int link(char *path, char *link); }
5710	STD	{ int unlink(char *path); }
5811	OBSOL	execv
5912	STD	{ int chdir(char *path); }
6013	STD	{ int fchdir(int fd); }
6114	STD	{ int mknod(char *path, int mode, int dev); }
6215	STD	{ int chmod(char *path, int mode); }
6316	STD	{ int chown(char *path, int uid, int gid); }
6417	STD	{ int obreak(char *nsize); } break obreak_args int
6518	STD	{ int getfsstat(struct statfs *buf, long bufsize, \
66			    int flags); }
6719	COMPAT	{ long lseek(int fd, long offset, int whence); }
6820	STD	{ pid_t getpid(void); }
6921	STD	{ int mount(char *type, char *path, int flags, \
70			    caddr_t data); }
71; XXX `path' should have type `const char *' but we're not ready for that.
7222	STD	{ int unmount(char *path, int flags); }
7323	STD	{ int setuid(uid_t uid); }
7424	STD	{ uid_t getuid(void); }
7525	STD	{ uid_t geteuid(void); }
7626	STD	{ int ptrace(int req, pid_t pid, caddr_t addr, \
77			    int data); }
7827	STD	{ int recvmsg(int s, struct msghdr *msg, int flags); }
7928	STD	{ int sendmsg(int s, caddr_t msg, int flags); }
8029	STD	{ int recvfrom(int s, caddr_t buf, size_t len, \
81			    int flags, caddr_t from, int *fromlenaddr); }
8230	STD	{ int accept(int s, caddr_t name, int *anamelen); }
8331	STD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
8432	STD	{ int getsockname(int fdes, caddr_t asa, int *alen); }
8533	STD	{ int access(char *path, int flags); }
8634	STD	{ int chflags(char *path, int flags); }
8735	STD	{ int fchflags(int fd, int flags); }
8836	STD	{ int sync(void); }
8937	STD	{ int kill(int pid, int signum); }
9038	COMPAT	{ int stat(char *path, struct ostat *ub); }
9139	STD	{ pid_t getppid(void); }
9240	COMPAT	{ int lstat(char *path, struct ostat *ub); }
9341	STD	{ int dup(int fd); }
9442	STD	{ int pipe(void); }
9543	STD	{ gid_t getegid(void); }
9644	STD	{ int profil(caddr_t samples, size_t size, \
97			    size_t offset, u_int scale); }
9845	STD	{ int ktrace(const char *fname, int ops, int facs, \
99			    int pid); }
10046	OBSOL	freebsd3_sigaction
10147	STD	{ gid_t getgid(void); }
10248	OBSOL	freebsd3_sigprocmask
103; XXX note nonstandard (bogus) calling convention - the libc stub passes
104; us the mask, not a pointer to it, and we return the old mask as the
105; (int) return value.
10649	STD	{ int getlogin(char *namebuf, u_int namelen); }
10750	STD	{ int setlogin(char *namebuf); }
10851	STD	{ int acct(char *path); }
10952	OBSOL	freebsd3_sigpending
11053	STD	{ int sigaltstack(stack_t *ss, stack_t *oss); }
11154	STD	{ int ioctl(int fd, u_long com, caddr_t data); }
11255	STD	{ int reboot(int opt); }
11356	STD	{ int revoke(char *path); }
11457	STD	{ int symlink(char *path, char *link); }
11558	STD	{ int readlink(char *path, char *buf, int count); }
11659	STD	{ int execve(char *fname, char **argv, char **envv); }
11760	STD	{ int umask(int newmask); } umask umask_args int
11861	STD	{ int chroot(char *path); }
11962	COMPAT	{ int fstat(int fd, struct ostat *sb); }
12063	COMPAT	{ int getkerninfo(int op, char *where, size_t *size, \
121			    int arg); } getkerninfo getkerninfo_args int
12264	COMPAT	{ int getpagesize(void); } \
123			    getpagesize getpagesize_args int
12465	STD	{ int msync(void *addr, size_t len, int flags); }
12566	STD	{ pid_t vfork(void); }
12667	OBSOL	vread
12768	OBSOL	vwrite
12869	STD	{ int sbrk(int incr); }
12970	STD	{ int sstk(int incr); }
13071	COMPAT	{ int mmap(void *addr, int len, int prot, \
131			    int flags, int fd, long pos); }
13272	COMPAT	{ int vadvise(int anom); } vadvise ovadvise_args int
13373	STD	{ int munmap(void *addr, size_t len); }
13474	STD	{ int mprotect(void *addr, size_t len, int prot); }
13575	STD	{ int madvise(void *addr, size_t len, int behav); }
13676	OBSOL	vhangup
13777	OBSOL	vlimit
13878	STD	{ int mincore(const void *addr, size_t len, \
139			    char *vec); }
14079	STD	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
14180	STD	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
14281	STD	{ int getpgrp(void); }
14382	STD	{ int setpgid(int pid, int pgid); }
14483	STD	{ int setitimer(u_int which, struct itimerval *itv, \
145			    struct itimerval *oitv); }
14684	COMPAT	{ int wait(void); }
14785	STD	{ int swapon(char *name); }
14886	STD	{ int getitimer(u_int which, struct itimerval *itv); }
14987	COMPAT	{ int gethostname(char *hostname, u_int len); } \
150			    gethostname gethostname_args int
15188	COMPAT	{ int sethostname(char *hostname, u_int len); } \
152			    sethostname sethostname_args int
15389	STD	{ int getdtablesize(void); }
15490	STD	{ int dup2(int from, int to); }
15591	UNIMPL	getdopt
15692	STD	{ int fcntl(int fd, int cmd, long arg); }
157; XXX should be		{ int fcntl(int fd, int cmd, ...); }
158; but we're not ready for varargs.
159; XXX man page says `int arg' too.
16093	STD	{ int select(int nd, fd_set *in, fd_set *ou, \
161			    fd_set *ex, struct timeval *tv); }
16294	UNIMPL	setdopt
16395	STD	{ int fsync(int fd); }
16496	STD	{ int setpriority(int which, int who, int prio); }
16597	STD	{ int socket(int domain, int type, int protocol); }
16698	STD	{ int connect(int s, caddr_t name, int namelen); }
16799	CPT_NOA	{ int accept(int s, caddr_t name, int *anamelen); } \
168			    accept accept_args int
169100	STD	{ int getpriority(int which, int who); }
170101	COMPAT	{ int send(int s, caddr_t buf, int len, int flags); }
171102	COMPAT	{ int recv(int s, caddr_t buf, int len, int flags); }
172103	OBSOL	freebsd3_sigreturn
173104	STD	{ int bind(int s, caddr_t name, int namelen); }
174105	STD	{ int setsockopt(int s, int level, int name, \
175			    caddr_t val, int valsize); }
176106	STD	{ int listen(int s, int backlog); }
177107	OBSOL	vtimes
178108	OBSOL	4.3 sigvec
179109	OBSOL	4.3 sigblock
180110	OBSOL	4.3 sigsetmask
181111	OBSOL	freebsd3_sigsuspend
182; XXX note nonstandard (bogus) calling convention - the libc stub passes
183; us the mask, not a pointer to it.
184112	COMPAT	{ int sigstack(struct sigstack *nss, \
185			    struct sigstack *oss); }
186113	COMPAT	{ int recvmsg(int s, struct omsghdr *msg, int flags); }
187114	COMPAT	{ int sendmsg(int s, caddr_t msg, int flags); }
188115	OBSOL	vtrace
189116	STD	{ int gettimeofday(struct timeval *tp, \
190			    struct timezone *tzp); }
191117	STD	{ int getrusage(int who, struct rusage *rusage); }
192118	STD	{ int getsockopt(int s, int level, int name, \
193			    caddr_t val, int *avalsize); }
194119	UNIMPL	resuba (BSD/OS 2.x)
195120	STD	{ int readv(int fd, struct iovec *iovp, u_int iovcnt); }
196121	STD	{ int writev(int fd, struct iovec *iovp, \
197			    u_int iovcnt); }
198122	STD	{ int settimeofday(struct timeval *tv, \
199			    struct timezone *tzp); }
200123	STD	{ int fchown(int fd, int uid, int gid); }
201124	STD	{ int fchmod(int fd, int mode); }
202125	CPT_NOA	{ int recvfrom(int s, caddr_t buf, size_t len, \
203			    int flags, caddr_t from, int *fromlenaddr); } \
204			    recvfrom recvfrom_args int
205126	STD	{ int setreuid(int ruid, int euid); }
206127	STD	{ int setregid(int rgid, int egid); }
207128	STD	{ int rename(char *from, char *to); }
208129	COMPAT	{ int truncate(char *path, long length); }
209130	COMPAT	{ int ftruncate(int fd, long length); }
210131	STD	{ int flock(int fd, int how); }
211132	STD	{ int mkfifo(char *path, int mode); }
212133	STD	{ int sendto(int s, caddr_t buf, size_t len, \
213			    int flags, caddr_t to, int tolen); }
214134	STD	{ int shutdown(int s, int how); }
215135	STD	{ int socketpair(int domain, int type, int protocol, \
216			    int *rsv); }
217136	STD	{ int mkdir(char *path, int mode); }
218137	STD	{ int rmdir(char *path); }
219138	STD	{ int utimes(char *path, struct timeval *tptr); }
220139	OBSOL	4.2 sigreturn
221140	STD	{ int adjtime(struct timeval *delta, \
222			    struct timeval *olddelta); }
223141	COMPAT	{ int getpeername(int fdes, caddr_t asa, int *alen); }
224142	OBSOL	4.3 gethostid
225143	OBSOL	4.3 sethostid
226144	COMPAT	{ int getrlimit(u_int which, struct orlimit *rlp); }
227145	COMPAT	{ int setrlimit(u_int which, struct orlimit *rlp); }
228146	OBSOL	4.3 killpg
229147	STD	{ int setsid(void); }
230148	STD	{ int quotactl(char *path, int cmd, int uid, \
231			    caddr_t arg); }
232149	COMPAT	{ int quota(void); }
233150	CPT_NOA	{ int getsockname(int fdec, caddr_t asa, int *alen); }\
234			    getsockname getsockname_args int
235
236; Syscalls 151-180 inclusive are reserved for vendor-specific
237; system calls.  (This includes various calls added for compatibity
238; with other Unix variants.)
239; Some of these calls are now supported by BSD...
240151	UNIMPL	sem_lock (BSD/OS 2.x)
241152	UNIMPL	sem_wakeup (BSD/OS 2.x)
242153	UNIMPL	asyncdaemon (BSD/OS 2.x)
243154	UNIMPL	nosys
244; 155 is initialized by the NFS code, if present.
245155	NOIMPL	{ int nfssvc(int flag, caddr_t argp); }
246156	COMPAT	{ int getdirentries(int fd, char *buf, u_int count, \
247			    long *basep); }
248157	STD	{ int statfs(char *path, struct statfs *buf); }
249158	STD	{ int fstatfs(int fd, struct statfs *buf); }
250159	UNIMPL	nosys
251160	UNIMPL	nosys
252; 161 is initialized by the NFS code, if present.
253161	STD	{ int getfh(char *fname, struct fhandle *fhp); }
254162	STD	{ int getdomainname(char *domainname, int len); }
255163	STD	{ int setdomainname(char *domainname, int len); }
256164	STD	{ int uname(struct utsname *name); }
257165	STD	{ int sysarch(int op, char *parms); }
258166	STD	{ int rtprio(int function, pid_t pid, \
259			    struct rtprio *rtp); }
260167	UNIMPL	nosys
261168	UNIMPL	nosys
262169	OBSOL	semsys
263170	OBSOL	msgsys
264171	OBSOL	shmsys
265172	UNIMPL	nosys
266173	STD	{ ssize_t extpread(int fd, void *buf, \
267			    size_t nbyte, int flags, off_t offset); }
268174	STD	{ ssize_t extpwrite(int fd, const void *buf, \
269			    size_t nbyte, int flags, off_t offset); }
270175	UNIMPL	nosys
271176	STD	{ int ntp_adjtime(struct timex *tp); }
272177	UNIMPL	sfork (BSD/OS 2.x)
273178	UNIMPL	getdescriptor (BSD/OS 2.x)
274179	UNIMPL	setdescriptor (BSD/OS 2.x)
275180	UNIMPL	nosys
276
277; Syscalls 181-199 are used by/reserved for BSD
278181	STD	{ int setgid(gid_t gid); }
279182	STD	{ int setegid(gid_t egid); }
280183	STD	{ int seteuid(uid_t euid); }
281184	UNIMPL	lfs_bmapv
282185	UNIMPL	lfs_markv
283186	UNIMPL	lfs_segclean
284187	UNIMPL	lfs_segwait
285188	UNIMPL	nosys
286189	UNIMPL	nosys
287190	UNIMPL	nosys
288191	STD	{ int pathconf(char *path, int name); }
289192	STD	{ int fpathconf(int fd, int name); }
290193	UNIMPL	nosys
291194	STD	{ int getrlimit(u_int which, \
292			    struct rlimit *rlp); } \
293			    getrlimit __getrlimit_args int
294195	STD	{ int setrlimit(u_int which, \
295			    struct rlimit *rlp); } \
296			    setrlimit __setrlimit_args int
297196	UNIMPL	nosys
298197	STD	{ caddr_t mmap(caddr_t addr, size_t len, int prot, \
299			    int flags, int fd, int pad, off_t pos); }
300198	STD	{ int nosys(void); } __syscall __syscall_args int
301199	STD	{ off_t lseek(int fd, int pad, off_t offset, \
302			    int whence); }
303200	STD	{ int truncate(char *path, int pad, off_t length); }
304201	STD	{ int ftruncate(int fd, int pad, off_t length); }
305202	STD	{ int __sysctl(int *name, u_int namelen, void *old, \
306			    size_t *oldlenp, void *new, size_t newlen); } \
307			    __sysctl sysctl_args int
308203	STD	{ int mlock(const void *addr, size_t len); }
309204	STD	{ int munlock(const void *addr, size_t len); }
310205	STD	{ int undelete(char *path); }
311206	STD	{ int futimes(int fd, struct timeval *tptr); }
312207	STD	{ int getpgid(pid_t pid); }
313208	UNIMPL	newreboot (NetBSD)
314209	STD	{ int poll(struct pollfd *fds, u_int nfds, \
315			    int timeout); }
316
317;
318; The following are reserved for loadable syscalls
319;
320; 210 is used by the Checkpoint Module
321210	NODEF	lkmnosys lkmnosys nosys_args int
322211	NODEF	lkmnosys lkmnosys nosys_args int
323212	NODEF	lkmnosys lkmnosys nosys_args int
324213	NODEF	lkmnosys lkmnosys nosys_args int
325214	NODEF	lkmnosys lkmnosys nosys_args int
326215	NODEF	lkmnosys lkmnosys nosys_args int
327216	NODEF	lkmnosys lkmnosys nosys_args int
328217	NODEF	lkmnosys lkmnosys nosys_args int
329218	NODEF	lkmnosys lkmnosys nosys_args int
330219	NODEF	lkmnosys lkmnosys nosys_args int
331
332;
333; The following were introduced with NetBSD/4.4Lite-2
334;
335220	STD	{ int __semctl(int semid, int semnum, int cmd, \
336			    union semun *arg); }
337221	STD	{ int semget(key_t key, int nsems, int semflg); }
338222	STD	{ int semop(int semid, struct sembuf *sops, \
339			    u_int nsops); }
340223	UNIMPL	semconfig
341224	STD	{ int msgctl(int msqid, int cmd, \
342			    struct msqid_ds *buf); }
343225	STD	{ int msgget(key_t key, int msgflg); }
344226	STD	{ int msgsnd(int msqid, const void *msgp, size_t msgsz, \
345			    int msgflg); }
346227	STD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
347			    long msgtyp, int msgflg); }
348228	STD	{ caddr_t shmat(int shmid, const void *shmaddr, \
349			    int shmflg); }
350229	STD	{ int shmctl(int shmid, int cmd, \
351			    struct shmid_ds *buf); }
352230	STD	{ int shmdt(const void *shmaddr); }
353231	STD	{ int shmget(key_t key, size_t size, int shmflg); }
354;
355232	STD	{ int clock_gettime(clockid_t clock_id, \
356			    struct timespec *tp); }
357233	STD	{ int clock_settime(clockid_t clock_id, \
358			    const struct timespec *tp); }
359234	STD	{ int clock_getres(clockid_t clock_id, \
360			    struct timespec *tp); }
361235	UNIMPL	timer_create
362236	UNIMPL	timer_delete
363237	UNIMPL	timer_settime
364238	UNIMPL	timer_gettime
365239	UNIMPL	timer_getoverrun
366240	STD	{ int nanosleep(const struct timespec *rqtp, \
367			    struct timespec *rmtp); }
368241	UNIMPL	nosys
369242	UNIMPL	nosys
370243	UNIMPL	nosys
371244	UNIMPL	nosys
372245	UNIMPL	nosys
373246	UNIMPL	nosys
374247	UNIMPL	nosys
375248	UNIMPL	nosys
376249	UNIMPL	nosys
377; syscall numbers initially used in OpenBSD
378250	STD	{ int minherit(void *addr, size_t len, int inherit); }
379251	STD	{ int rfork(int flags); }
380252	STD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
381			    int timeout); }
382253	STD	{ int issetugid(void); }
383254	STD	{ int lchown(char *path, int uid, int gid); }
384255	UNIMPL	nosys
385256	UNIMPL	nosys
386257	UNIMPL	nosys
387258	UNIMPL	nosys
388259	UNIMPL	nosys
389260	UNIMPL	nosys
390261	UNIMPL	nosys
391262	UNIMPL	nosys
392263	UNIMPL	nosys
393264	UNIMPL	nosys
394265	UNIMPL	nosys
395266	UNIMPL	nosys
396267	UNIMPL	nosys
397268	UNIMPL	nosys
398269	UNIMPL	nosys
399270	UNIMPL	nosys
400271	UNIMPL	nosys
401272	UNIMPL	nosys
402273	UNIMPL	nosys
403274	STD	{ int lchmod(char *path, mode_t mode); }
404275	NOPROTO { int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int
405276	STD	{ int lutimes(char *path, struct timeval *tptr); }
406277	NOPROTO	{ int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int
407278	OBSOL	nstat
408279	OBSOL	nfstat
409280	OBSOL	nlstat
410281	UNIMPL	nosys
411282	UNIMPL	nosys
412283	UNIMPL	nosys
413284	UNIMPL	nosys
414285	UNIMPL	nosys
415286	UNIMPL	nosys
416287	UNIMPL	nosys
417288	UNIMPL	nosys
418; 289 and 290 from NetBSD (OpenBSD: 267 and 268)
419289	STD	{ ssize_t extpreadv(int fd, struct iovec *iovp, \
420				  u_int iovcnt, int flags, off_t offset); }
421290	STD	{ ssize_t extpwritev(int fd, struct iovec *iovp,\
422				  u_int iovcnt, int flags, off_t offset); }
423291	UNIMPL	nosys
424292	UNIMPL	nosys
425293	UNIMPL	nosys
426294	UNIMPL	nosys
427295	UNIMPL	nosys
428296	UNIMPL	nosys
429; XXX 297 is 300 in NetBSD
430297	STD	{ int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
431298	STD	{ int fhopen(const struct fhandle *u_fhp, int flags); }
432299	UNIMPL	nosys
433; syscall numbers for FreeBSD
434300	STD	{ int modnext(int modid); }
435301	STD	{ int modstat(int modid, struct module_stat* stat); }
436302	STD	{ int modfnext(int modid); }
437303	STD	{ int modfind(const char *name); }
438304	STD	{ int kldload(const char *file); }
439305	STD	{ int kldunload(int fileid); }
440306	STD	{ int kldfind(const char *file); }
441307	STD	{ int kldnext(int fileid); }
442308	STD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
443309	STD	{ int kldfirstmod(int fileid); }
444310	STD	{ int getsid(pid_t pid); }
445311	STD	{ int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
446312	STD	{ int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
447313	OBSOL	signanosleep
448314	STD	{ int aio_return(struct aiocb *aiocbp); }
449315	STD	{ int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
450316	STD	{ int aio_cancel(int fd, struct aiocb *aiocbp); }
451317	STD	{ int aio_error(struct aiocb *aiocbp); }
452318	STD	{ int aio_read(struct aiocb *aiocbp); }
453319	STD	{ int aio_write(struct aiocb *aiocbp); }
454320	STD	{ int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
455321	STD	{ int yield(void); }
456322	UNIMPL	thr_sleep
457323	UNIMPL	thr_wakeup
458324	STD	{ int mlockall(int how); }
459325	STD	{ int munlockall(void); }
460326	STD	{ int __getcwd(u_char *buf, u_int buflen); }
461
462327	STD	{ int sched_setparam (pid_t pid, const struct sched_param *param); }
463328	STD	{ int sched_getparam (pid_t pid, struct sched_param *param); }
464
465329	STD	{ int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
466330	STD	{ int sched_getscheduler (pid_t pid); }
467
468331	STD	{ int sched_yield (void); }
469332	STD	{ int sched_get_priority_max (int policy); }
470333	STD	{ int sched_get_priority_min (int policy); }
471334	STD	{ int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
472335	STD	{ int utrace(const void *addr, size_t len); }
473336	OBSOL	freebsd4_sendfile
474337	STD	{ int kldsym(int fileid, int cmd, void *data); }
475338	STD	{ int jail(struct jail *jail); }
476339	UNIMPL	pioctl
477340	STD	{ int sigprocmask(int how, const sigset_t *set, \
478			    sigset_t *oset); }
479341	STD	{ int sigsuspend(const sigset_t *sigmask); }
480342	STD	{ int sigaction(int sig, const struct sigaction *act, \
481			    struct sigaction *oact); }
482343	STD	{ int sigpending(sigset_t *set); }
483344	STD	{ int sigreturn(ucontext_t *sigcntxp); }
484345	STD	{ int sigtimedwait(const sigset_t *set,\
485			     siginfo_t *info, const struct timespec *timeout); }
486346	STD	{ int sigwaitinfo(const sigset_t *set,\
487			     siginfo_t *info); }
488347	STD	{ int __acl_get_file(const char *path, \
489			    acl_type_t type, struct acl *aclp); }
490348	STD	{ int __acl_set_file(const char *path, \
491			    acl_type_t type, struct acl *aclp); }
492349	STD	{ int __acl_get_fd(int filedes, acl_type_t type, \
493			    struct acl *aclp); }
494350	STD	{ int __acl_set_fd(int filedes, acl_type_t type, \
495			    struct acl *aclp); }
496351	STD	{ int __acl_delete_file(const char *path, \
497			    acl_type_t type); }
498352	STD	{ int __acl_delete_fd(int filedes, acl_type_t type); }
499353	STD	{ int __acl_aclcheck_file(const char *path, \
500			    acl_type_t type, struct acl *aclp); }
501354	STD	{ int __acl_aclcheck_fd(int filedes, acl_type_t type, \
502			    struct acl *aclp); }
503355	STD	{ int extattrctl(const char *path, int cmd, \
504			    const char *filename, int attrnamespace, \
505			    const char *attrname); }
506356	STD	{ int extattr_set_file(const char *path, \
507			    int attrnamespace, const char *attrname, \
508			    void *data, size_t nbytes); }
509357	STD	{ int extattr_get_file(const char *path, \
510			    int attrnamespace, const char *attrname, \
511			    void *data, size_t nbytes); }
512358	STD	{ int extattr_delete_file(const char *path, \
513			    int attrnamespace, const char *attrname); }
514359	STD	{ int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); }
515360	STD	{ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
516361	STD	{ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
517362	STD	{ int kqueue(void); }
518363	STD	{ int kevent(int fd, \
519			    const struct kevent *changelist, int nchanges, \
520			    struct kevent *eventlist, int nevents, \
521			    const struct timespec *timeout); }
522364	UNIMPL	sctp_peeloff
523; 365-392 used by FreeBSD-current
524365	UNIMPL	nosys
525366	UNIMPL	nosys
526367	UNIMPL	nosys
527368	UNIMPL	nosys
528369	UNIMPL	nosys
529370	UNIMPL	nosys
530371	UNIMPL	nosys
531372	UNIMPL	nosys
532373	UNIMPL	nosys
533374	UNIMPL	nosys
534375	UNIMPL	nosys
535376	UNIMPL	nosys
536377	UNIMPL	nosys
537378	UNIMPL	nosys
538379	UNIMPL	nosys
539380	UNIMPL	nosys
540381	UNIMPL	nosys
541382	UNIMPL	nosys
542383	UNIMPL	nosys
543384	UNIMPL	nosys
544385	UNIMPL	nosys
545386	UNIMPL	nosys
546387	UNIMPL	nosys
547388	UNIMPL	nosys
548389	UNIMPL	nosys
549390	STD	{ int kenv(int what, const char *name, char *value, int len); }
550391	STD	{ int lchflags(char *path, int flags); }
551392	STD	{ int uuidgen(struct uuid *store, int count); }
552393	STD	{ int sendfile(int fd, int s, off_t offset, size_t nbytes, \
553				struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
554; 394-439 used by FreeBSD-current
555394	UNIMPL	nosys
556395	UNIMPL	nosys
557396	UNIMPL	nosys
558397	UNIMPL	nosys
559398	UNIMPL	nosys
560399	UNIMPL	nosys
561400	UNIMPL	nosys
562401	UNIMPL	nosys
563402	UNIMPL	nosys
564403	UNIMPL	nosys
565404	UNIMPL	nosys
566405	UNIMPL	nosys
567406	UNIMPL	nosys
568407	UNIMPL	nosys
569408	UNIMPL	nosys
570409	UNIMPL	nosys
571410	UNIMPL	nosys
572411	UNIMPL	nosys
573412	UNIMPL	nosys
574413	UNIMPL	nosys
575414	UNIMPL	nosys
576415	UNIMPL	nosys
577416	UNIMPL	nosys
578417	UNIMPL	nosys
579418	UNIMPL	nosys
580419	UNIMPL	nosys
581420	UNIMPL	nosys
582421	UNIMPL	nosys
583422	UNIMPL	nosys
584423	UNIMPL	nosys
585424	UNIMPL	nosys
586425	UNIMPL	nosys
587426	UNIMPL	nosys
588427	UNIMPL	nosys
589428	UNIMPL	nosys
590429	UNIMPL	nosys
591430	UNIMPL	nosys
592431	UNIMPL	nosys
593432	UNIMPL	nosys
594433	UNIMPL	nosys
595434	UNIMPL	nosys
596435	UNIMPL	nosys
597436	UNIMPL	nosys
598437	UNIMPL	nosys
599438	UNIMPL	nosys
600439	UNIMPL	nosys
601; 440-449 reserved for FreeBSD-5.x growth
602440	UNIMPL	nosys
603441	UNIMPL	nosys
604442	UNIMPL	nosys
605443	UNIMPL	nosys
606444	UNIMPL	nosys
607445	UNIMPL	nosys
608446	UNIMPL	nosys
609447	UNIMPL	nosys
610448	UNIMPL	nosys
611449	UNIMPL	nosys
612; 450 DragonFly system calls
613450	STD	{ int varsym_set(int level, const char *name, const char *data); }
614451	STD	{ int varsym_get(int mask, const char *wild, char *buf, int bufsize); }
615452	STD	{ int varsym_list(int level, char *buf, int maxsize, int *marker); }
616453	OBSOL	upc_register
617454	OBSOL	upc_control
618455	OBSOL	caps_sys_service
619456	OBSOL	caps_sys_client
620457	OBSOL	caps_sys_close
621458	OBSOL	caps_sys_put
622459	OBSOL	caps_sys_reply
623460	OBSOL	caps_sys_get
624461	OBSOL	caps_sys_wait
625462	OBSOL	caps_sys_abort
626463	OBSOL	caps_sys_getgen
627464	OBSOL	caps_sys_setgen
628465	STD	{ int exec_sys_register(void *entry); }
629466	STD	{ int exec_sys_unregister(int id); }
630467	STD	{ int sys_checkpoint(int type, int fd, pid_t pid, int retval); }
631468	STD	{ int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); }
632469	STD	{ int umtx_sleep(volatile const int *ptr, int value, int timeout); }
633470	STD	{ int umtx_wakeup(volatile const int *ptr, int count); }
634471	STD	{ int jail_attach(int jid); }
635472	STD	{ int set_tls_area(int which, struct tls_info *info, size_t infosize); }
636473	STD	{ int get_tls_area(int which, struct tls_info *info, size_t infosize); }
637474	STD	{ int closefrom(int fd); }
638475	STD	{ int stat(const char *path, struct stat *ub); }
639476	STD	{ int fstat(int fd, struct stat *sb); }
640477	STD	{ int lstat(const char *path, struct stat *ub); }
641478	STD 	{ int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
642479	STD	{ int getdirentries(int fd, char *buf, u_int count, \
643			    long *basep); }
644480	STD	{ int getdents(int fd, char *buf, size_t count); }
645481	STD	{ int usched_set(pid_t pid, int cmd, void *data, \
646				int bytes); }
647482	STD	{ int extaccept(int s, int flags, caddr_t name, int *anamelen); }
648483	STD	{ int extconnect(int s, int flags, caddr_t name, int namelen); }
649484	OBSOL	syslink
650485	STD	{ int mcontrol(void *addr, size_t len, int behav, off_t value); }
651486	STD	{ int vmspace_create(void *id, int type, void *data); }
652487	STD	{ int vmspace_destroy(void *id); }
653488	STD	{ int vmspace_ctl(void *id, int cmd, 		\
654					  struct trapframe *tframe,	\
655					  struct vextframe *vframe); }
656489	STD	{ int vmspace_mmap(void *id, void *addr, size_t len, \
657					  int prot, int flags, int fd, \
658					  off_t offset); }
659490	STD	{ int vmspace_munmap(void *id, void *addr,	\
660					  size_t len); }
661491	STD	{ int vmspace_mcontrol(void *id, void *addr, 	\
662					  size_t len, int behav, off_t value); }
663492	STD	{ ssize_t vmspace_pread(void *id, void *buf, \
664			    size_t nbyte, int flags, off_t offset); }
665493	STD	{ ssize_t vmspace_pwrite(void *id, const void *buf, \
666			    size_t nbyte, int flags, off_t offset); }
667494	STD	{ void extexit(int how, int status, void *addr); }
668495	STD	{ int lwp_create(struct lwp_params *params); }
669496	STD	{ lwpid_t lwp_gettid(void); }
670497	STD	{ int lwp_kill(pid_t pid, lwpid_t tid, int signum); }
671498	STD	{ int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); }
672499	STD	{ int pselect(int nd, fd_set *in, fd_set *ou, \
673			    fd_set *ex, const struct timespec *ts,    \
674			    const sigset_t *sigmask); }
675500	STD	{ int statvfs(const char *path, struct statvfs *buf); }
676501	STD	{ int fstatvfs(int fd, struct statvfs *buf); }
677502	STD	{ int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); }
678503	STD	{ int getvfsstat(struct statfs *buf,          \
679			    struct statvfs *vbuf, long vbufsize, int flags); }
680504	STD	{ int openat(int fd, char *path, int flags, int mode); }
681; XXX should be		{ int openat(int fd, const char *path, int flags, ...);}
682; but we're not ready for `const' or varargs.
683; XXX man page says `mode_t mode'.
684505	STD	{ int fstatat(int fd, char *path, 	\
685					struct stat *sb, int flags); }
686506	STD	{ int fchmodat(int fd, char *path, int mode, \
687					int flags); }
688507	STD	{ int fchownat(int fd, char *path, int uid, int gid, \
689					int flags); }
690508	STD	{ int unlinkat(int fd, char *path, int flags); }
691509	STD	{ int faccessat(int fd, char *path, int amode, \
692					int flags); }
693
694; POSIX message queues system calls
695510	STD	{ mqd_t mq_open(const char * name, int oflag, \
696				  mode_t mode, struct mq_attr *attr); }
697511	STD	{ int mq_close(mqd_t mqdes); }
698512	STD	{ int mq_unlink(const char *name); }
699513	STD	{ int mq_getattr(mqd_t mqdes, \
700				  struct mq_attr *mqstat); }
701514	STD	{ int mq_setattr(mqd_t mqdes, \
702				  const struct mq_attr *mqstat, \
703				  struct mq_attr *omqstat); }
704515	STD	{ int mq_notify(mqd_t mqdes, \
705				  const struct sigevent *notification); }
706516	STD	{ int mq_send(mqd_t mqdes, const char *msg_ptr, \
707				  size_t msg_len, unsigned msg_prio); }
708517	STD	{ ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \
709				  size_t msg_len, unsigned *msg_prio); }
710518	STD	{ int mq_timedsend(mqd_t mqdes, \
711				  const char *msg_ptr, size_t msg_len, \
712				  unsigned msg_prio, \
713				  const struct timespec *abs_timeout); }
714519	STD	{ ssize_t mq_timedreceive(mqd_t mqdes, \
715				  char *msg_ptr, size_t msg_len, unsigned *msg_prio, \
716				  const struct timespec *abs_timeout); }
717520	STD	{ int ioprio_set(int which, int who, int prio); }
718521	STD	{ int ioprio_get(int which, int who); }
719522	STD	{ int chroot_kernel(char *path); }
720523	STD	{ int renameat(int oldfd, char *old, int newfd, \
721				  char *new); }
722524	STD	{ int mkdirat(int fd, char *path, mode_t mode); }
723525	STD	{ int mkfifoat(int fd, char *path, mode_t mode); }
724526	STD	{ int mknodat(int fd, char *path, mode_t mode, \
725				  dev_t dev); }
726527	STD	{ int readlinkat(int fd, char *path, char *buf, \
727				  size_t bufsize); }
728528	STD	{ int symlinkat(char *path1, int fd, char *path2); }
729529	STD	{ int swapoff(char *name); }
730530	STD	{ int vquotactl(const char *path, \
731			    struct plistref *pref); }
732531	STD	{ int linkat(int fd1, char *path1, int fd2, \
733				char *path2, int flags); }
734532	STD	{ int eaccess(char *path, int flags); }
735533	STD	{ int lpathconf(char *path, int name); }
736534	STD	{ int vmm_guest_ctl(int op, struct vmm_guest_options *options); }
737535	STD	{ int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); }
738536	STD	{ int procctl(idtype_t idtype, id_t id, int cmd, void *data); }
739537	STD	{ int chflagsat(int fd, const char *path, int flags, int atflags);}
740538	STD	{ int pipe2(int *fildes, int flags); }
741539	STD	{ int utimensat(int fd, const char *path, const struct timespec *ts, int flags); }
742540	STD	{ int futimens(int fd, const struct timespec *ts); }
743541	STD	{ int accept4(int s, caddr_t name, int *anamelen, int flags); }
744542	STD	{ int lwp_setname(lwpid_t tid, const char *name); }
745543	STD	{ int ppoll(struct pollfd *fds, u_int nfds, \
746			const struct timespec *ts, const sigset_t *sigmask); }
747544	STD	{ int lwp_setaffinity(pid_t pid, lwpid_t tid, const cpumask_t *mask); }
748545	STD	{ int lwp_getaffinity(pid_t pid, lwpid_t tid, cpumask_t *mask); }
749546	STD	{ int lwp_create2(struct lwp_params *params, const cpumask_t *mask); }
750