xref: /dragonfly/sys/kern/syscalls.master (revision 8e5d7c42)
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	OBSOL	old lseek
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	OBSOL	old stat
9139	STD	{ pid_t getppid(void); }
9240	OBSOL	old lstat
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
10349	STD	{ int getlogin(char *namebuf, u_int namelen); }
10450	STD	{ int setlogin(char *namebuf); }
10551	STD	{ int acct(char *path); }
10652	OBSOL	freebsd3_sigpending
10753	STD	{ int sigaltstack(stack_t *ss, stack_t *oss); }
10854	STD	{ int ioctl(int fd, u_long com, caddr_t data); }
10955	STD	{ int reboot(int opt); }
11056	STD	{ int revoke(char *path); }
11157	STD	{ int symlink(char *path, char *link); }
11258	STD	{ int readlink(char *path, char *buf, int count); }
11359	STD	{ int execve(char *fname, char **argv, char **envv); }
11460	STD	{ int umask(int newmask); } umask umask_args int
11561	STD	{ int chroot(char *path); }
11662	OBSOL	old fstat
11763	OBSOL	getkerninfo
11864	OBSOL	getpagesize
11965	STD	{ int msync(void *addr, size_t len, int flags); }
12066	STD	{ pid_t vfork(void); }
12167	OBSOL	vread
12268	OBSOL	vwrite
12369	STD	{ int sbrk(int incr); }
12470	STD	{ int sstk(int incr); }
12571	OBSOL	old mmap
12672	OBSOL	vadvise
12773	STD	{ int munmap(void *addr, size_t len); }
12874	STD	{ int mprotect(void *addr, size_t len, int prot); }
12975	STD	{ int madvise(void *addr, size_t len, int behav); }
13076	OBSOL	vhangup
13177	OBSOL	vlimit
13278	STD	{ int mincore(const void *addr, size_t len, \
133			    char *vec); }
13479	STD	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
13580	STD	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
13681	STD	{ int getpgrp(void); }
13782	STD	{ int setpgid(int pid, int pgid); }
13883	STD	{ int setitimer(u_int which, struct itimerval *itv, \
139			    struct itimerval *oitv); }
14084	OBSOL	wait
14185	STD	{ int swapon(char *name); }
14286	STD	{ int getitimer(u_int which, struct itimerval *itv); }
14387	OBSOL	gethostname
14488	OBSOL	sethostname
14589	STD	{ int getdtablesize(void); }
14690	STD	{ int dup2(int from, int to); }
14791	UNIMPL	getdopt
14892	STD	{ int fcntl(int fd, int cmd, long arg); }
149; XXX should be		{ int fcntl(int fd, int cmd, ...); }
150; but we're not ready for varargs.
151; XXX man page says `int arg' too.
15293	STD	{ int select(int nd, fd_set *in, fd_set *ou, \
153			    fd_set *ex, struct timeval *tv); }
15494	UNIMPL	setdopt
15595	STD	{ int fsync(int fd); }
15696	STD	{ int setpriority(int which, int who, int prio); }
15797	STD	{ int socket(int domain, int type, int protocol); }
15898	STD	{ int connect(int s, caddr_t name, int namelen); }
15999	OBSOL	old accept
160100	STD	{ int getpriority(int which, int who); }
161101	OBSOL	send
162102	OBSOL	recv
163103	OBSOL	freebsd3_sigreturn
164104	STD	{ int bind(int s, caddr_t name, int namelen); }
165105	STD	{ int setsockopt(int s, int level, int name, \
166			    caddr_t val, int valsize); }
167106	STD	{ int listen(int s, int backlog); }
168107	OBSOL	vtimes
169108	OBSOL	4.3 sigvec
170109	OBSOL	4.3 sigblock
171110	OBSOL	4.3 sigsetmask
172111	OBSOL	freebsd3_sigsuspend
173112	OBSOL	sigstack
174113	OBSOL	old recvmsg
175114	OBSOL	old sendmsg
176115	OBSOL	vtrace
177116	STD	{ int gettimeofday(struct timeval *tp, \
178			    struct timezone *tzp); }
179117	STD	{ int getrusage(int who, struct rusage *rusage); }
180118	STD	{ int getsockopt(int s, int level, int name, \
181			    caddr_t val, int *avalsize); }
182119	UNIMPL	resuba (BSD/OS 2.x)
183120	STD	{ int readv(int fd, struct iovec *iovp, u_int iovcnt); }
184121	STD	{ int writev(int fd, struct iovec *iovp, \
185			    u_int iovcnt); }
186122	STD	{ int settimeofday(struct timeval *tv, \
187			    struct timezone *tzp); }
188123	STD	{ int fchown(int fd, int uid, int gid); }
189124	STD	{ int fchmod(int fd, int mode); }
190125	OBSOL	old recvfrom
191126	STD	{ int setreuid(int ruid, int euid); }
192127	STD	{ int setregid(int rgid, int egid); }
193128	STD	{ int rename(char *from, char *to); }
194129	OBSOL	old truncate
195130	OBSOL	old ftruncate
196131	STD	{ int flock(int fd, int how); }
197132	STD	{ int mkfifo(char *path, int mode); }
198133	STD	{ int sendto(int s, caddr_t buf, size_t len, \
199			    int flags, caddr_t to, int tolen); }
200134	STD	{ int shutdown(int s, int how); }
201135	STD	{ int socketpair(int domain, int type, int protocol, \
202			    int *rsv); }
203136	STD	{ int mkdir(char *path, int mode); }
204137	STD	{ int rmdir(char *path); }
205138	STD	{ int utimes(char *path, struct timeval *tptr); }
206139	OBSOL	4.2 sigreturn
207140	STD	{ int adjtime(struct timeval *delta, \
208			    struct timeval *olddelta); }
209141	OBSOL	old getpeername
210142	OBSOL	4.3 gethostid
211143	OBSOL	4.3 sethostid
212144	OBSOL	old getrlimit
213145	OBSOL	old setrlimit
214146	OBSOL	4.3 killpg
215147	STD	{ int setsid(void); }
216148	STD	{ int quotactl(char *path, int cmd, int uid, \
217			    caddr_t arg); }
218149	OBSOL	quota
219150	OBSOL	old getsockname
220
221; Syscalls 151-180 inclusive are reserved for vendor-specific
222; system calls.  (This includes various calls added for compatibity
223; with other Unix variants.)
224; Some of these calls are now supported by BSD...
225151	UNIMPL	sem_lock (BSD/OS 2.x)
226152	UNIMPL	sem_wakeup (BSD/OS 2.x)
227153	UNIMPL	asyncdaemon (BSD/OS 2.x)
228154	UNIMPL	nosys
229; 155 is initialized by the NFS code, if present.
230155	NOIMPL	{ int nfssvc(int flag, caddr_t argp); }
231156	OBSOL	old getdirentries
232157	STD	{ int statfs(char *path, struct statfs *buf); }
233158	STD	{ int fstatfs(int fd, struct statfs *buf); }
234159	UNIMPL	nosys
235160	UNIMPL	nosys
236; 161 is initialized by the NFS code, if present.
237161	STD	{ int getfh(char *fname, struct fhandle *fhp); }
238162	STD	{ int getdomainname(char *domainname, int len); }
239163	STD	{ int setdomainname(char *domainname, int len); }
240164	STD	{ int uname(struct utsname *name); }
241165	STD	{ int sysarch(int op, char *parms); }
242166	STD	{ int rtprio(int function, pid_t pid, \
243			    struct rtprio *rtp); }
244167	UNIMPL	nosys
245168	UNIMPL	nosys
246169	OBSOL	semsys
247170	OBSOL	msgsys
248171	OBSOL	shmsys
249172	UNIMPL	nosys
250173	STD	{ ssize_t extpread(int fd, void *buf, \
251			    size_t nbyte, int flags, off_t offset); }
252174	STD	{ ssize_t extpwrite(int fd, const void *buf, \
253			    size_t nbyte, int flags, off_t offset); }
254175	UNIMPL	nosys
255176	STD	{ int ntp_adjtime(struct timex *tp); }
256177	UNIMPL	sfork (BSD/OS 2.x)
257178	UNIMPL	getdescriptor (BSD/OS 2.x)
258179	UNIMPL	setdescriptor (BSD/OS 2.x)
259180	UNIMPL	nosys
260
261; Syscalls 181-199 are used by/reserved for BSD
262181	STD	{ int setgid(gid_t gid); }
263182	STD	{ int setegid(gid_t egid); }
264183	STD	{ int seteuid(uid_t euid); }
265184	UNIMPL	lfs_bmapv
266185	UNIMPL	lfs_markv
267186	UNIMPL	lfs_segclean
268187	UNIMPL	lfs_segwait
269188	UNIMPL	nosys
270189	UNIMPL	nosys
271190	UNIMPL	nosys
272191	STD	{ int pathconf(char *path, int name); }
273192	STD	{ int fpathconf(int fd, int name); }
274193	UNIMPL	nosys
275194	STD	{ int getrlimit(u_int which, \
276			    struct rlimit *rlp); } \
277			    getrlimit __getrlimit_args int
278195	STD	{ int setrlimit(u_int which, \
279			    struct rlimit *rlp); } \
280			    setrlimit __setrlimit_args int
281196	UNIMPL	nosys
282197	STD	{ caddr_t mmap(caddr_t addr, size_t len, int prot, \
283			    int flags, int fd, int pad, off_t pos); }
284198	STD	{ int nosys(void); } __syscall __syscall_args int
285199	STD	{ off_t lseek(int fd, int pad, off_t offset, \
286			    int whence); }
287200	STD	{ int truncate(char *path, int pad, off_t length); }
288201	STD	{ int ftruncate(int fd, int pad, off_t length); }
289202	STD	{ int __sysctl(int *name, u_int namelen, void *old, \
290			    size_t *oldlenp, void *new, size_t newlen); } \
291			    __sysctl sysctl_args int
292203	STD	{ int mlock(const void *addr, size_t len); }
293204	STD	{ int munlock(const void *addr, size_t len); }
294205	STD	{ int undelete(char *path); }
295206	STD	{ int futimes(int fd, struct timeval *tptr); }
296207	STD	{ int getpgid(pid_t pid); }
297208	UNIMPL	newreboot (NetBSD)
298209	STD	{ int poll(struct pollfd *fds, u_int nfds, \
299			    int timeout); }
300
301;
302; The following are reserved for loadable syscalls
303;
304; 210 is used by the Checkpoint Module
305210	NODEF	lkmnosys lkmnosys nosys_args int
306211	NODEF	lkmnosys lkmnosys nosys_args int
307212	NODEF	lkmnosys lkmnosys nosys_args int
308213	NODEF	lkmnosys lkmnosys nosys_args int
309214	NODEF	lkmnosys lkmnosys nosys_args int
310215	NODEF	lkmnosys lkmnosys nosys_args int
311216	NODEF	lkmnosys lkmnosys nosys_args int
312217	NODEF	lkmnosys lkmnosys nosys_args int
313218	NODEF	lkmnosys lkmnosys nosys_args int
314219	NODEF	lkmnosys lkmnosys nosys_args int
315
316;
317; The following were introduced with NetBSD/4.4Lite-2
318;
319220	STD	{ int __semctl(int semid, int semnum, int cmd, \
320			    union semun *arg); }
321221	STD	{ int semget(key_t key, int nsems, int semflg); }
322222	STD	{ int semop(int semid, struct sembuf *sops, \
323			    u_int nsops); }
324223	UNIMPL	semconfig
325224	STD	{ int msgctl(int msqid, int cmd, \
326			    struct msqid_ds *buf); }
327225	STD	{ int msgget(key_t key, int msgflg); }
328226	STD	{ int msgsnd(int msqid, const void *msgp, size_t msgsz, \
329			    int msgflg); }
330227	STD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
331			    long msgtyp, int msgflg); }
332228	STD	{ caddr_t shmat(int shmid, const void *shmaddr, \
333			    int shmflg); }
334229	STD	{ int shmctl(int shmid, int cmd, \
335			    struct shmid_ds *buf); }
336230	STD	{ int shmdt(const void *shmaddr); }
337231	STD	{ int shmget(key_t key, size_t size, int shmflg); }
338;
339232	STD	{ int clock_gettime(clockid_t clock_id, \
340			    struct timespec *tp); }
341233	STD	{ int clock_settime(clockid_t clock_id, \
342			    const struct timespec *tp); }
343234	STD	{ int clock_getres(clockid_t clock_id, \
344			    struct timespec *tp); }
345235	UNIMPL	timer_create
346236	UNIMPL	timer_delete
347237	UNIMPL	timer_settime
348238	UNIMPL	timer_gettime
349239	UNIMPL	timer_getoverrun
350240	STD	{ int nanosleep(const struct timespec *rqtp, \
351			    struct timespec *rmtp); }
352241	UNIMPL	nosys
353242	UNIMPL	nosys
354243	UNIMPL	nosys
355244	UNIMPL	nosys
356245	UNIMPL	nosys
357246	UNIMPL	nosys
358247	UNIMPL	nosys
359248	UNIMPL	nosys
360249	UNIMPL	nosys
361; syscall numbers initially used in OpenBSD
362250	STD	{ int minherit(void *addr, size_t len, int inherit); }
363251	STD	{ int rfork(int flags); }
364252	STD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
365			    int timeout); }
366253	STD	{ int issetugid(void); }
367254	STD	{ int lchown(char *path, int uid, int gid); }
368255	UNIMPL	nosys
369256	UNIMPL	nosys
370257	UNIMPL	nosys
371258	UNIMPL	nosys
372259	UNIMPL	nosys
373260	UNIMPL	nosys
374261	UNIMPL	nosys
375262	UNIMPL	nosys
376263	UNIMPL	nosys
377264	UNIMPL	nosys
378265	UNIMPL	nosys
379266	UNIMPL	nosys
380267	UNIMPL	nosys
381268	UNIMPL	nosys
382269	UNIMPL	nosys
383270	UNIMPL	nosys
384271	UNIMPL	nosys
385272	UNIMPL	nosys
386273	UNIMPL	nosys
387274	STD	{ int lchmod(char *path, mode_t mode); }
388275	NOPROTO { int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int
389276	STD	{ int lutimes(char *path, struct timeval *tptr); }
390277	NOPROTO	{ int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int
391278	OBSOL	nstat
392279	OBSOL	nfstat
393280	OBSOL	nlstat
394281	UNIMPL	nosys
395282	UNIMPL	nosys
396283	UNIMPL	nosys
397284	UNIMPL	nosys
398285	UNIMPL	nosys
399286	UNIMPL	nosys
400287	UNIMPL	nosys
401288	UNIMPL	nosys
402; 289 and 290 from NetBSD (OpenBSD: 267 and 268)
403289	STD	{ ssize_t extpreadv(int fd, const struct iovec *iovp, \
404				  int iovcnt, int flags, off_t offset); }
405290	STD	{ ssize_t extpwritev(int fd, const struct iovec *iovp, \
406				  int iovcnt, int flags, off_t offset); }
407291	UNIMPL	nosys
408292	UNIMPL	nosys
409293	UNIMPL	nosys
410294	UNIMPL	nosys
411295	UNIMPL	nosys
412296	UNIMPL	nosys
413; XXX 297 is 300 in NetBSD
414297	STD	{ int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
415298	STD	{ int fhopen(const struct fhandle *u_fhp, int flags); }
416299	UNIMPL	nosys
417; syscall numbers for FreeBSD
418300	STD	{ int modnext(int modid); }
419301	STD	{ int modstat(int modid, struct module_stat* stat); }
420302	STD	{ int modfnext(int modid); }
421303	STD	{ int modfind(const char *name); }
422304	STD	{ int kldload(const char *file); }
423305	STD	{ int kldunload(int fileid); }
424306	STD	{ int kldfind(const char *file); }
425307	STD	{ int kldnext(int fileid); }
426308	STD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
427309	STD	{ int kldfirstmod(int fileid); }
428310	STD	{ int getsid(pid_t pid); }
429311	STD	{ int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
430312	STD	{ int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
431313	OBSOL	signanosleep
432314	STD	{ int aio_return(struct aiocb *aiocbp); }
433315	STD	{ int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
434316	STD	{ int aio_cancel(int fd, struct aiocb *aiocbp); }
435317	STD	{ int aio_error(struct aiocb *aiocbp); }
436318	STD	{ int aio_read(struct aiocb *aiocbp); }
437319	STD	{ int aio_write(struct aiocb *aiocbp); }
438320	STD	{ int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
439321	STD	{ int yield(void); }
440322	UNIMPL	thr_sleep
441323	UNIMPL	thr_wakeup
442324	STD	{ int mlockall(int how); }
443325	STD	{ int munlockall(void); }
444326	STD	{ int __getcwd(u_char *buf, u_int buflen); }
445
446327	STD	{ int sched_setparam (pid_t pid, const struct sched_param *param); }
447328	STD	{ int sched_getparam (pid_t pid, struct sched_param *param); }
448
449329	STD	{ int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
450330	STD	{ int sched_getscheduler (pid_t pid); }
451
452331	STD	{ int sched_yield (void); }
453332	STD	{ int sched_get_priority_max (int policy); }
454333	STD	{ int sched_get_priority_min (int policy); }
455334	STD	{ int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
456335	STD	{ int utrace(const void *addr, size_t len); }
457336	OBSOL	freebsd4_sendfile
458337	STD	{ int kldsym(int fileid, int cmd, void *data); }
459338	STD	{ int jail(struct jail *jail); }
460339	UNIMPL	pioctl
461340	STD	{ int sigprocmask(int how, const sigset_t *set, \
462			    sigset_t *oset); }
463341	STD	{ int sigsuspend(const sigset_t *sigmask); }
464342	STD	{ int sigaction(int sig, const struct sigaction *act, \
465			    struct sigaction *oact); }
466343	STD	{ int sigpending(sigset_t *set); }
467344	STD	{ int sigreturn(ucontext_t *sigcntxp); }
468345	STD	{ int sigtimedwait(const sigset_t *set,\
469			     siginfo_t *info, const struct timespec *timeout); }
470346	STD	{ int sigwaitinfo(const sigset_t *set,\
471			     siginfo_t *info); }
472347	STD	{ int __acl_get_file(const char *path, \
473			    acl_type_t type, struct acl *aclp); }
474348	STD	{ int __acl_set_file(const char *path, \
475			    acl_type_t type, struct acl *aclp); }
476349	STD	{ int __acl_get_fd(int filedes, acl_type_t type, \
477			    struct acl *aclp); }
478350	STD	{ int __acl_set_fd(int filedes, acl_type_t type, \
479			    struct acl *aclp); }
480351	STD	{ int __acl_delete_file(const char *path, \
481			    acl_type_t type); }
482352	STD	{ int __acl_delete_fd(int filedes, acl_type_t type); }
483353	STD	{ int __acl_aclcheck_file(const char *path, \
484			    acl_type_t type, struct acl *aclp); }
485354	STD	{ int __acl_aclcheck_fd(int filedes, acl_type_t type, \
486			    struct acl *aclp); }
487355	STD	{ int extattrctl(const char *path, int cmd, \
488			    const char *filename, int attrnamespace, \
489			    const char *attrname); }
490356	STD	{ int extattr_set_file(const char *path, \
491			    int attrnamespace, const char *attrname, \
492			    void *data, size_t nbytes); }
493357	STD	{ int extattr_get_file(const char *path, \
494			    int attrnamespace, const char *attrname, \
495			    void *data, size_t nbytes); }
496358	STD	{ int extattr_delete_file(const char *path, \
497			    int attrnamespace, const char *attrname); }
498359	STD	{ int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); }
499360	STD	{ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
500361	STD	{ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
501362	STD	{ int kqueue(void); }
502363	STD	{ int kevent(int fd, \
503			    const struct kevent *changelist, int nchanges, \
504			    struct kevent *eventlist, int nevents, \
505			    const struct timespec *timeout); }
506364	UNIMPL	sctp_peeloff
507; 365-392 used by FreeBSD-current
508365	UNIMPL	nosys
509366	UNIMPL	nosys
510367	UNIMPL	nosys
511368	UNIMPL	nosys
512369	UNIMPL	nosys
513370	UNIMPL	nosys
514371	UNIMPL	nosys
515372	UNIMPL	nosys
516373	UNIMPL	nosys
517374	UNIMPL	nosys
518375	UNIMPL	nosys
519376	UNIMPL	nosys
520377	UNIMPL	nosys
521378	UNIMPL	nosys
522379	UNIMPL	nosys
523380	UNIMPL	nosys
524381	UNIMPL	nosys
525382	UNIMPL	nosys
526383	UNIMPL	nosys
527384	UNIMPL	nosys
528385	UNIMPL	nosys
529386	UNIMPL	nosys
530387	UNIMPL	nosys
531388	UNIMPL	nosys
532389	UNIMPL	nosys
533390	STD	{ int kenv(int what, const char *name, char *value, int len); }
534391	STD	{ int lchflags(char *path, int flags); }
535392	STD	{ int uuidgen(struct uuid *store, int count); }
536393	STD	{ int sendfile(int fd, int s, off_t offset, size_t nbytes, \
537				struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
538; 394-439 used by FreeBSD-current
539394	UNIMPL	nosys
540395	UNIMPL	nosys
541396	UNIMPL	nosys
542397	UNIMPL	nosys
543398	UNIMPL	nosys
544399	UNIMPL	nosys
545400	UNIMPL	nosys
546401	UNIMPL	nosys
547402	UNIMPL	nosys
548403	UNIMPL	nosys
549404	UNIMPL	nosys
550405	UNIMPL	nosys
551406	UNIMPL	nosys
552407	UNIMPL	nosys
553408	UNIMPL	nosys
554409	UNIMPL	nosys
555410	UNIMPL	nosys
556411	UNIMPL	nosys
557412	UNIMPL	nosys
558413	UNIMPL	nosys
559414	UNIMPL	nosys
560415	UNIMPL	nosys
561416	UNIMPL	nosys
562417	UNIMPL	nosys
563418	UNIMPL	nosys
564419	UNIMPL	nosys
565420	UNIMPL	nosys
566421	UNIMPL	nosys
567422	UNIMPL	nosys
568423	UNIMPL	nosys
569424	UNIMPL	nosys
570425	UNIMPL	nosys
571426	UNIMPL	nosys
572427	UNIMPL	nosys
573428	UNIMPL	nosys
574429	UNIMPL	nosys
575430	UNIMPL	nosys
576431	UNIMPL	nosys
577432	UNIMPL	nosys
578433	UNIMPL	nosys
579434	UNIMPL	nosys
580435	UNIMPL	nosys
581436	UNIMPL	nosys
582437	UNIMPL	nosys
583438	UNIMPL	nosys
584439	UNIMPL	nosys
585; 440-449 reserved for FreeBSD-5.x growth
586440	UNIMPL	nosys
587441	UNIMPL	nosys
588442	UNIMPL	nosys
589443	UNIMPL	nosys
590444	UNIMPL	nosys
591445	UNIMPL	nosys
592446	UNIMPL	nosys
593447	UNIMPL	nosys
594448	UNIMPL	nosys
595449	UNIMPL	nosys
596; 450 DragonFly system calls
597450	STD	{ int varsym_set(int level, const char *name, const char *data); }
598451	STD	{ int varsym_get(int mask, const char *wild, char *buf, int bufsize); }
599452	STD	{ int varsym_list(int level, char *buf, int maxsize, int *marker); }
600453	OBSOL	upc_register
601454	OBSOL	upc_control
602455	OBSOL	caps_sys_service
603456	OBSOL	caps_sys_client
604457	OBSOL	caps_sys_close
605458	OBSOL	caps_sys_put
606459	OBSOL	caps_sys_reply
607460	OBSOL	caps_sys_get
608461	OBSOL	caps_sys_wait
609462	OBSOL	caps_sys_abort
610463	OBSOL	caps_sys_getgen
611464	OBSOL	caps_sys_setgen
612465	STD	{ int exec_sys_register(void *entry); }
613466	STD	{ int exec_sys_unregister(int id); }
614467	STD	{ int sys_checkpoint(int type, int fd, pid_t pid, int retval); }
615468	STD	{ int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); }
616469	STD	{ int umtx_sleep(volatile const int *ptr, int value, int timeout); }
617470	STD	{ int umtx_wakeup(volatile const int *ptr, int count); }
618471	STD	{ int jail_attach(int jid); }
619472	STD	{ int set_tls_area(int which, struct tls_info *info, size_t infosize); }
620473	STD	{ int get_tls_area(int which, struct tls_info *info, size_t infosize); }
621474	STD	{ int closefrom(int fd); }
622475	STD	{ int stat(const char *path, struct stat *ub); }
623476	STD	{ int fstat(int fd, struct stat *sb); }
624477	STD	{ int lstat(const char *path, struct stat *ub); }
625478	STD 	{ int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
626479	STD	{ int getdirentries(int fd, char *buf, u_int count, \
627			    long *basep); }
628480	STD	{ int getdents(int fd, char *buf, size_t count); }
629481	STD	{ int usched_set(pid_t pid, int cmd, void *data, \
630				int bytes); }
631482	STD	{ int extaccept(int s, int flags, caddr_t name, int *anamelen); }
632483	STD	{ int extconnect(int s, int flags, caddr_t name, int namelen); }
633484	OBSOL	syslink
634485	STD	{ int mcontrol(void *addr, size_t len, int behav, off_t value); }
635486	STD	{ int vmspace_create(void *id, int type, void *data); }
636487	STD	{ int vmspace_destroy(void *id); }
637488	STD	{ int vmspace_ctl(void *id, int cmd, 		\
638					  struct trapframe *tframe,	\
639					  struct vextframe *vframe); }
640489	STD	{ int vmspace_mmap(void *id, void *addr, size_t len, \
641					  int prot, int flags, int fd, \
642					  off_t offset); }
643490	STD	{ int vmspace_munmap(void *id, void *addr,	\
644					  size_t len); }
645491	STD	{ int vmspace_mcontrol(void *id, void *addr, 	\
646					  size_t len, int behav, off_t value); }
647492	STD	{ ssize_t vmspace_pread(void *id, void *buf, \
648			    size_t nbyte, int flags, off_t offset); }
649493	STD	{ ssize_t vmspace_pwrite(void *id, const void *buf, \
650			    size_t nbyte, int flags, off_t offset); }
651494	STD	{ void extexit(int how, int status, void *addr); }
652495	STD	{ int lwp_create(struct lwp_params *params); }
653496	STD	{ lwpid_t lwp_gettid(void); }
654497	STD	{ int lwp_kill(pid_t pid, lwpid_t tid, int signum); }
655498	STD	{ int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); }
656499	STD	{ int pselect(int nd, fd_set *in, fd_set *ou, \
657			    fd_set *ex, const struct timespec *ts,    \
658			    const sigset_t *sigmask); }
659500	STD	{ int statvfs(const char *path, struct statvfs *buf); }
660501	STD	{ int fstatvfs(int fd, struct statvfs *buf); }
661502	STD	{ int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); }
662503	STD	{ int getvfsstat(struct statfs *buf,          \
663			    struct statvfs *vbuf, long vbufsize, int flags); }
664504	STD	{ int openat(int fd, char *path, int flags, int mode); }
665; XXX should be		{ int openat(int fd, const char *path, int flags, ...);}
666; but we're not ready for `const' or varargs.
667; XXX man page says `mode_t mode'.
668505	STD	{ int fstatat(int fd, char *path, 	\
669					struct stat *sb, int flags); }
670506	STD	{ int fchmodat(int fd, char *path, int mode, \
671					int flags); }
672507	STD	{ int fchownat(int fd, char *path, int uid, int gid, \
673					int flags); }
674508	STD	{ int unlinkat(int fd, char *path, int flags); }
675509	STD	{ int faccessat(int fd, char *path, int amode, \
676					int flags); }
677
678; POSIX message queues system calls
679510	STD	{ mqd_t mq_open(const char * name, int oflag, \
680				  mode_t mode, struct mq_attr *attr); }
681511	STD	{ int mq_close(mqd_t mqdes); }
682512	STD	{ int mq_unlink(const char *name); }
683513	STD	{ int mq_getattr(mqd_t mqdes, \
684				  struct mq_attr *mqstat); }
685514	STD	{ int mq_setattr(mqd_t mqdes, \
686				  const struct mq_attr *mqstat, \
687				  struct mq_attr *omqstat); }
688515	STD	{ int mq_notify(mqd_t mqdes, \
689				  const struct sigevent *notification); }
690516	STD	{ int mq_send(mqd_t mqdes, const char *msg_ptr, \
691				  size_t msg_len, unsigned msg_prio); }
692517	STD	{ ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \
693				  size_t msg_len, unsigned *msg_prio); }
694518	STD	{ int mq_timedsend(mqd_t mqdes, \
695				  const char *msg_ptr, size_t msg_len, \
696				  unsigned msg_prio, \
697				  const struct timespec *abs_timeout); }
698519	STD	{ ssize_t mq_timedreceive(mqd_t mqdes, \
699				  char *msg_ptr, size_t msg_len, unsigned *msg_prio, \
700				  const struct timespec *abs_timeout); }
701520	STD	{ int ioprio_set(int which, int who, int prio); }
702521	STD	{ int ioprio_get(int which, int who); }
703522	STD	{ int chroot_kernel(char *path); }
704523	STD	{ int renameat(int oldfd, char *old, int newfd, \
705				  char *new); }
706524	STD	{ int mkdirat(int fd, char *path, mode_t mode); }
707525	STD	{ int mkfifoat(int fd, char *path, mode_t mode); }
708526	STD	{ int mknodat(int fd, char *path, mode_t mode, \
709				  dev_t dev); }
710527	STD	{ int readlinkat(int fd, char *path, char *buf, \
711				  size_t bufsize); }
712528	STD	{ int symlinkat(char *path1, int fd, char *path2); }
713529	STD	{ int swapoff(char *name); }
714530	STD	{ int vquotactl(const char *path, \
715			    struct plistref *pref); }
716531	STD	{ int linkat(int fd1, char *path1, int fd2, \
717				char *path2, int flags); }
718532	STD	{ int eaccess(char *path, int flags); }
719533	STD	{ int lpathconf(char *path, int name); }
720534	STD	{ int vmm_guest_ctl(int op, struct vmm_guest_options *options); }
721535	STD	{ int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); }
722536	STD	{ int procctl(idtype_t idtype, id_t id, int cmd, void *data); }
723537	STD	{ int chflagsat(int fd, const char *path, int flags, int atflags);}
724538	STD	{ int pipe2(int *fildes, int flags); }
725539	STD	{ int utimensat(int fd, const char *path, const struct timespec *ts, int flags); }
726540	STD	{ int futimens(int fd, const struct timespec *ts); }
727541	STD	{ int accept4(int s, caddr_t name, int *anamelen, int flags); }
728542	STD	{ int lwp_setname(lwpid_t tid, const char *name); }
729543	STD	{ int ppoll(struct pollfd *fds, u_int nfds, \
730			const struct timespec *ts, const sigset_t *sigmask); }
731544	STD	{ int lwp_setaffinity(pid_t pid, lwpid_t tid, const cpumask_t *mask); }
732545	STD	{ int lwp_getaffinity(pid_t pid, lwpid_t tid, cpumask_t *mask); }
733546	STD	{ int lwp_create2(struct lwp_params *params, const cpumask_t *mask); }
734547	STD	{ int getcpuclockid(pid_t pid, lwpid_t lwp_id, clockid_t *clock_id); }
735548	STD	{ int wait6(idtype_t idtype, id_t id, int *status, int options, \
736				struct __wrusage *wrusage, siginfo_t *info); }
737