xref: /dragonfly/sys/kern/syscalls.master (revision 7b21e84b)
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
36; Reserved/unimplemented system calls in the range 0-150 inclusive
37; are reserved for use in future Berkeley releases.
38; Additional system calls implemented in vendor and other
39; redistributions should be placed in the reserved range at the end
40; of the current calls.
41
420	STD	{ int nosys(void); } syscall nosys_args int
431	STD	{ void exit(int rval); }
442	STD	{ int fork(void); }
453	STD	{ ssize_t read(int fd, void *buf, size_t nbyte); }
464	STD	{ ssize_t write(int fd, const void *buf, size_t nbyte); }
475	STD	{ int open(char *path, int flags, int mode); }
48; XXX should be		{ int open(const char *path, int flags, ...); }
49; but we're not ready for `const' or varargs.
50; XXX man page says `mode_t mode'.
516	STD	{ int close(int fd); }
527	STD	{ int wait4(int pid, int *status, int options, \
53			    struct rusage *rusage); } wait4 wait_args int
548	OBSOL	4.3 creat
559	STD	{ int link(char *path, char *link); }
5610	STD	{ int unlink(char *path); }
5711	OBSOL	execv
5812	STD	{ int chdir(char *path); }
5913	STD	{ int fchdir(int fd); }
6014	STD	{ int mknod(char *path, int mode, int dev); }
6115	STD	{ int chmod(char *path, int mode); }
6216	STD	{ int chown(char *path, int uid, int gid); }
6317	STD	{ int obreak(char *nsize); } break obreak_args int
6418	STD	{ int getfsstat(struct statfs *buf, long bufsize, \
65			    int flags); }
6619	COMPAT	{ long lseek(int fd, long offset, int whence); }
6720	STD	{ pid_t getpid(void); }
6821	STD	{ int mount(char *type, char *path, int flags, \
69			    caddr_t data); }
70; XXX `path' should have type `const char *' but we're not ready for that.
7122	STD	{ int unmount(char *path, int flags); }
7223	STD	{ int setuid(uid_t uid); }
7324	STD	{ uid_t getuid(void); }
7425	STD	{ uid_t geteuid(void); }
7526	STD	{ int ptrace(int req, pid_t pid, caddr_t addr, \
76			    int data); }
7727	STD	{ int recvmsg(int s, struct msghdr *msg, int flags); }
7828	STD	{ int sendmsg(int s, caddr_t msg, int flags); }
7929	STD	{ int recvfrom(int s, caddr_t buf, size_t len, \
80			    int flags, caddr_t from, int *fromlenaddr); }
8130	STD	{ int accept(int s, caddr_t name, int *anamelen); }
8231	STD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
8332	STD	{ int getsockname(int fdes, caddr_t asa, int *alen); }
8433	STD	{ int access(char *path, int flags); }
8534	STD	{ int chflags(char *path, int flags); }
8635	STD	{ int fchflags(int fd, int flags); }
8736	STD	{ int sync(void); }
8837	STD	{ int kill(int pid, int signum); }
8938	COMPAT	{ int stat(char *path, struct ostat *ub); }
9039	STD	{ pid_t getppid(void); }
9140	COMPAT	{ int lstat(char *path, struct ostat *ub); }
9241	STD	{ int dup(int fd); }
9342	STD	{ int pipe(void); }
9443	STD	{ gid_t getegid(void); }
9544	STD	{ int profil(caddr_t samples, size_t size, \
96			    size_t offset, u_int scale); }
9745	STD	{ int ktrace(const char *fname, int ops, int facs, \
98			    int pid); }
9946	OBSOL	freebsd3_sigaction
10047	STD	{ gid_t getgid(void); }
10148	OBSOL	freebsd3_sigprocmask
102; XXX note nonstandard (bogus) calling convention - the libc stub passes
103; us the mask, not a pointer to it, and we return the old mask as the
104; (int) return value.
10549	STD	{ int getlogin(char *namebuf, u_int namelen); }
10650	STD	{ int setlogin(char *namebuf); }
10751	STD	{ int acct(char *path); }
10852	OBSOL	freebsd3_sigpending
10953	STD	{ int sigaltstack(stack_t *ss, stack_t *oss); }
11054	STD	{ int ioctl(int fd, u_long com, caddr_t data); }
11155	STD	{ int reboot(int opt); }
11256	STD	{ int revoke(char *path); }
11357	STD	{ int symlink(char *path, char *link); }
11458	STD	{ int readlink(char *path, char *buf, int count); }
11559	STD	{ int execve(char *fname, char **argv, char **envv); }
11660	STD	{ int umask(int newmask); } umask umask_args int
11761	STD	{ int chroot(char *path); }
11862	COMPAT	{ int fstat(int fd, struct ostat *sb); }
11963	COMPAT	{ int getkerninfo(int op, char *where, size_t *size, \
120			    int arg); } getkerninfo getkerninfo_args int
12164	COMPAT	{ int getpagesize(void); } \
122			    getpagesize getpagesize_args int
12365	STD	{ int msync(void *addr, size_t len, int flags); }
12466	STD	{ pid_t vfork(void); }
12567	OBSOL	vread
12668	OBSOL	vwrite
12769	STD	{ int sbrk(int incr); }
12870	STD	{ int sstk(int incr); }
12971	COMPAT	{ int mmap(void *addr, int len, int prot, \
130			    int flags, int fd, long pos); }
13172	COMPAT	{ int vadvise(int anom); } vadvise ovadvise_args int
13273	STD	{ int munmap(void *addr, size_t len); }
13374	STD	{ int mprotect(void *addr, size_t len, int prot); }
13475	STD	{ int madvise(void *addr, size_t len, int behav); }
13576	OBSOL	vhangup
13677	OBSOL	vlimit
13778	STD	{ int mincore(const void *addr, size_t len, \
138			    char *vec); }
13979	STD	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
14080	STD	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
14181	STD	{ int getpgrp(void); }
14282	STD	{ int setpgid(int pid, int pgid); }
14383	STD	{ int setitimer(u_int which, struct itimerval *itv, \
144			    struct itimerval *oitv); }
14584	COMPAT	{ int wait(void); }
14685	STD	{ int swapon(char *name); }
14786	STD	{ int getitimer(u_int which, struct itimerval *itv); }
14887	COMPAT	{ int gethostname(char *hostname, u_int len); } \
149			    gethostname gethostname_args int
15088	COMPAT	{ int sethostname(char *hostname, u_int len); } \
151			    sethostname sethostname_args int
15289	STD	{ int getdtablesize(void); }
15390	STD	{ int dup2(int from, int to); }
15491	UNIMPL	getdopt
15592	STD	{ int fcntl(int fd, int cmd, long arg); }
156; XXX should be		{ int fcntl(int fd, int cmd, ...); }
157; but we're not ready for varargs.
158; XXX man page says `int arg' too.
15993	STD	{ int select(int nd, fd_set *in, fd_set *ou, \
160			    fd_set *ex, struct timeval *tv); }
16194	UNIMPL	setdopt
16295	STD	{ int fsync(int fd); }
16396	STD	{ int setpriority(int which, int who, int prio); }
16497	STD	{ int socket(int domain, int type, int protocol); }
16598	STD	{ int connect(int s, caddr_t name, int namelen); }
16699	CPT_NOA	{ int accept(int s, caddr_t name, int *anamelen); } \
167			    accept accept_args int
168100	STD	{ int getpriority(int which, int who); }
169101	COMPAT	{ int send(int s, caddr_t buf, int len, int flags); }
170102	COMPAT	{ int recv(int s, caddr_t buf, int len, int flags); }
171103	OBSOL	freebsd3_sigreturn
172104	STD	{ int bind(int s, caddr_t name, int namelen); }
173105	STD	{ int setsockopt(int s, int level, int name, \
174			    caddr_t val, int valsize); }
175106	STD	{ int listen(int s, int backlog); }
176107	OBSOL	vtimes
177108	OBSOL	4.3 sigvec
178109	OBSOL	4.3 sigblock
179110	OBSOL	4.3 sigsetmask
180111	OBSOL	freebsd3_sigsuspend
181; XXX note nonstandard (bogus) calling convention - the libc stub passes
182; us the mask, not a pointer to it.
183112	COMPAT	{ int sigstack(struct sigstack *nss, \
184			    struct sigstack *oss); }
185113	COMPAT	{ int recvmsg(int s, struct omsghdr *msg, int flags); }
186114	COMPAT	{ int sendmsg(int s, caddr_t msg, int flags); }
187115	OBSOL	vtrace
188116	STD	{ int gettimeofday(struct timeval *tp, \
189			    struct timezone *tzp); }
190117	STD	{ int getrusage(int who, struct rusage *rusage); }
191118	STD	{ int getsockopt(int s, int level, int name, \
192			    caddr_t val, int *avalsize); }
193119	UNIMPL	resuba (BSD/OS 2.x)
194120	STD	{ int readv(int fd, struct iovec *iovp, u_int iovcnt); }
195121	STD	{ int writev(int fd, struct iovec *iovp, \
196			    u_int iovcnt); }
197122	STD	{ int settimeofday(struct timeval *tv, \
198			    struct timezone *tzp); }
199123	STD	{ int fchown(int fd, int uid, int gid); }
200124	STD	{ int fchmod(int fd, int mode); }
201125	CPT_NOA	{ int recvfrom(int s, caddr_t buf, size_t len, \
202			    int flags, caddr_t from, int *fromlenaddr); } \
203			    recvfrom recvfrom_args int
204126	STD	{ int setreuid(int ruid, int euid); }
205127	STD	{ int setregid(int rgid, int egid); }
206128	STD	{ int rename(char *from, char *to); }
207129	COMPAT	{ int truncate(char *path, long length); }
208130	COMPAT	{ int ftruncate(int fd, long length); }
209131	STD	{ int flock(int fd, int how); }
210132	STD	{ int mkfifo(char *path, int mode); }
211133	STD	{ int sendto(int s, caddr_t buf, size_t len, \
212			    int flags, caddr_t to, int tolen); }
213134	STD	{ int shutdown(int s, int how); }
214135	STD	{ int socketpair(int domain, int type, int protocol, \
215			    int *rsv); }
216136	STD	{ int mkdir(char *path, int mode); }
217137	STD	{ int rmdir(char *path); }
218138	STD	{ int utimes(char *path, struct timeval *tptr); }
219139	OBSOL	4.2 sigreturn
220140	STD	{ int adjtime(struct timeval *delta, \
221			    struct timeval *olddelta); }
222141	COMPAT	{ int getpeername(int fdes, caddr_t asa, int *alen); }
223142	OBSOL	4.3 gethostid
224143	OBSOL	4.3 sethostid
225144	COMPAT	{ int getrlimit(u_int which, struct orlimit *rlp); }
226145	COMPAT	{ int setrlimit(u_int which, struct orlimit *rlp); }
227146	OBSOL	4.3 killpg
228147	STD	{ int setsid(void); }
229148	STD	{ int quotactl(char *path, int cmd, int uid, \
230			    caddr_t arg); }
231149	COMPAT	{ int quota(void); }
232150	CPT_NOA	{ int getsockname(int fdec, caddr_t asa, int *alen); }\
233			    getsockname getsockname_args int
234
235; Syscalls 151-180 inclusive are reserved for vendor-specific
236; system calls.  (This includes various calls added for compatibity
237; with other Unix variants.)
238; Some of these calls are now supported by BSD...
239151	UNIMPL	sem_lock (BSD/OS 2.x)
240152	UNIMPL	sem_wakeup (BSD/OS 2.x)
241153	UNIMPL	asyncdaemon (BSD/OS 2.x)
242154	UNIMPL	nosys
243; 155 is initialized by the NFS code, if present.
244155	NOIMPL	{ int nfssvc(int flag, caddr_t argp); }
245156	COMPAT	{ int getdirentries(int fd, char *buf, u_int count, \
246			    long *basep); }
247157	STD	{ int statfs(char *path, struct statfs *buf); }
248158	STD	{ int fstatfs(int fd, struct statfs *buf); }
249159	UNIMPL	nosys
250160	UNIMPL	nosys
251; 161 is initialized by the NFS code, if present.
252161	STD	{ int getfh(char *fname, struct fhandle *fhp); }
253162	STD	{ int getdomainname(char *domainname, int len); }
254163	STD	{ int setdomainname(char *domainname, int len); }
255164	STD	{ int uname(struct utsname *name); }
256165	STD	{ int sysarch(int op, char *parms); }
257166	STD	{ int rtprio(int function, pid_t pid, \
258			    struct rtprio *rtp); }
259167	UNIMPL	nosys
260168	UNIMPL	nosys
261169	OBSOL	semsys
262170	OBSOL	msgsys
263171	OBSOL	shmsys
264172	UNIMPL	nosys
265173	STD	{ ssize_t extpread(int fd, void *buf, \
266			    size_t nbyte, int flags, off_t offset); }
267174	STD	{ ssize_t extpwrite(int fd, const void *buf, \
268			    size_t nbyte, int flags, off_t offset); }
269175	UNIMPL	nosys
270176	STD	{ int ntp_adjtime(struct timex *tp); }
271177	UNIMPL	sfork (BSD/OS 2.x)
272178	UNIMPL	getdescriptor (BSD/OS 2.x)
273179	UNIMPL	setdescriptor (BSD/OS 2.x)
274180	UNIMPL	nosys
275
276; Syscalls 181-199 are used by/reserved for BSD
277181	STD	{ int setgid(gid_t gid); }
278182	STD	{ int setegid(gid_t egid); }
279183	STD	{ int seteuid(uid_t euid); }
280184	UNIMPL	lfs_bmapv
281185	UNIMPL	lfs_markv
282186	UNIMPL	lfs_segclean
283187	UNIMPL	lfs_segwait
284188	UNIMPL	nosys
285189	UNIMPL	nosys
286190	UNIMPL	nosys
287191	STD	{ int pathconf(char *path, int name); }
288192	STD	{ int fpathconf(int fd, int name); }
289193	UNIMPL	nosys
290194	STD	{ int getrlimit(u_int which, \
291			    struct rlimit *rlp); } \
292			    getrlimit __getrlimit_args int
293195	STD	{ int setrlimit(u_int which, \
294			    struct rlimit *rlp); } \
295			    setrlimit __setrlimit_args int
296196	UNIMPL	nosys
297197	STD	{ caddr_t mmap(caddr_t addr, size_t len, int prot, \
298			    int flags, int fd, int pad, off_t pos); }
299198	STD	{ int nosys(void); } __syscall __syscall_args int
300199	STD	{ off_t lseek(int fd, int pad, off_t offset, \
301			    int whence); }
302200	STD	{ int truncate(char *path, int pad, off_t length); }
303201	STD	{ int ftruncate(int fd, int pad, off_t length); }
304202	STD	{ int __sysctl(int *name, u_int namelen, void *old, \
305			    size_t *oldlenp, void *new, size_t newlen); } \
306			    __sysctl sysctl_args int
307203	STD	{ int mlock(const void *addr, size_t len); }
308204	STD	{ int munlock(const void *addr, size_t len); }
309205	STD	{ int undelete(char *path); }
310206	STD	{ int futimes(int fd, struct timeval *tptr); }
311207	STD	{ int getpgid(pid_t pid); }
312208	UNIMPL	newreboot (NetBSD)
313209	STD	{ int poll(struct pollfd *fds, u_int nfds, \
314			    int timeout); }
315
316;
317; The following are reserved for loadable syscalls
318;
319; 210 is used by the Checkpoint Module
320210	NODEF	lkmnosys lkmnosys nosys_args int
321211	NODEF	lkmnosys lkmnosys nosys_args int
322212	NODEF	lkmnosys lkmnosys nosys_args int
323213	NODEF	lkmnosys lkmnosys nosys_args int
324214	NODEF	lkmnosys lkmnosys nosys_args int
325215	NODEF	lkmnosys lkmnosys nosys_args int
326216	NODEF	lkmnosys lkmnosys nosys_args int
327217	NODEF	lkmnosys lkmnosys nosys_args int
328218	NODEF	lkmnosys lkmnosys nosys_args int
329219	NODEF	lkmnosys lkmnosys nosys_args int
330
331;
332; The following were introduced with NetBSD/4.4Lite-2
333;
334220	STD	{ int __semctl(int semid, int semnum, int cmd, \
335			    union semun *arg); }
336221	STD	{ int semget(key_t key, int nsems, int semflg); }
337222	STD	{ int semop(int semid, struct sembuf *sops, \
338			    u_int nsops); }
339223	UNIMPL	semconfig
340224	STD	{ int msgctl(int msqid, int cmd, \
341			    struct msqid_ds *buf); }
342225	STD	{ int msgget(key_t key, int msgflg); }
343226	STD	{ int msgsnd(int msqid, const void *msgp, size_t msgsz, \
344			    int msgflg); }
345227	STD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
346			    long msgtyp, int msgflg); }
347228	STD	{ caddr_t shmat(int shmid, const void *shmaddr, \
348			    int shmflg); }
349229	STD	{ int shmctl(int shmid, int cmd, \
350			    struct shmid_ds *buf); }
351230	STD	{ int shmdt(const void *shmaddr); }
352231	STD	{ int shmget(key_t key, size_t size, int shmflg); }
353;
354232	STD	{ int clock_gettime(clockid_t clock_id, \
355			    struct timespec *tp); }
356233	STD	{ int clock_settime(clockid_t clock_id, \
357			    const struct timespec *tp); }
358234	STD	{ int clock_getres(clockid_t clock_id, \
359			    struct timespec *tp); }
360235	UNIMPL	timer_create
361236	UNIMPL	timer_delete
362237	UNIMPL	timer_settime
363238	UNIMPL	timer_gettime
364239	UNIMPL	timer_getoverrun
365240	STD	{ int nanosleep(const struct timespec *rqtp, \
366			    struct timespec *rmtp); }
367241	UNIMPL	nosys
368242	UNIMPL	nosys
369243	UNIMPL	nosys
370244	UNIMPL	nosys
371245	UNIMPL	nosys
372246	UNIMPL	nosys
373247	UNIMPL	nosys
374248	UNIMPL	nosys
375249	UNIMPL	nosys
376; syscall numbers initially used in OpenBSD
377250	STD	{ int minherit(void *addr, size_t len, int inherit); }
378251	STD	{ int rfork(int flags); }
379252	STD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
380			    int timeout); }
381253	STD	{ int issetugid(void); }
382254	STD	{ int lchown(char *path, int uid, int gid); }
383255	UNIMPL	nosys
384256	UNIMPL	nosys
385257	UNIMPL	nosys
386258	UNIMPL	nosys
387259	UNIMPL	nosys
388260	UNIMPL	nosys
389261	UNIMPL	nosys
390262	UNIMPL	nosys
391263	UNIMPL	nosys
392264	UNIMPL	nosys
393265	UNIMPL	nosys
394266	UNIMPL	nosys
395267	UNIMPL	nosys
396268	UNIMPL	nosys
397269	UNIMPL	nosys
398270	UNIMPL	nosys
399271	UNIMPL	nosys
400272	UNIMPL	nosys
401273	UNIMPL	nosys
402274	STD	{ int lchmod(char *path, mode_t mode); }
403275	NOPROTO { int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int
404276	STD	{ int lutimes(char *path, struct timeval *tptr); }
405277	NOPROTO	{ int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int
406278	OBSOL	nstat
407279	OBSOL	nfstat
408280	OBSOL	nlstat
409281	UNIMPL	nosys
410282	UNIMPL	nosys
411283	UNIMPL	nosys
412284	UNIMPL	nosys
413285	UNIMPL	nosys
414286	UNIMPL	nosys
415287	UNIMPL	nosys
416288	UNIMPL	nosys
417; 289 and 290 from NetBSD (OpenBSD: 267 and 268)
418289	STD	{ ssize_t extpreadv(int fd, struct iovec *iovp, \
419				  u_int iovcnt, int flags, off_t offset); }
420290	STD	{ ssize_t extpwritev(int fd, struct iovec *iovp,\
421				  u_int iovcnt, int flags, off_t offset); }
422291	UNIMPL	nosys
423292	UNIMPL	nosys
424293	UNIMPL	nosys
425294	UNIMPL	nosys
426295	UNIMPL	nosys
427296	UNIMPL	nosys
428; XXX 297 is 300 in NetBSD
429297	STD	{ int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
430298	STD	{ int fhopen(const struct fhandle *u_fhp, int flags); }
431299	UNIMPL	nosys
432; syscall numbers for FreeBSD
433300	STD	{ int modnext(int modid); }
434301	STD	{ int modstat(int modid, struct module_stat* stat); }
435302	STD	{ int modfnext(int modid); }
436303	STD	{ int modfind(const char *name); }
437304	STD	{ int kldload(const char *file); }
438305	STD	{ int kldunload(int fileid); }
439306	STD	{ int kldfind(const char *file); }
440307	STD	{ int kldnext(int fileid); }
441308	STD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
442309	STD	{ int kldfirstmod(int fileid); }
443310	STD	{ int getsid(pid_t pid); }
444311	STD	{ int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
445312	STD	{ int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
446313	OBSOL	signanosleep
447314	STD	{ int aio_return(struct aiocb *aiocbp); }
448315	STD	{ int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
449316	STD	{ int aio_cancel(int fd, struct aiocb *aiocbp); }
450317	STD	{ int aio_error(struct aiocb *aiocbp); }
451318	STD	{ int aio_read(struct aiocb *aiocbp); }
452319	STD	{ int aio_write(struct aiocb *aiocbp); }
453320	STD	{ int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
454321	STD	{ int yield(void); }
455322	UNIMPL	thr_sleep
456323	UNIMPL	thr_wakeup
457324	STD	{ int mlockall(int how); }
458325	STD	{ int munlockall(void); }
459326	STD	{ int __getcwd(u_char *buf, u_int buflen); }
460
461327	STD	{ int sched_setparam (pid_t pid, const struct sched_param *param); }
462328	STD	{ int sched_getparam (pid_t pid, struct sched_param *param); }
463
464329	STD	{ int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
465330	STD	{ int sched_getscheduler (pid_t pid); }
466
467331	STD	{ int sched_yield (void); }
468332	STD	{ int sched_get_priority_max (int policy); }
469333	STD	{ int sched_get_priority_min (int policy); }
470334	STD	{ int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
471335	STD	{ int utrace(const void *addr, size_t len); }
472336	OBSOL	freebsd4_sendfile
473337	STD	{ int kldsym(int fileid, int cmd, void *data); }
474338	STD	{ int jail(struct jail *jail); }
475339	UNIMPL	pioctl
476340	STD	{ int sigprocmask(int how, const sigset_t *set, \
477			    sigset_t *oset); }
478341	STD	{ int sigsuspend(const sigset_t *sigmask); }
479342	STD	{ int sigaction(int sig, const struct sigaction *act, \
480			    struct sigaction *oact); }
481343	STD	{ int sigpending(sigset_t *set); }
482344	STD	{ int sigreturn(ucontext_t *sigcntxp); }
483345	STD	{ int sigtimedwait(const sigset_t *set,\
484			     siginfo_t *info, const struct timespec *timeout); }
485346	STD	{ int sigwaitinfo(const sigset_t *set,\
486			     siginfo_t *info); }
487347	STD	{ int __acl_get_file(const char *path, \
488			    acl_type_t type, struct acl *aclp); }
489348	STD	{ int __acl_set_file(const char *path, \
490			    acl_type_t type, struct acl *aclp); }
491349	STD	{ int __acl_get_fd(int filedes, acl_type_t type, \
492			    struct acl *aclp); }
493350	STD	{ int __acl_set_fd(int filedes, acl_type_t type, \
494			    struct acl *aclp); }
495351	STD	{ int __acl_delete_file(const char *path, \
496			    acl_type_t type); }
497352	STD	{ int __acl_delete_fd(int filedes, acl_type_t type); }
498353	STD	{ int __acl_aclcheck_file(const char *path, \
499			    acl_type_t type, struct acl *aclp); }
500354	STD	{ int __acl_aclcheck_fd(int filedes, acl_type_t type, \
501			    struct acl *aclp); }
502355	STD	{ int extattrctl(const char *path, int cmd, \
503			    const char *filename, int attrnamespace, \
504			    const char *attrname); }
505356	STD	{ int extattr_set_file(const char *path, \
506			    int attrnamespace, const char *attrname, \
507			    void *data, size_t nbytes); }
508357	STD	{ int extattr_get_file(const char *path, \
509			    int attrnamespace, const char *attrname, \
510			    void *data, size_t nbytes); }
511358	STD	{ int extattr_delete_file(const char *path, \
512			    int attrnamespace, const char *attrname); }
513359	STD	{ int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); }
514360	STD	{ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
515361	STD	{ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
516362	STD	{ int kqueue(void); }
517363	STD	{ int kevent(int fd, \
518			    const struct kevent *changelist, int nchanges, \
519			    struct kevent *eventlist, int nevents, \
520			    const struct timespec *timeout); }
521364	UNIMPL	sctp_peeloff
522; 365-392 used by FreeBSD-current
523365	UNIMPL	nosys
524366	UNIMPL	nosys
525367	UNIMPL	nosys
526368	UNIMPL	nosys
527369	UNIMPL	nosys
528370	UNIMPL	nosys
529371	UNIMPL	nosys
530372	UNIMPL	nosys
531373	UNIMPL	nosys
532374	UNIMPL	nosys
533375	UNIMPL	nosys
534376	UNIMPL	nosys
535377	UNIMPL	nosys
536378	UNIMPL	nosys
537379	UNIMPL	nosys
538380	UNIMPL	nosys
539381	UNIMPL	nosys
540382	UNIMPL	nosys
541383	UNIMPL	nosys
542384	UNIMPL	nosys
543385	UNIMPL	nosys
544386	UNIMPL	nosys
545387	UNIMPL	nosys
546388	UNIMPL	nosys
547389	UNIMPL	nosys
548390	STD	{ int kenv(int what, const char *name, char *value, int len); }
549391	STD	{ int lchflags(char *path, int flags); }
550392	STD	{ int uuidgen(struct uuid *store, int count); }
551393	STD	{ int sendfile(int fd, int s, off_t offset, size_t nbytes, \
552				struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
553; 394-439 used by FreeBSD-current
554394	UNIMPL	nosys
555395	UNIMPL	nosys
556396	UNIMPL	nosys
557397	UNIMPL	nosys
558398	UNIMPL	nosys
559399	UNIMPL	nosys
560400	UNIMPL	nosys
561401	UNIMPL	nosys
562402	UNIMPL	nosys
563403	UNIMPL	nosys
564404	UNIMPL	nosys
565405	UNIMPL	nosys
566406	UNIMPL	nosys
567407	UNIMPL	nosys
568408	UNIMPL	nosys
569409	UNIMPL	nosys
570410	UNIMPL	nosys
571411	UNIMPL	nosys
572412	UNIMPL	nosys
573413	UNIMPL	nosys
574414	UNIMPL	nosys
575415	UNIMPL	nosys
576416	UNIMPL	nosys
577417	UNIMPL	nosys
578418	UNIMPL	nosys
579419	UNIMPL	nosys
580420	UNIMPL	nosys
581421	UNIMPL	nosys
582422	UNIMPL	nosys
583423	UNIMPL	nosys
584424	UNIMPL	nosys
585425	UNIMPL	nosys
586426	UNIMPL	nosys
587427	UNIMPL	nosys
588428	UNIMPL	nosys
589429	UNIMPL	nosys
590430	UNIMPL	nosys
591431	UNIMPL	nosys
592432	UNIMPL	nosys
593433	UNIMPL	nosys
594434	UNIMPL	nosys
595435	UNIMPL	nosys
596436	UNIMPL	nosys
597437	UNIMPL	nosys
598438	UNIMPL	nosys
599439	UNIMPL	nosys
600; 440-449 reserved for FreeBSD-5.x growth
601440	UNIMPL	nosys
602441	UNIMPL	nosys
603442	UNIMPL	nosys
604443	UNIMPL	nosys
605444	UNIMPL	nosys
606445	UNIMPL	nosys
607446	UNIMPL	nosys
608447	UNIMPL	nosys
609448	UNIMPL	nosys
610449	UNIMPL	nosys
611; 450 DragonFly system calls
612450	STD	{ int varsym_set(int level, const char *name, const char *data); }
613451	STD	{ int varsym_get(int mask, const char *wild, char *buf, int bufsize); }
614452	STD	{ int varsym_list(int level, char *buf, int maxsize, int *marker); }
615453	OBSOL	upc_register
616454	OBSOL	upc_control
617455	OBSOL	caps_sys_service
618456	OBSOL	caps_sys_client
619457	OBSOL	caps_sys_close
620458	OBSOL	caps_sys_put
621459	OBSOL	caps_sys_reply
622460	OBSOL	caps_sys_get
623461	OBSOL	caps_sys_wait
624462	OBSOL	caps_sys_abort
625463	OBSOL	caps_sys_getgen
626464	OBSOL	caps_sys_setgen
627465	STD	{ int exec_sys_register(void *entry); }
628466	STD	{ int exec_sys_unregister(int id); }
629467	STD	{ int sys_checkpoint(int type, int fd, pid_t pid, int retval); }
630468	STD	{ int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); }
631469	STD	{ int umtx_sleep(volatile const int *ptr, int value, int timeout); }
632470	STD	{ int umtx_wakeup(volatile const int *ptr, int count); }
633471	STD	{ int jail_attach(int jid); }
634472	STD	{ int set_tls_area(int which, struct tls_info *info, size_t infosize); }
635473	STD	{ int get_tls_area(int which, struct tls_info *info, size_t infosize); }
636474	STD	{ int closefrom(int fd); }
637475	STD	{ int stat(const char *path, struct stat *ub); }
638476	STD	{ int fstat(int fd, struct stat *sb); }
639477	STD	{ int lstat(const char *path, struct stat *ub); }
640478	STD 	{ int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
641479	STD	{ int getdirentries(int fd, char *buf, u_int count, \
642			    long *basep); }
643480	STD	{ int getdents(int fd, char *buf, size_t count); }
644481	STD	{ int usched_set(pid_t pid, int cmd, void *data, \
645				int bytes); }
646482	STD	{ int extaccept(int s, int flags, caddr_t name, int *anamelen); }
647483	STD	{ int extconnect(int s, int flags, caddr_t name, int namelen); }
648484	OBSOL	syslink
649485	STD	{ int mcontrol(void *addr, size_t len, int behav, off_t value); }
650486	STD	{ int vmspace_create(void *id, int type, void *data); }
651487	STD	{ int vmspace_destroy(void *id); }
652488	STD	{ int vmspace_ctl(void *id, int cmd, 		\
653					  struct trapframe *tframe,	\
654					  struct vextframe *vframe); }
655489	STD	{ int vmspace_mmap(void *id, void *addr, size_t len, \
656					  int prot, int flags, int fd, \
657					  off_t offset); }
658490	STD	{ int vmspace_munmap(void *id, void *addr,	\
659					  size_t len); }
660491	STD	{ int vmspace_mcontrol(void *id, void *addr, 	\
661					  size_t len, int behav, off_t value); }
662492	STD	{ ssize_t vmspace_pread(void *id, void *buf, \
663			    size_t nbyte, int flags, off_t offset); }
664493	STD	{ ssize_t vmspace_pwrite(void *id, const void *buf, \
665			    size_t nbyte, int flags, off_t offset); }
666494	STD	{ void extexit(int how, int status, void *addr); }
667495	STD	{ int lwp_create(struct lwp_params *params); }
668496	STD	{ lwpid_t lwp_gettid(void); }
669497	STD	{ int lwp_kill(pid_t pid, lwpid_t tid, int signum); }
670498	STD	{ int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); }
671499	STD	{ int pselect(int nd, fd_set *in, fd_set *ou, \
672			    fd_set *ex, const struct timespec *ts,    \
673			    const sigset_t *sigmask); }
674500	STD	{ int statvfs(const char *path, struct statvfs *buf); }
675501	STD	{ int fstatvfs(int fd, struct statvfs *buf); }
676502	STD	{ int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); }
677503	STD	{ int getvfsstat(struct statfs *buf,          \
678			    struct statvfs *vbuf, long vbufsize, int flags); }
679504	STD	{ int openat(int fd, char *path, int flags, int mode); }
680; XXX should be		{ int openat(int fd, const char *path, int flags, ...);}
681; but we're not ready for `const' or varargs.
682; XXX man page says `mode_t mode'.
683505	STD	{ int fstatat(int fd, char *path, 	\
684					struct stat *sb, int flags); }
685506	STD	{ int fchmodat(int fd, char *path, int mode, \
686					int flags); }
687507	STD	{ int fchownat(int fd, char *path, int uid, int gid, \
688					int flags); }
689508	STD	{ int unlinkat(int fd, char *path, int flags); }
690509	STD	{ int faccessat(int fd, char *path, int amode, \
691					int flags); }
692
693; POSIX message queues system calls
694510	STD	{ mqd_t mq_open(const char * name, int oflag, \
695				  mode_t mode, struct mq_attr *attr); }
696511	STD	{ int mq_close(mqd_t mqdes); }
697512	STD	{ int mq_unlink(const char *name); }
698513	STD	{ int mq_getattr(mqd_t mqdes, \
699				  struct mq_attr *mqstat); }
700514	STD	{ int mq_setattr(mqd_t mqdes, \
701				  const struct mq_attr *mqstat, \
702				  struct mq_attr *omqstat); }
703515	STD	{ int mq_notify(mqd_t mqdes, \
704				  const struct sigevent *notification); }
705516	STD	{ int mq_send(mqd_t mqdes, const char *msg_ptr, \
706				  size_t msg_len, unsigned msg_prio); }
707517	STD	{ ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \
708				  size_t msg_len, unsigned *msg_prio); }
709518	STD	{ int mq_timedsend(mqd_t mqdes, \
710				  const char *msg_ptr, size_t msg_len, \
711				  unsigned msg_prio, \
712				  const struct timespec *abs_timeout); }
713519	STD	{ ssize_t mq_timedreceive(mqd_t mqdes, \
714				  char *msg_ptr, size_t msg_len, unsigned *msg_prio, \
715				  const struct timespec *abs_timeout); }
716520	STD	{ int ioprio_set(int which, int who, int prio); }
717521	STD	{ int ioprio_get(int which, int who); }
718522	STD	{ int chroot_kernel(char *path); }
719523	STD	{ int renameat(int oldfd, char *old, int newfd, \
720				  char *new); }
721524	STD	{ int mkdirat(int fd, char *path, mode_t mode); }
722525	STD	{ int mkfifoat(int fd, char *path, mode_t mode); }
723526	STD	{ int mknodat(int fd, char *path, mode_t mode, \
724				  dev_t dev); }
725527	STD	{ int readlinkat(int fd, char *path, char *buf, \
726				  size_t bufsize); }
727528	STD	{ int symlinkat(char *path1, int fd, char *path2); }
728529	STD	{ int swapoff(char *name); }
729530	STD	{ int vquotactl(const char *path, \
730			    struct plistref *pref); }
731531	STD	{ int linkat(int fd1, char *path1, int fd2, \
732				char *path2, int flags); }
733532	STD	{ int eaccess(char *path, int flags); }
734533	STD	{ int lpathconf(char *path, int name); }
735534	STD	{ int vmm_guest_ctl(int op, struct vmm_guest_options *options); }
736535	STD	{ int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); }
737536	STD	{ int procctl(idtype_t idtype, id_t id, int cmd, void *data); }
738537	STD	{ int chflagsat(int fd, const char *path, int flags, int atflags);}
739538	STD	{ int pipe2(int *fildes, int flags); }
740539	STD	{ int utimensat(int fd, const char *path, const struct timespec *ts, int flags); }
741540	STD	{ int futimens(int fd, const struct timespec *ts); }
742541	STD	{ int accept4(int s, caddr_t name, int *anamelen, int flags); }
743542	STD	{ int lwp_setname(lwpid_t tid, const char *name); }
744543	STD	{ int ppoll(struct pollfd *fds, u_int nfds, \
745			const struct timespec *ts, const sigset_t *sigmask); }
746