xref: /dragonfly/sys/kern/syscalls.master (revision f1b97e6e)
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	OBSOL	old lseek
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(const char *path, u_long flags); }
8635	STD	{ int fchflags(int fd, u_long flags); }
8736	STD	{ int sync(void); }
8837	STD	{ int kill(int pid, int signum); }
8938	OBSOL	old stat
9039	STD	{ pid_t getppid(void); }
9140	OBSOL	old lstat
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			    u_long 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
10249	STD	{ int getlogin(char *namebuf, u_int namelen); }
10350	STD	{ int setlogin(char *namebuf); }
10451	STD	{ int acct(char *path); }
10552	OBSOL	freebsd3_sigpending
10653	STD	{ int sigaltstack(stack_t *ss, stack_t *oss); }
10754	STD	{ int ioctl(int fd, u_long com, caddr_t data); }
10855	STD	{ int reboot(int opt); }
10956	STD	{ int revoke(char *path); }
11057	STD	{ int symlink(char *path, char *link); }
11158	STD	{ int readlink(char *path, char *buf, int count); }
11259	STD	{ int execve(char *fname, char **argv, char **envv); }
11360	STD	{ int umask(int newmask); } umask umask_args int
11461	STD	{ int chroot(char *path); }
11562	OBSOL	old fstat
11663	OBSOL	getkerninfo
11764	OBSOL	getpagesize
11865	STD	{ int msync(void *addr, size_t len, int flags); }
11966	STD	{ pid_t vfork(void); }
12067	OBSOL	vread
12168	OBSOL	vwrite
12269	STD	{ caddr_t sbrk(size_t incr); }
12370	STD	{ int sstk(size_t incr); }
12471	OBSOL	old mmap
12572	OBSOL	vadvise
12673	STD	{ int munmap(void *addr, size_t len); }
12774	STD	{ int mprotect(void *addr, size_t len, int prot); }
12875	STD	{ int madvise(void *addr, size_t len, int behav); }
12976	OBSOL	vhangup
13077	OBSOL	vlimit
13178	STD	{ int mincore(const void *addr, size_t len, \
132			    char *vec); }
13379	STD	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
13480	STD	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
13581	STD	{ int getpgrp(void); }
13682	STD	{ int setpgid(int pid, int pgid); }
13783	STD	{ int setitimer(u_int which, struct itimerval *itv, \
138			    struct itimerval *oitv); }
13984	OBSOL	wait
14085	STD	{ int swapon(char *name); }
14186	STD	{ int getitimer(u_int which, struct itimerval *itv); }
14287	OBSOL	gethostname
14388	OBSOL	sethostname
14489	STD	{ int getdtablesize(void); }
14590	STD	{ int dup2(int from, int to); }
14691	UNIMPL	getdopt
14792	STD	{ int fcntl(int fd, int cmd, long arg); }
148; XXX should be		{ int fcntl(int fd, int cmd, ...); }
149; but we're not ready for varargs.
150; XXX man page says `int arg' too.
15193	STD	{ int select(int nd, fd_set *in, fd_set *ou, \
152			    fd_set *ex, struct timeval *tv); }
15394	UNIMPL	setdopt
15495	STD	{ int fsync(int fd); }
15596	STD	{ int setpriority(int which, int who, int prio); }
15697	STD	{ int socket(int domain, int type, int protocol); }
15798	STD	{ int connect(int s, caddr_t name, int namelen); }
15899	OBSOL	old accept
159100	STD	{ int getpriority(int which, int who); }
160101	OBSOL	send
161102	OBSOL	recv
162103	OBSOL	freebsd3_sigreturn
163104	STD	{ int bind(int s, caddr_t name, int namelen); }
164105	STD	{ int setsockopt(int s, int level, int name, \
165			    caddr_t val, int valsize); }
166106	STD	{ int listen(int s, int backlog); }
167107	OBSOL	vtimes
168108	OBSOL	4.3 sigvec
169109	OBSOL	4.3 sigblock
170110	OBSOL	4.3 sigsetmask
171111	OBSOL	freebsd3_sigsuspend
172112	OBSOL	sigstack
173113	OBSOL	old recvmsg
174114	OBSOL	old sendmsg
175115	OBSOL	vtrace
176116	STD	{ int gettimeofday(struct timeval *tp, \
177			    struct timezone *tzp); }
178117	STD	{ int getrusage(int who, struct rusage *rusage); }
179118	STD	{ int getsockopt(int s, int level, int name, \
180			    caddr_t val, int *avalsize); }
181119	UNIMPL	resuba (BSD/OS 2.x)
182120	STD	{ int readv(int fd, struct iovec *iovp, u_int iovcnt); }
183121	STD	{ int writev(int fd, struct iovec *iovp, \
184			    u_int iovcnt); }
185122	STD	{ int settimeofday(struct timeval *tv, \
186			    struct timezone *tzp); }
187123	STD	{ int fchown(int fd, int uid, int gid); }
188124	STD	{ int fchmod(int fd, int mode); }
189125	OBSOL	old recvfrom
190126	STD	{ int setreuid(int ruid, int euid); }
191127	STD	{ int setregid(int rgid, int egid); }
192128	STD	{ int rename(char *from, char *to); }
193129	OBSOL	old truncate
194130	OBSOL	old ftruncate
195131	STD	{ int flock(int fd, int how); }
196132	STD	{ int mkfifo(char *path, int mode); }
197133	STD	{ int sendto(int s, caddr_t buf, size_t len, \
198			    int flags, caddr_t to, int tolen); }
199134	STD	{ int shutdown(int s, int how); }
200135	STD	{ int socketpair(int domain, int type, int protocol, \
201			    int *rsv); }
202136	STD	{ int mkdir(char *path, int mode); }
203137	STD	{ int rmdir(char *path); }
204138	STD	{ int utimes(char *path, struct timeval *tptr); }
205139	OBSOL	4.2 sigreturn
206140	STD	{ int adjtime(struct timeval *delta, \
207			    struct timeval *olddelta); }
208141	OBSOL	old getpeername
209142	OBSOL	4.3 gethostid
210143	OBSOL	4.3 sethostid
211144	OBSOL	old getrlimit
212145	OBSOL	old setrlimit
213146	OBSOL	4.3 killpg
214147	STD	{ int setsid(void); }
215148	STD	{ int quotactl(char *path, int cmd, int uid, \
216			    caddr_t arg); }
217149	OBSOL	quota
218150	OBSOL	old getsockname
219
220; Syscalls 151-180 inclusive are reserved for vendor-specific
221; system calls.  (This includes various calls added for compatibity
222; with other Unix variants.)
223; Some of these calls are now supported by BSD...
224151	UNIMPL	sem_lock (BSD/OS 2.x)
225152	UNIMPL	sem_wakeup (BSD/OS 2.x)
226153	UNIMPL	asyncdaemon (BSD/OS 2.x)
227154	UNIMPL	nosys
228; 155 is initialized by the NFS code, if present.
229155	NOIMPL	{ int nfssvc(int flag, caddr_t argp); }
230156	OBSOL	old getdirentries
231157	STD	{ int statfs(char *path, struct statfs *buf); }
232158	STD	{ int fstatfs(int fd, struct statfs *buf); }
233159	UNIMPL	nosys
234160	UNIMPL	nosys
235; 161 is initialized by the NFS code, if present.
236161	STD	{ int getfh(char *fname, struct fhandle *fhp); }
237162	STD	{ int getdomainname(char *domainname, int len); }
238163	STD	{ int setdomainname(char *domainname, int len); }
239164	STD	{ int uname(struct utsname *name); }
240165	STD	{ int sysarch(int op, char *parms); }
241166	STD	{ int rtprio(int function, pid_t pid, \
242			    struct rtprio *rtp); }
243167	UNIMPL	nosys
244168	UNIMPL	nosys
245169	OBSOL	semsys
246170	OBSOL	msgsys
247171	OBSOL	shmsys
248172	UNIMPL	nosys
249173	STD	{ ssize_t extpread(int fd, void *buf, \
250			    size_t nbyte, int flags, off_t offset); }
251174	STD	{ ssize_t extpwrite(int fd, const void *buf, \
252			    size_t nbyte, int flags, off_t offset); }
253175	UNIMPL	nosys
254176	STD	{ int ntp_adjtime(struct timex *tp); }
255177	UNIMPL	sfork (BSD/OS 2.x)
256178	UNIMPL	getdescriptor (BSD/OS 2.x)
257179	UNIMPL	setdescriptor (BSD/OS 2.x)
258180	UNIMPL	nosys
259
260; Syscalls 181-199 are used by/reserved for BSD
261181	STD	{ int setgid(gid_t gid); }
262182	STD	{ int setegid(gid_t egid); }
263183	STD	{ int seteuid(uid_t euid); }
264184	UNIMPL	lfs_bmapv
265185	UNIMPL	lfs_markv
266186	UNIMPL	lfs_segclean
267187	UNIMPL	lfs_segwait
268188	UNIMPL	nosys
269189	UNIMPL	nosys
270190	UNIMPL	nosys
271191	STD	{ int pathconf(char *path, int name); }
272192	STD	{ int fpathconf(int fd, int name); }
273193	UNIMPL	nosys
274194	STD	{ int getrlimit(u_int which, \
275			    struct rlimit *rlp); } \
276			    getrlimit __getrlimit_args int
277195	STD	{ int setrlimit(u_int which, \
278			    struct rlimit *rlp); } \
279			    setrlimit __setrlimit_args int
280196	UNIMPL	nosys
281197	STD	{ caddr_t mmap(caddr_t addr, size_t len, int prot, \
282			    int flags, int fd, int pad, off_t pos); }
283198	STD	{ int nosys(void); } __syscall __syscall_args int
284199	STD	{ off_t lseek(int fd, int pad, off_t offset, \
285			    int whence); }
286200	STD	{ int truncate(char *path, int pad, off_t length); }
287201	STD	{ int ftruncate(int fd, int pad, off_t length); }
288202	STD	{ int __sysctl(int *name, u_int namelen, void *old, \
289			    size_t *oldlenp, void *new, size_t newlen); } \
290			    __sysctl sysctl_args int
291203	STD	{ int mlock(const void *addr, size_t len); }
292204	STD	{ int munlock(const void *addr, size_t len); }
293205	STD	{ int undelete(char *path); }
294206	STD	{ int futimes(int fd, struct timeval *tptr); }
295207	STD	{ int getpgid(pid_t pid); }
296208	UNIMPL	newreboot (NetBSD)
297209	STD	{ int poll(struct pollfd *fds, u_int nfds, \
298			    int timeout); }
299
300;
301; The following are reserved for loadable syscalls
302;
303; 210 is used by the Checkpoint Module
304210	NODEF	lkmnosys lkmnosys nosys_args int
305211	NODEF	lkmnosys lkmnosys nosys_args int
306212	NODEF	lkmnosys lkmnosys nosys_args int
307213	NODEF	lkmnosys lkmnosys nosys_args int
308214	NODEF	lkmnosys lkmnosys nosys_args int
309215	NODEF	lkmnosys lkmnosys nosys_args int
310216	NODEF	lkmnosys lkmnosys nosys_args int
311217	NODEF	lkmnosys lkmnosys nosys_args int
312218	NODEF	lkmnosys lkmnosys nosys_args int
313219	NODEF	lkmnosys lkmnosys nosys_args int
314
315;
316; The following were introduced with NetBSD/4.4Lite-2
317;
318220	STD	{ int __semctl(int semid, int semnum, int cmd, \
319			    union semun *arg); }
320221	STD	{ int semget(key_t key, int nsems, int semflg); }
321222	STD	{ int semop(int semid, struct sembuf *sops, \
322			    u_int nsops); }
323223	UNIMPL	semconfig
324224	STD	{ int msgctl(int msqid, int cmd, \
325			    struct msqid_ds *buf); }
326225	STD	{ int msgget(key_t key, int msgflg); }
327226	STD	{ int msgsnd(int msqid, const void *msgp, size_t msgsz, \
328			    int msgflg); }
329227	STD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
330			    long msgtyp, int msgflg); }
331228	STD	{ caddr_t shmat(int shmid, const void *shmaddr, \
332			    int shmflg); }
333229	STD	{ int shmctl(int shmid, int cmd, \
334			    struct shmid_ds *buf); }
335230	STD	{ int shmdt(const void *shmaddr); }
336231	STD	{ int shmget(key_t key, size_t size, int shmflg); }
337;
338232	STD	{ int clock_gettime(clockid_t clock_id, \
339			    struct timespec *tp); }
340233	STD	{ int clock_settime(clockid_t clock_id, \
341			    const struct timespec *tp); }
342234	STD	{ int clock_getres(clockid_t clock_id, \
343			    struct timespec *tp); }
344235	UNIMPL	timer_create
345236	UNIMPL	timer_delete
346237	UNIMPL	timer_settime
347238	UNIMPL	timer_gettime
348239	UNIMPL	timer_getoverrun
349240	STD	{ int nanosleep(const struct timespec *rqtp, \
350			    struct timespec *rmtp); }
351241	UNIMPL	nosys
352242	UNIMPL	nosys
353243	UNIMPL	nosys
354244	UNIMPL	nosys
355245	UNIMPL	nosys
356246	UNIMPL	nosys
357247	UNIMPL	nosys
358248	UNIMPL	nosys
359249	UNIMPL	nosys
360; syscall numbers initially used in OpenBSD
361250	STD	{ int minherit(void *addr, size_t len, int inherit); }
362251	STD	{ int rfork(int flags); }
363252	STD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
364			    int timeout); }
365253	STD	{ int issetugid(void); }
366254	STD	{ int lchown(char *path, int uid, int gid); }
367255	UNIMPL	nosys
368256	UNIMPL	nosys
369257	UNIMPL	nosys
370258	UNIMPL	nosys
371259	UNIMPL	nosys
372260	UNIMPL	nosys
373261	UNIMPL	nosys
374262	UNIMPL	nosys
375263	UNIMPL	nosys
376264	UNIMPL	nosys
377265	UNIMPL	nosys
378266	UNIMPL	nosys
379267	UNIMPL	nosys
380268	UNIMPL	nosys
381269	UNIMPL	nosys
382270	UNIMPL	nosys
383271	UNIMPL	nosys
384272	UNIMPL	nosys
385273	UNIMPL	nosys
386274	STD	{ int lchmod(char *path, mode_t mode); }
387275	NOPROTO { int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int
388276	STD	{ int lutimes(char *path, struct timeval *tptr); }
389277	NOPROTO	{ int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int
390278	OBSOL	nstat
391279	OBSOL	nfstat
392280	OBSOL	nlstat
393281	UNIMPL	nosys
394282	UNIMPL	nosys
395283	UNIMPL	nosys
396284	UNIMPL	nosys
397285	UNIMPL	nosys
398286	UNIMPL	nosys
399287	UNIMPL	nosys
400288	UNIMPL	nosys
401; 289 and 290 from NetBSD (OpenBSD: 267 and 268)
402289	STD	{ ssize_t extpreadv(int fd, const struct iovec *iovp, \
403				  int iovcnt, int flags, off_t offset); }
404290	STD	{ ssize_t extpwritev(int fd, const struct iovec *iovp, \
405				  int iovcnt, int flags, off_t offset); }
406291	UNIMPL	nosys
407292	UNIMPL	nosys
408293	UNIMPL	nosys
409294	UNIMPL	nosys
410295	UNIMPL	nosys
411296	UNIMPL	nosys
412; XXX 297 is 300 in NetBSD
413297	STD	{ int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
414298	STD	{ int fhopen(const struct fhandle *u_fhp, int flags); }
415299	UNIMPL	nosys
416; syscall numbers for FreeBSD
417300	STD	{ int modnext(int modid); }
418301	STD	{ int modstat(int modid, struct module_stat* stat); }
419302	STD	{ int modfnext(int modid); }
420303	STD	{ int modfind(const char *name); }
421304	STD	{ int kldload(const char *file); }
422305	STD	{ int kldunload(int fileid); }
423306	STD	{ int kldfind(const char *file); }
424307	STD	{ int kldnext(int fileid); }
425308	STD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
426309	STD	{ int kldfirstmod(int fileid); }
427310	STD	{ int getsid(pid_t pid); }
428311	STD	{ int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
429312	STD	{ int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
430313	OBSOL	signanosleep
431314	STD	{ int aio_return(struct aiocb *aiocbp); }
432315	STD	{ int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
433316	STD	{ int aio_cancel(int fd, struct aiocb *aiocbp); }
434317	STD	{ int aio_error(struct aiocb *aiocbp); }
435318	STD	{ int aio_read(struct aiocb *aiocbp); }
436319	STD	{ int aio_write(struct aiocb *aiocbp); }
437320	STD	{ int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
438321	STD	{ int yield(void); }
439322	UNIMPL	thr_sleep
440323	UNIMPL	thr_wakeup
441324	STD	{ int mlockall(int how); }
442325	STD	{ int munlockall(void); }
443326	STD	{ int __getcwd(u_char *buf, u_int buflen); }
444
445327	STD	{ int sched_setparam (pid_t pid, const struct sched_param *param); }
446328	STD	{ int sched_getparam (pid_t pid, struct sched_param *param); }
447
448329	STD	{ int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
449330	STD	{ int sched_getscheduler (pid_t pid); }
450
451331	STD	{ int sched_yield (void); }
452332	STD	{ int sched_get_priority_max (int policy); }
453333	STD	{ int sched_get_priority_min (int policy); }
454334	STD	{ int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
455335	STD	{ int utrace(const void *addr, size_t len); }
456336	OBSOL	freebsd4_sendfile
457337	STD	{ int kldsym(int fileid, int cmd, void *data); }
458338	STD	{ int jail(struct jail *jail); }
459339	UNIMPL	pioctl
460340	STD	{ int sigprocmask(int how, const sigset_t *set, \
461			    sigset_t *oset); }
462341	STD	{ int sigsuspend(const sigset_t *sigmask); }
463342	STD	{ int sigaction(int sig, const struct sigaction *act, \
464			    struct sigaction *oact); }
465343	STD	{ int sigpending(sigset_t *set); }
466344	STD	{ int sigreturn(ucontext_t *sigcntxp); }
467345	STD	{ int sigtimedwait(const sigset_t *set,\
468			     siginfo_t *info, const struct timespec *timeout); }
469346	STD	{ int sigwaitinfo(const sigset_t *set,\
470			     siginfo_t *info); }
471347	STD	{ int __acl_get_file(const char *path, \
472			    acl_type_t type, struct acl *aclp); }
473348	STD	{ int __acl_set_file(const char *path, \
474			    acl_type_t type, struct acl *aclp); }
475349	STD	{ int __acl_get_fd(int filedes, acl_type_t type, \
476			    struct acl *aclp); }
477350	STD	{ int __acl_set_fd(int filedes, acl_type_t type, \
478			    struct acl *aclp); }
479351	STD	{ int __acl_delete_file(const char *path, \
480			    acl_type_t type); }
481352	STD	{ int __acl_delete_fd(int filedes, acl_type_t type); }
482353	STD	{ int __acl_aclcheck_file(const char *path, \
483			    acl_type_t type, struct acl *aclp); }
484354	STD	{ int __acl_aclcheck_fd(int filedes, acl_type_t type, \
485			    struct acl *aclp); }
486355	STD	{ int extattrctl(const char *path, int cmd, \
487			    const char *filename, int attrnamespace, \
488			    const char *attrname); }
489356	STD	{ int extattr_set_file(const char *path, \
490			    int attrnamespace, const char *attrname, \
491			    void *data, size_t nbytes); }
492357	STD	{ int extattr_get_file(const char *path, \
493			    int attrnamespace, const char *attrname, \
494			    void *data, size_t nbytes); }
495358	STD	{ int extattr_delete_file(const char *path, \
496			    int attrnamespace, const char *attrname); }
497359	STD	{ int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); }
498360	STD	{ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
499361	STD	{ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
500362	STD	{ int kqueue(void); }
501363	STD	{ int kevent(int fd, \
502			    const struct kevent *changelist, int nchanges, \
503			    struct kevent *eventlist, int nevents, \
504			    const struct timespec *timeout); }
505364	UNIMPL	sctp_peeloff
506; 365-392 used by FreeBSD-current
507365	UNIMPL	nosys
508366	UNIMPL	nosys
509367	UNIMPL	nosys
510368	UNIMPL	nosys
511369	UNIMPL	nosys
512370	UNIMPL	nosys
513371	UNIMPL	nosys
514372	UNIMPL	nosys
515373	UNIMPL	nosys
516374	UNIMPL	nosys
517375	UNIMPL	nosys
518376	UNIMPL	nosys
519377	UNIMPL	nosys
520378	UNIMPL	nosys
521379	UNIMPL	nosys
522380	UNIMPL	nosys
523381	UNIMPL	nosys
524382	UNIMPL	nosys
525383	UNIMPL	nosys
526384	UNIMPL	nosys
527385	UNIMPL	nosys
528386	UNIMPL	nosys
529387	UNIMPL	nosys
530388	UNIMPL	nosys
531389	UNIMPL	nosys
532390	STD	{ int kenv(int what, const char *name, char *value, int len); }
533391	STD	{ int lchflags(const char *path, u_long flags); }
534392	STD	{ int uuidgen(struct uuid *store, int count); }
535393	STD	{ int sendfile(int fd, int s, off_t offset, size_t nbytes, \
536				struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
537; 394-439 used by FreeBSD-current
538394	UNIMPL	nosys
539395	UNIMPL	nosys
540396	UNIMPL	nosys
541397	UNIMPL	nosys
542398	UNIMPL	nosys
543399	UNIMPL	nosys
544400	UNIMPL	nosys
545401	UNIMPL	nosys
546402	UNIMPL	nosys
547403	UNIMPL	nosys
548404	UNIMPL	nosys
549405	UNIMPL	nosys
550406	UNIMPL	nosys
551407	UNIMPL	nosys
552408	UNIMPL	nosys
553409	UNIMPL	nosys
554410	UNIMPL	nosys
555411	UNIMPL	nosys
556412	UNIMPL	nosys
557413	UNIMPL	nosys
558414	UNIMPL	nosys
559415	UNIMPL	nosys
560416	UNIMPL	nosys
561417	UNIMPL	nosys
562418	UNIMPL	nosys
563419	UNIMPL	nosys
564420	UNIMPL	nosys
565421	UNIMPL	nosys
566422	UNIMPL	nosys
567423	UNIMPL	nosys
568424	UNIMPL	nosys
569425	UNIMPL	nosys
570426	UNIMPL	nosys
571427	UNIMPL	nosys
572428	UNIMPL	nosys
573429	UNIMPL	nosys
574430	UNIMPL	nosys
575431	UNIMPL	nosys
576432	UNIMPL	nosys
577433	UNIMPL	nosys
578434	UNIMPL	nosys
579435	UNIMPL	nosys
580436	UNIMPL	nosys
581437	UNIMPL	nosys
582438	UNIMPL	nosys
583439	UNIMPL	nosys
584; 440-449 reserved for FreeBSD-5.x growth
585440	UNIMPL	nosys
586441	UNIMPL	nosys
587442	UNIMPL	nosys
588443	UNIMPL	nosys
589444	UNIMPL	nosys
590445	UNIMPL	nosys
591446	UNIMPL	nosys
592447	UNIMPL	nosys
593448	UNIMPL	nosys
594449	UNIMPL	nosys
595; 450 DragonFly system calls
596450	STD	{ int varsym_set(int level, const char *name, const char *data); }
597451	STD	{ int varsym_get(int mask, const char *wild, char *buf, int bufsize); }
598452	STD	{ int varsym_list(int level, char *buf, int maxsize, int *marker); }
599453	OBSOL	upc_register
600454	OBSOL	upc_control
601455	OBSOL	caps_sys_service
602456	OBSOL	caps_sys_client
603457	OBSOL	caps_sys_close
604458	OBSOL	caps_sys_put
605459	OBSOL	caps_sys_reply
606460	OBSOL	caps_sys_get
607461	OBSOL	caps_sys_wait
608462	OBSOL	caps_sys_abort
609463	OBSOL	caps_sys_getgen
610464	OBSOL	caps_sys_setgen
611465	STD	{ int exec_sys_register(void *entry); }
612466	STD	{ int exec_sys_unregister(int id); }
613467	STD	{ int sys_checkpoint(int type, int fd, pid_t pid, int retval); }
614468	STD	{ int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); }
615469	STD	{ int umtx_sleep(volatile const int *ptr, int value, int timeout); }
616470	STD	{ int umtx_wakeup(volatile const int *ptr, int count); }
617471	STD	{ int jail_attach(int jid); }
618472	STD	{ int set_tls_area(int which, struct tls_info *info, size_t infosize); }
619473	STD	{ int get_tls_area(int which, struct tls_info *info, size_t infosize); }
620474	STD	{ int closefrom(int fd); }
621475	STD	{ int stat(const char *path, struct stat *ub); }
622476	STD	{ int fstat(int fd, struct stat *sb); }
623477	STD	{ int lstat(const char *path, struct stat *ub); }
624478	STD 	{ int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
625479	STD	{ int getdirentries(int fd, char *buf, u_int count, \
626			    long *basep); }
627480	STD	{ int getdents(int fd, char *buf, size_t count); }
628481	STD	{ int usched_set(pid_t pid, int cmd, void *data, \
629				int bytes); }
630482	STD	{ int extaccept(int s, int flags, caddr_t name, int *anamelen); }
631483	STD	{ int extconnect(int s, int flags, caddr_t name, int namelen); }
632484	OBSOL	syslink
633485	STD	{ int mcontrol(void *addr, size_t len, int behav, off_t value); }
634486	STD	{ int vmspace_create(void *id, int type, void *data); }
635487	STD	{ int vmspace_destroy(void *id); }
636488	STD	{ int vmspace_ctl(void *id, int cmd, 		\
637					  struct trapframe *tframe,	\
638					  struct vextframe *vframe); }
639489	STD	{ int vmspace_mmap(void *id, void *addr, size_t len, \
640					  int prot, int flags, int fd, \
641					  off_t offset); }
642490	STD	{ int vmspace_munmap(void *id, void *addr,	\
643					  size_t len); }
644491	STD	{ int vmspace_mcontrol(void *id, void *addr, 	\
645					  size_t len, int behav, off_t value); }
646492	STD	{ ssize_t vmspace_pread(void *id, void *buf, \
647			    size_t nbyte, int flags, off_t offset); }
648493	STD	{ ssize_t vmspace_pwrite(void *id, const void *buf, \
649			    size_t nbyte, int flags, off_t offset); }
650494	STD	{ void extexit(int how, int status, void *addr); }
651495	STD	{ int lwp_create(struct lwp_params *params); }
652496	STD	{ lwpid_t lwp_gettid(void); }
653497	STD	{ int lwp_kill(pid_t pid, lwpid_t tid, int signum); }
654498	STD	{ int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); }
655499	STD	{ int pselect(int nd, fd_set *in, fd_set *ou, \
656			    fd_set *ex, const struct timespec *ts,    \
657			    const sigset_t *sigmask); }
658500	STD	{ int statvfs(const char *path, struct statvfs *buf); }
659501	STD	{ int fstatvfs(int fd, struct statvfs *buf); }
660502	STD	{ int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); }
661503	STD	{ int getvfsstat(struct statfs *buf,          \
662			    struct statvfs *vbuf, long vbufsize, int flags); }
663504	STD	{ int openat(int fd, char *path, int flags, int mode); }
664; XXX should be		{ int openat(int fd, const char *path, int flags, ...);}
665; but we're not ready for `const' or varargs.
666; XXX man page says `mode_t mode'.
667505	STD	{ int fstatat(int fd, char *path, 	\
668					struct stat *sb, int flags); }
669506	STD	{ int fchmodat(int fd, char *path, int mode, \
670					int flags); }
671507	STD	{ int fchownat(int fd, char *path, int uid, int gid, \
672					int flags); }
673508	STD	{ int unlinkat(int fd, char *path, int flags); }
674509	STD	{ int faccessat(int fd, char *path, int amode, \
675					int flags); }
676
677; POSIX message queues system calls
678510	STD	{ mqd_t mq_open(const char * name, int oflag, \
679				  mode_t mode, struct mq_attr *attr); }
680511	STD	{ int mq_close(mqd_t mqdes); }
681512	STD	{ int mq_unlink(const char *name); }
682513	STD	{ int mq_getattr(mqd_t mqdes, \
683				  struct mq_attr *mqstat); }
684514	STD	{ int mq_setattr(mqd_t mqdes, \
685				  const struct mq_attr *mqstat, \
686				  struct mq_attr *omqstat); }
687515	STD	{ int mq_notify(mqd_t mqdes, \
688				  const struct sigevent *notification); }
689516	STD	{ int mq_send(mqd_t mqdes, const char *msg_ptr, \
690				  size_t msg_len, unsigned msg_prio); }
691517	STD	{ ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \
692				  size_t msg_len, unsigned *msg_prio); }
693518	STD	{ int mq_timedsend(mqd_t mqdes, \
694				  const char *msg_ptr, size_t msg_len, \
695				  unsigned msg_prio, \
696				  const struct timespec *abs_timeout); }
697519	STD	{ ssize_t mq_timedreceive(mqd_t mqdes, \
698				  char *msg_ptr, size_t msg_len, unsigned *msg_prio, \
699				  const struct timespec *abs_timeout); }
700520	STD	{ int ioprio_set(int which, int who, int prio); }
701521	STD	{ int ioprio_get(int which, int who); }
702522	STD	{ int chroot_kernel(char *path); }
703523	STD	{ int renameat(int oldfd, char *old, int newfd, \
704				  char *new); }
705524	STD	{ int mkdirat(int fd, char *path, mode_t mode); }
706525	STD	{ int mkfifoat(int fd, char *path, mode_t mode); }
707526	STD	{ int mknodat(int fd, char *path, mode_t mode, \
708				  dev_t dev); }
709527	STD	{ int readlinkat(int fd, char *path, char *buf, \
710				  size_t bufsize); }
711528	STD	{ int symlinkat(char *path1, int fd, char *path2); }
712529	STD	{ int swapoff(char *name); }
713530	STD	{ int vquotactl(const char *path, \
714			    struct plistref *pref); }
715531	STD	{ int linkat(int fd1, char *path1, int fd2, \
716				char *path2, int flags); }
717532	STD	{ int eaccess(char *path, int flags); }
718533	STD	{ int lpathconf(char *path, int name); }
719534	STD	{ int vmm_guest_ctl(int op, struct vmm_guest_options *options); }
720535	STD	{ int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); }
721536	STD	{ int procctl(idtype_t idtype, id_t id, int cmd, void *data); }
722537	STD	{ int chflagsat(int fd, const char *path, u_long flags, int atflags);}
723538	STD	{ int pipe2(int *fildes, int flags); }
724539	STD	{ int utimensat(int fd, const char *path, const struct timespec *ts, int flags); }
725540	STD	{ int futimens(int fd, const struct timespec *ts); }
726541	STD	{ int accept4(int s, caddr_t name, int *anamelen, int flags); }
727542	STD	{ int lwp_setname(lwpid_t tid, const char *name); }
728543	STD	{ int ppoll(struct pollfd *fds, u_int nfds, \
729			const struct timespec *ts, const sigset_t *sigmask); }
730544	STD	{ int lwp_setaffinity(pid_t pid, lwpid_t tid, const cpumask_t *mask); }
731545	STD	{ int lwp_getaffinity(pid_t pid, lwpid_t tid, cpumask_t *mask); }
732546	STD	{ int lwp_create2(struct lwp_params *params, const cpumask_t *mask); }
733547	STD	{ int getcpuclockid(pid_t pid, lwpid_t lwp_id, clockid_t *clock_id); }
734548	STD	{ int wait6(idtype_t idtype, id_t id, int *status, int options, \
735				struct __wrusage *wrusage, siginfo_t *info); }
736549	STD	{ int lwp_getname(lwpid_t tid, char *name, size_t len); }
737