xref: /dragonfly/sys/kern/syscalls.master (revision aa8d5dcb)
1 $DragonFly: src/sys/kern/syscalls.master,v 1.12 2004/03/06 22:14:09 dillon Exp $
2
3; @(#)syscalls.master	8.2 (Berkeley) 1/13/94
4; $FreeBSD: src/sys/kern/syscalls.master,v 1.72.2.10 2002/07/12 08:22:46 alfred Exp $
5;
6; System call name/number master file.
7; Processed to created init_sysent.c, syscalls.c and syscall.h.
8
9; Columns: number [MPSAFE] type nargs namespc name alt{name,tag,rtyp}/comments
10;	number	system call number, must be in order
11;   MPSAFE	optional field, specifies that syscall does not want the
12;		BGL grabbed automatically (it is SMP safe).
13;	type	one of STD, OBSOL, UNIMPL, COMPAT, CPT_NOA, LIBCOMPAT,
14;		NODEF, NOARGS, NOPROTO, NOIMPL
15;	namespc one of POSIX, BSD, NOHIDE
16;	name	psuedo-prototype of syscall routine
17;		If one of the following alts is different, then all appear:
18;	altname	name of system call if different
19;	alttag	name of args struct tag if different from [o]`name'"_args"
20;	altrtyp	return type if not int (bogus - syscalls always return int)
21;		for UNIMPL/OBSOL, name continues with comments
22
23; types:
24;	STD	always included
25;	COMPAT	included on COMPAT #ifdef
26;	LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
27;	OBSOL	obsolete, not included in system, only specifies name
28;	UNIMPL	not implemented, placeholder only
29
30; #ifdef's, etc. may be included, and are copied to the output files.
31
32#include <sys/param.h>
33#include <sys/sysent.h>
34#include <sys/sysproto.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	NOHIDE	{ int nosys(void); } syscall nosys_args int
431	STD	NOHIDE	{ void sys_exit(int rval); } exit sys_exit_args void
442	STD	POSIX	{ int fork(void); }
453	STD	POSIX	{ ssize_t read(int fd, void *buf, size_t nbyte); }
464	STD	POSIX	{ ssize_t write(int fd, const void *buf, size_t nbyte); }
475	STD	POSIX	{ 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	POSIX	{ int close(int fd); }
527	STD	BSD	{ int wait4(int pid, int *status, int options, \
53			    struct rusage *rusage); } wait4 wait_args int
548	COMPAT	BSD	{ int creat(char *path, int mode); }
559	STD	POSIX	{ int link(char *path, char *link); }
5610	STD	POSIX	{ int unlink(char *path); }
5711	OBSOL	NOHIDE	execv
5812	STD	POSIX	{ int chdir(char *path); }
5913	STD	BSD	{ int fchdir(int fd); }
6014	STD	POSIX	{ int mknod(char *path, int mode, int dev); }
6115	STD	POSIX	{ int chmod(char *path, int mode); }
6216	STD	POSIX	{ int chown(char *path, int uid, int gid); }
6317	STD	BSD	{ int obreak(char *nsize); } break obreak_args int
6418	STD	BSD	{ int getfsstat(struct statfs *buf, long bufsize, \
65			    int flags); }
6619	COMPAT	POSIX	{ long lseek(int fd, long offset, int whence); }
6720	STD	POSIX	{ pid_t getpid(void); }
6821	STD	BSD	{ 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	BSD	{ int unmount(char *path, int flags); }
7223	STD	POSIX	{ int setuid(uid_t uid); }
7324	MPSAFE	STD	POSIX	{ uid_t getuid(void); }
7425	MPSAFE	STD	POSIX	{ uid_t geteuid(void); }
7526	STD	BSD	{ int ptrace(int req, pid_t pid, caddr_t addr, \
76			    int data); }
7727	STD	BSD	{ int recvmsg(int s, struct msghdr *msg, int flags); }
7828	STD	BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
7929	STD	BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
80			    int flags, caddr_t from, int *fromlenaddr); }
8130	STD	BSD	{ int accept(int s, caddr_t name, int *anamelen); }
8231	STD	BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
8332	STD	BSD	{ int getsockname(int fdes, caddr_t asa, int *alen); }
8433	STD	POSIX	{ int access(char *path, int flags); }
8534	STD	BSD	{ int chflags(char *path, int flags); }
8635	STD	BSD	{ int fchflags(int fd, int flags); }
8736	STD	BSD	{ int sync(void); }
8837	STD	POSIX	{ int kill(int pid, int signum); }
8938	COMPAT	POSIX	{ int stat(char *path, struct ostat *ub); }
9039	STD	POSIX	{ pid_t getppid(void); }
9140	COMPAT	POSIX	{ int lstat(char *path, struct ostat *ub); }
9241	STD	POSIX	{ int dup(u_int fd); }
9342	STD	POSIX	{ int pipe(void); }
9443	STD	POSIX	{ gid_t getegid(void); }
9544	STD	BSD	{ int profil(caddr_t samples, size_t size, \
96			    size_t offset, u_int scale); }
9745	STD	BSD	{ int ktrace(const char *fname, int ops, int facs, \
98			    int pid); }
9946	OBSOL	NOHIDE	freebsd3_sigaction
10047	MPSAFE	STD	POSIX	{ gid_t getgid(void); }
10148	OBSOL	NOHIDE	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	BSD	{ int getlogin(char *namebuf, u_int namelen); }
10650	STD	BSD	{ int setlogin(char *namebuf); }
10751	STD	BSD	{ int acct(char *path); }
10852	OBSOL	NOHIDE	freebsd3_sigpending
10953	STD	BSD	{ int sigaltstack(stack_t *ss, stack_t *oss); }
11054	STD	POSIX	{ int ioctl(int fd, u_long com, caddr_t data); }
11155	STD	BSD	{ int reboot(int opt); }
11256	STD	POSIX	{ int revoke(char *path); }
11357	STD	POSIX	{ int symlink(char *path, char *link); }
11458	STD	POSIX	{ int readlink(char *path, char *buf, int count); }
11559	STD	POSIX	{ int execve(char *fname, char **argv, char **envv); }
11660	MPSAFE	STD	POSIX	{ int umask(int newmask); } umask umask_args int
11761	STD	BSD	{ int chroot(char *path); }
11862	COMPAT	POSIX	{ int fstat(int fd, struct ostat *sb); }
11963	COMPAT	BSD	{ int getkerninfo(int op, char *where, size_t *size, \
120			    int arg); } getkerninfo getkerninfo_args int
12164	COMPAT	BSD	{ int getpagesize(void); } \
122			    getpagesize getpagesize_args int
12365	STD	BSD	{ int msync(void *addr, size_t len, int flags); }
12466	STD	BSD	{ int vfork(void); }
12567	OBSOL	NOHIDE	vread
12668	OBSOL	NOHIDE	vwrite
12769	STD	BSD	{ int sbrk(int incr); }
12870	STD	BSD	{ int sstk(int incr); }
12971	COMPAT	BSD	{ int mmap(void *addr, int len, int prot, \
130			    int flags, int fd, long pos); }
13172	STD	BSD	{ int ovadvise(int anom); } vadvise ovadvise_args int
13273	STD	BSD	{ int munmap(void *addr, size_t len); }
13374	STD	BSD	{ int mprotect(const void *addr, size_t len, int prot); }
13475	STD	BSD	{ int madvise(void *addr, size_t len, int behav); }
13576	OBSOL	NOHIDE	vhangup
13677	OBSOL	NOHIDE	vlimit
13778	STD	BSD	{ int mincore(const void *addr, size_t len, \
138			    char *vec); }
13979	STD	POSIX	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
14080	STD	POSIX	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
14181	MPSAFE	STD	POSIX	{ int getpgrp(void); }
14282	STD	POSIX	{ int setpgid(int pid, int pgid); }
14383	STD	BSD	{ int setitimer(u_int which, struct itimerval *itv, \
144			    struct itimerval *oitv); }
14584	COMPAT	BSD	{ int wait(void); }
14685	STD	BSD	{ int swapon(char *name); }
14786	STD	BSD	{ int getitimer(u_int which, struct itimerval *itv); }
14887	COMPAT	BSD	{ int gethostname(char *hostname, u_int len); } \
149			    gethostname gethostname_args int
15088	COMPAT	BSD	{ int sethostname(char *hostname, u_int len); } \
151			    sethostname sethostname_args int
15289	STD	BSD	{ int getdtablesize(void); }
15390	STD	POSIX	{ int dup2(u_int from, u_int to); }
15491	UNIMPL	BSD	getdopt
15592	STD	POSIX	{ 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	BSD	{ int select(int nd, fd_set *in, fd_set *ou, \
160			    fd_set *ex, struct timeval *tv); }
16194	UNIMPL	BSD	setdopt
16295	STD	POSIX	{ int fsync(int fd); }
16396	STD	BSD	{ int setpriority(int which, int who, int prio); }
16497	STD	BSD	{ int socket(int domain, int type, int protocol); }
16598	STD	BSD	{ int connect(int s, caddr_t name, int namelen); }
16699	CPT_NOA	BSD	{ int accept(int s, caddr_t name, int *anamelen); } \
167			    accept accept_args int
168100	STD	BSD	{ int getpriority(int which, int who); }
169101	COMPAT	BSD	{ int send(int s, caddr_t buf, int len, int flags); }
170102	COMPAT	BSD	{ int recv(int s, caddr_t buf, int len, int flags); }
171103	OBSOL	NOHIDE	freebsd3_sigreturn
172104	STD	BSD	{ int bind(int s, caddr_t name, int namelen); }
173105	STD	BSD	{ int setsockopt(int s, int level, int name, \
174			    caddr_t val, int valsize); }
175106	STD	BSD	{ int listen(int s, int backlog); }
176107	OBSOL	NOHIDE	vtimes
177108	COMPAT	BSD	{ int sigvec(int signum, struct sigvec *nsv, \
178			    struct sigvec *osv); }
179109	COMPAT	BSD	{ int sigblock(int mask); }
180110	COMPAT	BSD	{ int sigsetmask(int mask); }
181111	OBSOL	NOHIDE	freebsd3_sigsuspend
182; XXX note nonstandard (bogus) calling convention - the libc stub passes
183; us the mask, not a pointer to it.
184112	COMPAT	BSD	{ int sigstack(struct sigstack *nss, \
185			    struct sigstack *oss); }
186113	COMPAT	BSD	{ int recvmsg(int s, struct omsghdr *msg, int flags); }
187114	COMPAT	BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
188115	OBSOL	NOHIDE	vtrace
189116	MPSAFE	STD	BSD	{ int gettimeofday(struct timeval *tp, \
190			    struct timezone *tzp); }
191117	STD	BSD	{ int getrusage(int who, struct rusage *rusage); }
192118	STD	BSD	{ int getsockopt(int s, int level, int name, \
193			    caddr_t val, int *avalsize); }
194119	UNIMPL	NOHIDE	resuba (BSD/OS 2.x)
195120	STD	BSD	{ int readv(int fd, struct iovec *iovp, u_int iovcnt); }
196121	STD	BSD	{ int writev(int fd, struct iovec *iovp, \
197			    u_int iovcnt); }
198122	STD	BSD	{ int settimeofday(struct timeval *tv, \
199			    struct timezone *tzp); }
200123	STD	BSD	{ int fchown(int fd, int uid, int gid); }
201124	STD	BSD	{ int fchmod(int fd, int mode); }
202125	CPT_NOA	BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
203			    int flags, caddr_t from, int *fromlenaddr); } \
204			    recvfrom recvfrom_args int
205126	STD	BSD	{ int setreuid(int ruid, int euid); }
206127	STD	BSD	{ int setregid(int rgid, int egid); }
207128	STD	POSIX	{ int rename(char *from, char *to); }
208129	COMPAT	BSD	{ int truncate(char *path, long length); }
209130	COMPAT	BSD	{ int ftruncate(int fd, long length); }
210131	STD	BSD	{ int flock(int fd, int how); }
211132	STD	POSIX	{ int mkfifo(char *path, int mode); }
212133	STD	BSD	{ int sendto(int s, caddr_t buf, size_t len, \
213			    int flags, caddr_t to, int tolen); }
214134	STD	BSD	{ int shutdown(int s, int how); }
215135	STD	BSD	{ int socketpair(int domain, int type, int protocol, \
216			    int *rsv); }
217136	STD	POSIX	{ int mkdir(char *path, int mode); }
218137	STD	POSIX	{ int rmdir(char *path); }
219138	STD	BSD	{ int utimes(char *path, struct timeval *tptr); }
220139	OBSOL	NOHIDE	4.2 sigreturn
221140	STD	BSD	{ int adjtime(struct timeval *delta, \
222			    struct timeval *olddelta); }
223141	COMPAT	BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
224142	COMPAT	BSD	{ long gethostid(void); }
225143	COMPAT	BSD	{ int sethostid(long hostid); }
226144	COMPAT	BSD	{ int getrlimit(u_int which, struct orlimit *rlp); }
227145	COMPAT	BSD	{ int setrlimit(u_int which, struct orlimit *rlp); }
228146	COMPAT	BSD	{ int killpg(int pgid, int signum); }
229147	STD	POSIX	{ int setsid(void); }
230148	STD	BSD	{ int quotactl(char *path, int cmd, int uid, \
231			    caddr_t arg); }
232149	COMPAT	BSD	{ int quota(void); }
233150	CPT_NOA	BSD	{ int getsockname(int fdec, caddr_t asa, int *alen); }\
234			    getsockname getsockname_args int
235
236; Syscalls 151-180 inclusive are reserved for vendor-specific
237; system calls.  (This includes various calls added for compatibity
238; with other Unix variants.)
239; Some of these calls are now supported by BSD...
240151	UNIMPL	NOHIDE	sem_lock (BSD/OS 2.x)
241152	UNIMPL	NOHIDE	sem_wakeup (BSD/OS 2.x)
242153	UNIMPL	NOHIDE	asyncdaemon (BSD/OS 2.x)
243154	UNIMPL	NOHIDE	nosys
244; 155 is initialized by the NFS code, if present.
245155	NOIMPL	BSD	{ int nfssvc(int flag, caddr_t argp); }
246156	COMPAT	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
247			    long *basep); }
248157	STD	BSD	{ int statfs(char *path, struct statfs *buf); }
249158	STD	BSD	{ int fstatfs(int fd, struct statfs *buf); }
250159	UNIMPL	NOHIDE	nosys
251160	UNIMPL	NOHIDE	nosys
252; 161 is initialized by the NFS code, if present.
253161	STD	BSD	{ int getfh(char *fname, struct fhandle *fhp); }
254162	STD	BSD	{ int getdomainname(char *domainname, int len); }
255163	STD	BSD	{ int setdomainname(char *domainname, int len); }
256164	STD	BSD	{ int uname(struct utsname *name); }
257165	STD	BSD	{ int sysarch(int op, char *parms); }
258166	STD	BSD	{ int rtprio(int function, pid_t pid, \
259			    struct rtprio *rtp); }
260167	UNIMPL	NOHIDE	nosys
261168	UNIMPL	NOHIDE	nosys
262169	STD	BSD	{ int semsys(int which, int a2, int a3, int a4, \
263			    int a5); }
264; XXX should be		{ int semsys(int which, ...); }
265170	STD	BSD	{ int msgsys(int which, int a2, int a3, int a4, \
266			    int a5, int a6); }
267; XXX should be		{ int msgsys(int which, ...); }
268171	STD	BSD	{ int shmsys(int which, int a2, int a3, int a4); }
269; XXX should be		{ int shmsys(int which, ...); }
270172	UNIMPL	NOHIDE	nosys
271173	STD	POSIX	{ ssize_t pread(int fd, void *buf, size_t nbyte, \
272			    int pad, off_t offset); }
273174	STD	POSIX	{ ssize_t pwrite(int fd, const void *buf, \
274			    size_t nbyte, int pad, off_t offset); }
275175	UNIMPL	NOHIDE	nosys
276176	STD	BSD	{ int ntp_adjtime(struct timex *tp); }
277177	UNIMPL	NOHIDE	sfork (BSD/OS 2.x)
278178	UNIMPL	NOHIDE	getdescriptor (BSD/OS 2.x)
279179	UNIMPL	NOHIDE	setdescriptor (BSD/OS 2.x)
280180	UNIMPL	NOHIDE	nosys
281
282; Syscalls 181-199 are used by/reserved for BSD
283181	STD	POSIX	{ int setgid(gid_t gid); }
284182	STD	BSD	{ int setegid(gid_t egid); }
285183	STD	BSD	{ int seteuid(uid_t euid); }
286184	UNIMPL	BSD	lfs_bmapv
287185	UNIMPL	BSD	lfs_markv
288186	UNIMPL	BSD	lfs_segclean
289187	UNIMPL	BSD	lfs_segwait
290188	STD	POSIX	{ int stat(char *path, struct stat *ub); }
291189	STD	POSIX	{ int fstat(int fd, struct stat *sb); }
292190	STD	POSIX	{ int lstat(char *path, struct stat *ub); }
293191	STD	POSIX	{ int pathconf(char *path, int name); }
294192	STD	POSIX	{ int fpathconf(int fd, int name); }
295193	UNIMPL	NOHIDE	nosys
296194	STD	BSD	{ int getrlimit(u_int which, \
297			    struct rlimit *rlp); } \
298			    getrlimit __getrlimit_args int
299195	STD	BSD	{ int setrlimit(u_int which, \
300			    struct rlimit *rlp); } \
301			    setrlimit __setrlimit_args int
302196	STD	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
303			    long *basep); }
304197	STD	BSD	{ caddr_t mmap(caddr_t addr, size_t len, int prot, \
305			    int flags, int fd, int pad, off_t pos); }
306198	STD	NOHIDE	{ int nosys(void); } __syscall __syscall_args int
307199	STD	POSIX	{ off_t lseek(int fd, int pad, off_t offset, \
308			    int whence); }
309200	STD	BSD	{ int truncate(char *path, int pad, off_t length); }
310201	STD	BSD	{ int ftruncate(int fd, int pad, off_t length); }
311202	STD	BSD	{ int __sysctl(int *name, u_int namelen, void *old, \
312			    size_t *oldlenp, void *new, size_t newlen); } \
313			    __sysctl sysctl_args int
314; properly, __sysctl should be a NOHIDE, but making an exception
315; here allows to avoid one in libc/sys/Makefile.inc.
316203	STD	BSD	{ int mlock(const void *addr, size_t len); }
317204	STD	BSD	{ int munlock(const void *addr, size_t len); }
318205	STD	BSD	{ int undelete(char *path); }
319206	STD	BSD	{ int futimes(int fd, struct timeval *tptr); }
320207	STD	BSD	{ int getpgid(pid_t pid); }
321208	UNIMPL	NOHIDE	newreboot (NetBSD)
322209	STD	BSD	{ int poll(struct pollfd *fds, u_int nfds, \
323			    int timeout); }
324
325;
326; The following are reserved for loadable syscalls
327;
328; 210 is used by the Checkpoint Module
329210	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
330211	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
331212	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
332213	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
333214	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
334215	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
335216	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
336217	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
337218	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
338219	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
339
340;
341; The following were introduced with NetBSD/4.4Lite-2
342;
343220	STD	BSD	{ int __semctl(int semid, int semnum, int cmd, \
344			    union semun *arg); }
345221	STD	BSD	{ int semget(key_t key, int nsems, int semflg); }
346222	STD	BSD	{ int semop(int semid, struct sembuf *sops, \
347			    u_int nsops); }
348223	UNIMPL	NOHIDE	semconfig
349224	STD	BSD	{ int msgctl(int msqid, int cmd, \
350			    struct msqid_ds *buf); }
351225	STD	BSD	{ int msgget(key_t key, int msgflg); }
352226	STD	BSD	{ int msgsnd(int msqid, void *msgp, size_t msgsz, \
353			    int msgflg); }
354227	STD	BSD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
355			    long msgtyp, int msgflg); }
356228	STD	BSD	{ int shmat(int shmid, void *shmaddr, int shmflg); }
357229	STD	BSD	{ int shmctl(int shmid, int cmd, \
358			    struct shmid_ds *buf); }
359230	STD	BSD	{ int shmdt(void *shmaddr); }
360231	STD	BSD	{ int shmget(key_t key, int size, int shmflg); }
361;
362232	STD	POSIX	{ int clock_gettime(clockid_t clock_id, \
363			    struct timespec *tp); }
364233	STD	POSIX	{ int clock_settime(clockid_t clock_id, \
365			    const struct timespec *tp); }
366234	STD	POSIX	{ int clock_getres(clockid_t clock_id, \
367			    struct timespec *tp); }
368235	UNIMPL	NOHIDE	timer_create
369236	UNIMPL	NOHIDE	timer_delete
370237	UNIMPL	NOHIDE	timer_settime
371238	UNIMPL	NOHIDE	timer_gettime
372239	UNIMPL	NOHIDE	timer_getoverrun
373240	STD	POSIX	{ int nanosleep(const struct timespec *rqtp, \
374			    struct timespec *rmtp); }
375241	UNIMPL	NOHIDE	nosys
376242	UNIMPL	NOHIDE	nosys
377243	UNIMPL	NOHIDE	nosys
378244	UNIMPL	NOHIDE	nosys
379245	UNIMPL	NOHIDE	nosys
380246	UNIMPL	NOHIDE	nosys
381247	UNIMPL	NOHIDE	nosys
382248	UNIMPL	NOHIDE	nosys
383249	UNIMPL	NOHIDE	nosys
384; syscall numbers initially used in OpenBSD
385250	STD	BSD	{ int minherit(void *addr, size_t len, int inherit); }
386251	STD	BSD	{ int rfork(int flags); }
387252	STD	BSD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
388			    int timeout); }
389253	STD	BSD	{ int issetugid(void); }
390254	STD	BSD	{ int lchown(char *path, int uid, int gid); }
391255	UNIMPL	NOHIDE	nosys
392256	UNIMPL	NOHIDE	nosys
393257	UNIMPL	NOHIDE	nosys
394258	UNIMPL	NOHIDE	nosys
395259	UNIMPL	NOHIDE	nosys
396260	UNIMPL	NOHIDE	nosys
397261	UNIMPL	NOHIDE	nosys
398262	UNIMPL	NOHIDE	nosys
399263	UNIMPL	NOHIDE	nosys
400264	UNIMPL	NOHIDE	nosys
401265	UNIMPL	NOHIDE	nosys
402266	UNIMPL	NOHIDE	nosys
403267	UNIMPL	NOHIDE	nosys
404268	UNIMPL	NOHIDE	nosys
405269	UNIMPL	NOHIDE	nosys
406270	UNIMPL	NOHIDE	nosys
407271	UNIMPL	NOHIDE	nosys
408272	STD	BSD	{ int getdents(int fd, char *buf, size_t count); }
409273	UNIMPL	NOHIDE	nosys
410274	STD	BSD	{ int lchmod(char *path, mode_t mode); }
411275	NOPROTO BSD	{ int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int
412276	STD	BSD	{ int lutimes(char *path, struct timeval *tptr); }
413277	NOPROTO	BSD	{ int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int
414278	STD	BSD	{ int nstat(char *path, struct nstat *ub); }
415279	STD	BSD	{ int nfstat(int fd, struct nstat *sb); }
416280	STD	BSD	{ int nlstat(char *path, struct nstat *ub); }
417281	UNIMPL	NOHIDE	nosys
418282	UNIMPL	NOHIDE	nosys
419283	UNIMPL	NOHIDE	nosys
420284	UNIMPL	NOHIDE	nosys
421285	UNIMPL	NOHIDE	nosys
422286	UNIMPL	NOHIDE	nosys
423287	UNIMPL	NOHIDE	nosys
424288	UNIMPL	NOHIDE	nosys
425289	UNIMPL	NOHIDE	nosys
426290	UNIMPL	NOHIDE	nosys
427291	UNIMPL	NOHIDE	nosys
428292	UNIMPL	NOHIDE	nosys
429293	UNIMPL	NOHIDE	nosys
430294	UNIMPL	NOHIDE	nosys
431295	UNIMPL	NOHIDE	nosys
432296	UNIMPL	NOHIDE	nosys
433; XXX 297 is 300 in NetBSD
434297	STD	BSD	{ int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
435298	STD	BSD	{ int fhopen(const struct fhandle *u_fhp, int flags); }
436299	STD	BSD 	{ int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
437; syscall numbers for FreeBSD
438300	STD	BSD	{ int modnext(int modid); }
439301	STD	BSD	{ int modstat(int modid, struct module_stat* stat); }
440302	STD	BSD	{ int modfnext(int modid); }
441303	STD	BSD	{ int modfind(const char *name); }
442304	STD	BSD	{ int kldload(const char *file); }
443305	STD	BSD	{ int kldunload(int fileid); }
444306	STD	BSD	{ int kldfind(const char *file); }
445307	STD	BSD	{ int kldnext(int fileid); }
446308	STD	BSD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
447309	STD	BSD	{ int kldfirstmod(int fileid); }
448310	STD	BSD	{ int getsid(pid_t pid); }
449311	STD	BSD	{ int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
450312	STD	BSD	{ int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
451313	OBSOL	NOHIDE	signanosleep
452314     STD     BSD     { int aio_return(struct aiocb *aiocbp); }
453315     STD     BSD     { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
454316     STD     BSD     { int aio_cancel(int fd, struct aiocb *aiocbp); }
455317     STD     BSD     { int aio_error(struct aiocb *aiocbp); }
456318     STD     BSD     { int aio_read(struct aiocb *aiocbp); }
457319     STD     BSD     { int aio_write(struct aiocb *aiocbp); }
458320     STD     BSD     { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
459321     STD     BSD     { int yield(void); }
460322     STD     BSD     { int thr_sleep(const struct timespec *timeout); }
461323     STD     BSD     { int thr_wakeup(pid_t pid); }
462324     STD     BSD     { int mlockall(int how); }
463325     STD     BSD     { int munlockall(void); }
464326     STD     BSD     { int __getcwd(u_char *buf, u_int buflen); }
465
466327     STD     POSIX   { int sched_setparam (pid_t pid, const struct sched_param *param); }
467328     STD     POSIX   { int sched_getparam (pid_t pid, struct sched_param *param); }
468
469329     STD     POSIX   { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
470330     STD     POSIX   { int sched_getscheduler (pid_t pid); }
471
472331     STD     POSIX   { int sched_yield (void); }
473332     STD     POSIX   { int sched_get_priority_max (int policy); }
474333     STD     POSIX   { int sched_get_priority_min (int policy); }
475334     STD     POSIX   { int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
476335	STD	BSD	{ int utrace(const void *addr, size_t len); }
477336	OBSOL	NOHIDE	freebsd4_sendfile
478337	STD	BSD	{ int kldsym(int fileid, int cmd, void *data); }
479338	STD	BSD	{ int jail(struct jail *jail); }
480339	UNIMPL	BSD	pioctl
481340	MPSAFE	STD	POSIX	{ int sigprocmask(int how, const sigset_t *set, \
482			    sigset_t *oset); }
483341	STD	POSIX	{ int sigsuspend(const sigset_t *sigmask); }
484342	STD	POSIX	{ int sigaction(int sig, const struct sigaction *act, \
485			    struct sigaction *oact); }
486343	STD	POSIX	{ int sigpending(sigset_t *set); }
487344	STD	BSD	{ int sigreturn(ucontext_t *sigcntxp); }
488345	UNIMPL	NOHIDE	sigtimedwait
489346	UNIMPL	NOHIDE	sigwaitinfo
490347	STD	BSD	{ int __acl_get_file(const char *path, \
491			    acl_type_t type, struct acl *aclp); }
492348	STD	BSD	{ int __acl_set_file(const char *path, \
493			    acl_type_t type, struct acl *aclp); }
494349	STD	BSD	{ int __acl_get_fd(int filedes, acl_type_t type, \
495			    struct acl *aclp); }
496350	STD	BSD	{ int __acl_set_fd(int filedes, acl_type_t type, \
497			    struct acl *aclp); }
498351	STD	BSD	{ int __acl_delete_file(const char *path, \
499			    acl_type_t type); }
500352	STD	BSD	{ int __acl_delete_fd(int filedes, acl_type_t type); }
501353	STD	BSD	{ int __acl_aclcheck_file(const char *path, \
502			    acl_type_t type, struct acl *aclp); }
503354	STD	BSD	{ int __acl_aclcheck_fd(int filedes, acl_type_t type, \
504			    struct acl *aclp); }
505355	STD	BSD	{ int extattrctl(const char *path, int cmd, \
506			    const char *attrname, char *arg); }
507356	STD	BSD	{ int extattr_set_file(const char *path, \
508			    const char *attrname, struct iovec *iovp, \
509			    unsigned iovcnt); }
510357	STD	BSD	{ int extattr_get_file(const char *path, \
511			    const char *attrname, struct iovec *iovp, \
512			    unsigned iovcnt); }
513358	STD	BSD	{ int extattr_delete_file(const char *path, \
514			    const char *attrname); }
515359	STD	BSD	{ int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); }
516360	STD	BSD	{ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
517361	STD	BSD	{ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
518362	STD	BSD	{ int kqueue(void); }
519363	STD	BSD	{ int kevent(int fd, \
520			    const struct kevent *changelist, int nchanges, \
521			    struct kevent *eventlist, int nevents, \
522			    const struct timespec *timeout); }
523
524; 364-392 used by FreeBSD-current
525364	UNIMPL	NOHIDE	nosys
526365	UNIMPL	NOHIDE	nosys
527366	UNIMPL	NOHIDE	nosys
528367	UNIMPL	NOHIDE	nosys
529368	UNIMPL	NOHIDE	nosys
530369	UNIMPL	NOHIDE	nosys
531370	UNIMPL	NOHIDE	nosys
532371	UNIMPL	NOHIDE	nosys
533372	UNIMPL	NOHIDE	nosys
534373	UNIMPL	NOHIDE	nosys
535374	UNIMPL	NOHIDE	nosys
536375	UNIMPL	NOHIDE	nosys
537376	UNIMPL	NOHIDE	nosys
538377	UNIMPL	NOHIDE	nosys
539378	UNIMPL	NOHIDE	nosys
540379	UNIMPL	NOHIDE	nosys
541380	UNIMPL	NOHIDE	nosys
542381	UNIMPL	NOHIDE	nosys
543382	UNIMPL	NOHIDE	nosys
544383	UNIMPL	NOHIDE	nosys
545384	UNIMPL	NOHIDE	nosys
546385	UNIMPL	NOHIDE	nosys
547386	UNIMPL	NOHIDE	nosys
548387	UNIMPL	NOHIDE	nosys
549388	UNIMPL	NOHIDE	nosys
550389	UNIMPL	NOHIDE	nosys
551390	UNIMPL	NOHIDE	nosys
552391	UNIMPL	NOHIDE	nosys
553392	UNIMPL	NOHIDE	nosys
554393	STD	BSD	{ int sendfile(int fd, int s, off_t offset, size_t nbytes, \
555				struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
556; 394-439 used by FreeBSD-current
557394	UNIMPL	NOHIDE	nosys
558395	UNIMPL	NOHIDE	nosys
559396	UNIMPL	NOHIDE	nosys
560397	UNIMPL	NOHIDE	nosys
561398	UNIMPL	NOHIDE	nosys
562399	UNIMPL	NOHIDE	nosys
563400	UNIMPL	NOHIDE	nosys
564401	UNIMPL	NOHIDE	nosys
565402	UNIMPL	NOHIDE	nosys
566403	UNIMPL	NOHIDE	nosys
567404	UNIMPL	NOHIDE	nosys
568405	UNIMPL	NOHIDE	nosys
569406	UNIMPL	NOHIDE	nosys
570407	UNIMPL	NOHIDE	nosys
571408	UNIMPL	NOHIDE	nosys
572409	UNIMPL	NOHIDE	nosys
573410	UNIMPL	NOHIDE	nosys
574411	UNIMPL	NOHIDE	nosys
575412	UNIMPL	NOHIDE	nosys
576413	UNIMPL	NOHIDE	nosys
577414	UNIMPL	NOHIDE	nosys
578415	UNIMPL	NOHIDE	nosys
579416	UNIMPL	NOHIDE	nosys
580417	UNIMPL	NOHIDE	nosys
581418	UNIMPL	NOHIDE	nosys
582419	UNIMPL	NOHIDE	nosys
583420	UNIMPL	NOHIDE	nosys
584421	UNIMPL	NOHIDE	nosys
585422	UNIMPL	NOHIDE	nosys
586423	UNIMPL	NOHIDE	nosys
587424	UNIMPL	NOHIDE	nosys
588425	UNIMPL	NOHIDE	nosys
589426	UNIMPL	NOHIDE	nosys
590427	UNIMPL	NOHIDE	nosys
591428	UNIMPL	NOHIDE	nosys
592429	UNIMPL	NOHIDE	nosys
593430	UNIMPL	NOHIDE	nosys
594431	UNIMPL	NOHIDE	nosys
595432	UNIMPL	NOHIDE	nosys
596433	UNIMPL	NOHIDE	nosys
597434	UNIMPL	NOHIDE	nosys
598435	UNIMPL	NOHIDE	nosys
599436	UNIMPL	NOHIDE	nosys
600437	UNIMPL	NOHIDE	nosys
601438	UNIMPL	NOHIDE	nosys
602439	UNIMPL	NOHIDE	nosys
603; 440-449 reserved for FreeBSD-5.x growth
604440	UNIMPL	NOHIDE	nosys
605441	UNIMPL	NOHIDE	nosys
606442	UNIMPL	NOHIDE	nosys
607443	UNIMPL	NOHIDE	nosys
608444	UNIMPL	NOHIDE	nosys
609445	UNIMPL	NOHIDE	nosys
610446	UNIMPL	NOHIDE	nosys
611447	UNIMPL	NOHIDE	nosys
612448	UNIMPL	NOHIDE	nosys
613449	UNIMPL	NOHIDE	nosys
614; 450 DragonFly system calls
615450	STD	BSD	{ int varsym_set(int level, const char *name, const char *data); }
616451	STD	BSD	{ int varsym_get(int mask, const char *wild, char *buf, int bufsize); }
617452	STD	BSD	{ int varsym_list(int level, char *buf, int maxsize, int *marker); }
618453	STD	BSD	{ int upc_register(struct upcall *upc, void *ctxfunc, void *func, void *data); }
619454	STD	BSD	{ int upc_control(int cmd, int upcid, void *data); }
620455	STD	BSD	{ int caps_sys_service(const char *name, uid_t uid, gid_t gid, int upcid, int flags); }
621456	STD	BSD	{ int caps_sys_client(const char *name, uid_t uid, gid_t gid, int upcid, int flags); }
622457	STD	BSD	{ int caps_sys_close(int portid); }
623458	STD	BSD	{ off_t caps_sys_put(int portid, void *msg, int msgsize); }
624459	STD	BSD	{ int caps_sys_reply(int portid, void *msg, int msgsize, off_t msgcid); }
625460	STD	BSD	{ int caps_sys_get(int portid, void *msg, int maxsize, struct caps_msgid *msgid, struct caps_cred *ccr); }
626461	STD	BSD	{ int caps_sys_wait(int portid, void *msg, int maxsize, struct caps_msgid *msgid, struct caps_cred *ccr); }
627462	STD	BSD	{ int caps_sys_abort(int portid, off_t msgcid, int flags); }
628463	STD	BSD	{ off_t caps_sys_getgen(int portid); }
629464	STD	BSD	{ int caps_sys_setgen(int portid, off_t gen); }
630465	STD	BSD	{ int exec_sys_register(void *entry); }
631466	STD	BSD	{ int exec_sys_unregister(int id); }
632