xref: /dragonfly/sys/kern/syscalls.master (revision 984263bc)
1 $FreeBSD: src/sys/kern/syscalls.master,v 1.72.2.10 2002/07/12 08:22:46 alfred Exp $
2;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
3;
4; System call name/number master file.
5; Processed to created init_sysent.c, syscalls.c and syscall.h.
6
7; Columns: number [MPSAFE] type nargs namespc name alt{name,tag,rtyp}/comments
8;	number	system call number, must be in order
9;   MPSAFE	optional field, specifies that syscall does not want the
10;		BGL grabbed automatically (it is SMP safe).
11;	type	one of STD, OBSOL, UNIMPL, COMPAT, CPT_NOA, LIBCOMPAT,
12;		NODEF, NOARGS, NOPROTO, NOIMPL
13;	namespc one of POSIX, BSD, NOHIDE
14;	name	psuedo-prototype of syscall routine
15;		If one of the following alts is different, then all appear:
16;	altname	name of system call if different
17;	alttag	name of args struct tag if different from [o]`name'"_args"
18;	altrtyp	return type if not int (bogus - syscalls always return int)
19;		for UNIMPL/OBSOL, name continues with comments
20
21; types:
22;	STD	always included
23;	COMPAT	included on COMPAT #ifdef
24;	LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
25;	OBSOL	obsolete, not included in system, only specifies name
26;	UNIMPL	not implemented, placeholder only
27
28; #ifdef's, etc. may be included, and are copied to the output files.
29
30#include <sys/param.h>
31#include <sys/sysent.h>
32#include <sys/sysproto.h>
33
34; Reserved/unimplemented system calls in the range 0-150 inclusive
35; are reserved for use in future Berkeley releases.
36; Additional system calls implemented in vendor and other
37; redistributions should be placed in the reserved range at the end
38; of the current calls.
39
400	STD	NOHIDE	{ int nosys(void); } syscall nosys_args int
411	STD	NOHIDE	{ void sys_exit(int rval); } exit sys_exit_args void
422	STD	POSIX	{ int fork(void); }
433	STD	POSIX	{ ssize_t read(int fd, void *buf, size_t nbyte); }
444	STD	POSIX	{ ssize_t write(int fd, const void *buf, size_t nbyte); }
455	STD	POSIX	{ int open(char *path, int flags, int mode); }
46; XXX should be		{ int open(const char *path, int flags, ...); }
47; but we're not ready for `const' or varargs.
48; XXX man page says `mode_t mode'.
496	STD	POSIX	{ int close(int fd); }
507	STD	BSD	{ int wait4(int pid, int *status, int options, \
51			    struct rusage *rusage); } wait4 wait_args int
528	COMPAT	BSD	{ int creat(char *path, int mode); }
539	STD	POSIX	{ int link(char *path, char *link); }
5410	STD	POSIX	{ int unlink(char *path); }
5511	OBSOL	NOHIDE	execv
5612	STD	POSIX	{ int chdir(char *path); }
5713	STD	BSD	{ int fchdir(int fd); }
5814	STD	POSIX	{ int mknod(char *path, int mode, int dev); }
5915	STD	POSIX	{ int chmod(char *path, int mode); }
6016	STD	POSIX	{ int chown(char *path, int uid, int gid); }
6117	STD	BSD	{ int obreak(char *nsize); } break obreak_args int
6218	STD	BSD	{ int getfsstat(struct statfs *buf, long bufsize, \
63			    int flags); }
6419	COMPAT	POSIX	{ long lseek(int fd, long offset, int whence); }
6520	STD	POSIX	{ pid_t getpid(void); }
6621	STD	BSD	{ int mount(char *type, char *path, int flags, \
67			    caddr_t data); }
68; XXX `path' should have type `const char *' but we're not ready for that.
6922	STD	BSD	{ int unmount(char *path, int flags); }
7023	STD	POSIX	{ int setuid(uid_t uid); }
7124	MPSAFE	STD	POSIX	{ uid_t getuid(void); }
7225	MPSAFE	STD	POSIX	{ uid_t geteuid(void); }
7326	STD	BSD	{ int ptrace(int req, pid_t pid, caddr_t addr, \
74			    int data); }
7527	STD	BSD	{ int recvmsg(int s, struct msghdr *msg, int flags); }
7628	STD	BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
7729	STD	BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
78			    int flags, caddr_t from, int *fromlenaddr); }
7930	STD	BSD	{ int accept(int s, caddr_t name, int *anamelen); }
8031	STD	BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
8132	STD	BSD	{ int getsockname(int fdes, caddr_t asa, int *alen); }
8233	STD	POSIX	{ int access(char *path, int flags); }
8334	STD	BSD	{ int chflags(char *path, int flags); }
8435	STD	BSD	{ int fchflags(int fd, int flags); }
8536	STD	BSD	{ int sync(void); }
8637	STD	POSIX	{ int kill(int pid, int signum); }
8738	COMPAT	POSIX	{ int stat(char *path, struct ostat *ub); }
8839	STD	POSIX	{ pid_t getppid(void); }
8940	COMPAT	POSIX	{ int lstat(char *path, struct ostat *ub); }
9041	STD	POSIX	{ int dup(u_int fd); }
9142	STD	POSIX	{ int pipe(void); }
9243	STD	POSIX	{ gid_t getegid(void); }
9344	STD	BSD	{ int profil(caddr_t samples, size_t size, \
94			    size_t offset, u_int scale); }
9545	STD	BSD	{ int ktrace(const char *fname, int ops, int facs, \
96			    int pid); }
9746	COMPAT	POSIX	{ int sigaction(int signum, struct osigaction *nsa, \
98			    struct osigaction *osa); }
9947	MPSAFE	STD	POSIX	{ gid_t getgid(void); }
10048	MPSAFE	COMPAT	POSIX	{ int sigprocmask(int how, osigset_t mask); }
101; XXX note nonstandard (bogus) calling convention - the libc stub passes
102; us the mask, not a pointer to it, and we return the old mask as the
103; (int) return value.
10449	STD	BSD	{ int getlogin(char *namebuf, u_int namelen); }
10550	STD	BSD	{ int setlogin(char *namebuf); }
10651	STD	BSD	{ int acct(char *path); }
10752	COMPAT	POSIX	{ int sigpending(void); }
10853	STD	BSD	{ int sigaltstack(stack_t *ss, stack_t *oss); }
10954	STD	POSIX	{ int ioctl(int fd, u_long com, caddr_t data); }
11055	STD	BSD	{ int reboot(int opt); }
11156	STD	POSIX	{ int revoke(char *path); }
11257	STD	POSIX	{ int symlink(char *path, char *link); }
11358	STD	POSIX	{ int readlink(char *path, char *buf, int count); }
11459	STD	POSIX	{ int execve(char *fname, char **argv, char **envv); }
11560	MPSAFE	STD	POSIX	{ int umask(int newmask); } umask umask_args int
11661	STD	BSD	{ int chroot(char *path); }
11762	COMPAT	POSIX	{ int fstat(int fd, struct ostat *sb); }
11863	COMPAT	BSD	{ int getkerninfo(int op, char *where, size_t *size, \
119			    int arg); } getkerninfo getkerninfo_args int
12064	COMPAT	BSD	{ int getpagesize(void); } \
121			    getpagesize getpagesize_args int
12265	STD	BSD	{ int msync(void *addr, size_t len, int flags); }
12366	STD	BSD	{ int vfork(void); }
12467	OBSOL	NOHIDE	vread
12568	OBSOL	NOHIDE	vwrite
12669	STD	BSD	{ int sbrk(int incr); }
12770	STD	BSD	{ int sstk(int incr); }
12871	COMPAT	BSD	{ int mmap(void *addr, int len, int prot, \
129			    int flags, int fd, long pos); }
13072	STD	BSD	{ int ovadvise(int anom); } vadvise ovadvise_args int
13173	STD	BSD	{ int munmap(void *addr, size_t len); }
13274	STD	BSD	{ int mprotect(const void *addr, size_t len, int prot); }
13375	STD	BSD	{ int madvise(void *addr, size_t len, int behav); }
13476	OBSOL	NOHIDE	vhangup
13577	OBSOL	NOHIDE	vlimit
13678	STD	BSD	{ int mincore(const void *addr, size_t len, \
137			    char *vec); }
13879	STD	POSIX	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
13980	STD	POSIX	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
14081	MPSAFE	STD	POSIX	{ int getpgrp(void); }
14182	STD	POSIX	{ int setpgid(int pid, int pgid); }
14283	STD	BSD	{ int setitimer(u_int which, struct itimerval *itv, \
143			    struct itimerval *oitv); }
14484	COMPAT	BSD	{ int wait(void); }
14585	STD	BSD	{ int swapon(char *name); }
14686	STD	BSD	{ int getitimer(u_int which, struct itimerval *itv); }
14787	COMPAT	BSD	{ int gethostname(char *hostname, u_int len); } \
148			    gethostname gethostname_args int
14988	COMPAT	BSD	{ int sethostname(char *hostname, u_int len); } \
150			    sethostname sethostname_args int
15189	STD	BSD	{ int getdtablesize(void); }
15290	STD	POSIX	{ int dup2(u_int from, u_int to); }
15391	UNIMPL	BSD	getdopt
15492	STD	POSIX	{ int fcntl(int fd, int cmd, long arg); }
155; XXX should be		{ int fcntl(int fd, int cmd, ...); }
156; but we're not ready for varargs.
157; XXX man page says `int arg' too.
15893	STD	BSD	{ int select(int nd, fd_set *in, fd_set *ou, \
159			    fd_set *ex, struct timeval *tv); }
16094	UNIMPL	BSD	setdopt
16195	STD	POSIX	{ int fsync(int fd); }
16296	STD	BSD	{ int setpriority(int which, int who, int prio); }
16397	STD	BSD	{ int socket(int domain, int type, int protocol); }
16498	STD	BSD	{ int connect(int s, caddr_t name, int namelen); }
16599	CPT_NOA	BSD	{ int accept(int s, caddr_t name, int *anamelen); } \
166			    accept accept_args int
167100	STD	BSD	{ int getpriority(int which, int who); }
168101	COMPAT	BSD	{ int send(int s, caddr_t buf, int len, int flags); }
169102	COMPAT	BSD	{ int recv(int s, caddr_t buf, int len, int flags); }
170103	COMPAT	BSD	{ int sigreturn(struct osigcontext *sigcntxp); }
171104	STD	BSD	{ int bind(int s, caddr_t name, int namelen); }
172105	STD	BSD	{ int setsockopt(int s, int level, int name, \
173			    caddr_t val, int valsize); }
174106	STD	BSD	{ int listen(int s, int backlog); }
175107	OBSOL	NOHIDE	vtimes
176108	COMPAT	BSD	{ int sigvec(int signum, struct sigvec *nsv, \
177			    struct sigvec *osv); }
178109	COMPAT	BSD	{ int sigblock(int mask); }
179110	COMPAT	BSD	{ int sigsetmask(int mask); }
180111	COMPAT	POSIX	{ int sigsuspend(osigset_t mask); }
181; XXX note nonstandard (bogus) calling convention - the libc stub passes
182; us the mask, not a pointer to it.
183112	COMPAT	BSD	{ int sigstack(struct sigstack *nss, \
184			    struct sigstack *oss); }
185113	COMPAT	BSD	{ int recvmsg(int s, struct omsghdr *msg, int flags); }
186114	COMPAT	BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
187115	OBSOL	NOHIDE	vtrace
188116	MPSAFE	STD	BSD	{ int gettimeofday(struct timeval *tp, \
189			    struct timezone *tzp); }
190117	STD	BSD	{ int getrusage(int who, struct rusage *rusage); }
191118	STD	BSD	{ int getsockopt(int s, int level, int name, \
192			    caddr_t val, int *avalsize); }
193119	UNIMPL	NOHIDE	resuba (BSD/OS 2.x)
194120	STD	BSD	{ int readv(int fd, struct iovec *iovp, u_int iovcnt); }
195121	STD	BSD	{ int writev(int fd, struct iovec *iovp, \
196			    u_int iovcnt); }
197122	STD	BSD	{ int settimeofday(struct timeval *tv, \
198			    struct timezone *tzp); }
199123	STD	BSD	{ int fchown(int fd, int uid, int gid); }
200124	STD	BSD	{ int fchmod(int fd, int mode); }
201125	CPT_NOA	BSD	{ 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	BSD	{ int setreuid(int ruid, int euid); }
205127	STD	BSD	{ int setregid(int rgid, int egid); }
206128	STD	POSIX	{ int rename(char *from, char *to); }
207129	COMPAT	BSD	{ int truncate(char *path, long length); }
208130	COMPAT	BSD	{ int ftruncate(int fd, long length); }
209131	STD	BSD	{ int flock(int fd, int how); }
210132	STD	POSIX	{ int mkfifo(char *path, int mode); }
211133	STD	BSD	{ int sendto(int s, caddr_t buf, size_t len, \
212			    int flags, caddr_t to, int tolen); }
213134	STD	BSD	{ int shutdown(int s, int how); }
214135	STD	BSD	{ int socketpair(int domain, int type, int protocol, \
215			    int *rsv); }
216136	STD	POSIX	{ int mkdir(char *path, int mode); }
217137	STD	POSIX	{ int rmdir(char *path); }
218138	STD	BSD	{ int utimes(char *path, struct timeval *tptr); }
219139	OBSOL	NOHIDE	4.2 sigreturn
220140	STD	BSD	{ int adjtime(struct timeval *delta, \
221			    struct timeval *olddelta); }
222141	COMPAT	BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
223142	COMPAT	BSD	{ long gethostid(void); }
224143	COMPAT	BSD	{ int sethostid(long hostid); }
225144	COMPAT	BSD	{ int getrlimit(u_int which, struct orlimit *rlp); }
226145	COMPAT	BSD	{ int setrlimit(u_int which, struct orlimit *rlp); }
227146	COMPAT	BSD	{ int killpg(int pgid, int signum); }
228147	STD	POSIX	{ int setsid(void); }
229148	STD	BSD	{ int quotactl(char *path, int cmd, int uid, \
230			    caddr_t arg); }
231149	COMPAT	BSD	{ int quota(void); }
232150	CPT_NOA	BSD	{ 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	NOHIDE	sem_lock (BSD/OS 2.x)
240152	UNIMPL	NOHIDE	sem_wakeup (BSD/OS 2.x)
241153	UNIMPL	NOHIDE	asyncdaemon (BSD/OS 2.x)
242154	UNIMPL	NOHIDE	nosys
243; 155 is initialized by the NFS code, if present.
244155	NOIMPL	BSD	{ int nfssvc(int flag, caddr_t argp); }
245156	COMPAT	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
246			    long *basep); }
247157	STD	BSD	{ int statfs(char *path, struct statfs *buf); }
248158	STD	BSD	{ int fstatfs(int fd, struct statfs *buf); }
249159	UNIMPL	NOHIDE	nosys
250160	UNIMPL	NOHIDE	nosys
251; 161 is initialized by the NFS code, if present.
252161	STD	BSD	{ int getfh(char *fname, struct fhandle *fhp); }
253162	STD	BSD	{ int getdomainname(char *domainname, int len); }
254163	STD	BSD	{ int setdomainname(char *domainname, int len); }
255164	STD	BSD	{ int uname(struct utsname *name); }
256165	STD	BSD	{ int sysarch(int op, char *parms); }
257166	STD	BSD	{ int rtprio(int function, pid_t pid, \
258			    struct rtprio *rtp); }
259167	UNIMPL	NOHIDE	nosys
260168	UNIMPL	NOHIDE	nosys
261169	STD	BSD	{ int semsys(int which, int a2, int a3, int a4, \
262			    int a5); }
263; XXX should be		{ int semsys(int which, ...); }
264170	STD	BSD	{ int msgsys(int which, int a2, int a3, int a4, \
265			    int a5, int a6); }
266; XXX should be		{ int msgsys(int which, ...); }
267171	STD	BSD	{ int shmsys(int which, int a2, int a3, int a4); }
268; XXX should be		{ int shmsys(int which, ...); }
269172	UNIMPL	NOHIDE	nosys
270173	STD	POSIX	{ ssize_t pread(int fd, void *buf, size_t nbyte, \
271			    int pad, off_t offset); }
272174	STD	POSIX	{ ssize_t pwrite(int fd, const void *buf, \
273			    size_t nbyte, int pad, off_t offset); }
274175	UNIMPL	NOHIDE	nosys
275176	STD	BSD	{ int ntp_adjtime(struct timex *tp); }
276177	UNIMPL	NOHIDE	sfork (BSD/OS 2.x)
277178	UNIMPL	NOHIDE	getdescriptor (BSD/OS 2.x)
278179	UNIMPL	NOHIDE	setdescriptor (BSD/OS 2.x)
279180	UNIMPL	NOHIDE	nosys
280
281; Syscalls 181-199 are used by/reserved for BSD
282181	STD	POSIX	{ int setgid(gid_t gid); }
283182	STD	BSD	{ int setegid(gid_t egid); }
284183	STD	BSD	{ int seteuid(uid_t euid); }
285184	UNIMPL	BSD	lfs_bmapv
286185	UNIMPL	BSD	lfs_markv
287186	UNIMPL	BSD	lfs_segclean
288187	UNIMPL	BSD	lfs_segwait
289188	STD	POSIX	{ int stat(char *path, struct stat *ub); }
290189	STD	POSIX	{ int fstat(int fd, struct stat *sb); }
291190	STD	POSIX	{ int lstat(char *path, struct stat *ub); }
292191	STD	POSIX	{ int pathconf(char *path, int name); }
293192	STD	POSIX	{ int fpathconf(int fd, int name); }
294193	UNIMPL	NOHIDE	nosys
295194	STD	BSD	{ int getrlimit(u_int which, \
296			    struct rlimit *rlp); } \
297			    getrlimit __getrlimit_args int
298195	STD	BSD	{ int setrlimit(u_int which, \
299			    struct rlimit *rlp); } \
300			    setrlimit __setrlimit_args int
301196	STD	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
302			    long *basep); }
303197	STD	BSD	{ caddr_t mmap(caddr_t addr, size_t len, int prot, \
304			    int flags, int fd, int pad, off_t pos); }
305198	STD	NOHIDE	{ int nosys(void); } __syscall __syscall_args int
306199	STD	POSIX	{ off_t lseek(int fd, int pad, off_t offset, \
307			    int whence); }
308200	STD	BSD	{ int truncate(char *path, int pad, off_t length); }
309201	STD	BSD	{ int ftruncate(int fd, int pad, off_t length); }
310202	STD	BSD	{ int __sysctl(int *name, u_int namelen, void *old, \
311			    size_t *oldlenp, void *new, size_t newlen); } \
312			    __sysctl sysctl_args int
313; properly, __sysctl should be a NOHIDE, but making an exception
314; here allows to avoid one in libc/sys/Makefile.inc.
315203	STD	BSD	{ int mlock(const void *addr, size_t len); }
316204	STD	BSD	{ int munlock(const void *addr, size_t len); }
317205	STD	BSD	{ int undelete(char *path); }
318206	STD	BSD	{ int futimes(int fd, struct timeval *tptr); }
319207	STD	BSD	{ int getpgid(pid_t pid); }
320208	UNIMPL	NOHIDE	newreboot (NetBSD)
321209	STD	BSD	{ int poll(struct pollfd *fds, u_int nfds, \
322			    int timeout); }
323
324;
325; The following are reserved for loadable syscalls
326;
327210	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
328211	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
329212	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
330213	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
331214	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
332215	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
333216	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
334217	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
335218	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
336219	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
337
338;
339; The following were introduced with NetBSD/4.4Lite-2
340;
341220	STD	BSD	{ int __semctl(int semid, int semnum, int cmd, \
342			    union semun *arg); }
343221	STD	BSD	{ int semget(key_t key, int nsems, int semflg); }
344222	STD	BSD	{ int semop(int semid, struct sembuf *sops, \
345			    u_int nsops); }
346223	UNIMPL	NOHIDE	semconfig
347224	STD	BSD	{ int msgctl(int msqid, int cmd, \
348			    struct msqid_ds *buf); }
349225	STD	BSD	{ int msgget(key_t key, int msgflg); }
350226	STD	BSD	{ int msgsnd(int msqid, void *msgp, size_t msgsz, \
351			    int msgflg); }
352227	STD	BSD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
353			    long msgtyp, int msgflg); }
354228	STD	BSD	{ int shmat(int shmid, void *shmaddr, int shmflg); }
355229	STD	BSD	{ int shmctl(int shmid, int cmd, \
356			    struct shmid_ds *buf); }
357230	STD	BSD	{ int shmdt(void *shmaddr); }
358231	STD	BSD	{ int shmget(key_t key, int size, int shmflg); }
359;
360232	STD	POSIX	{ int clock_gettime(clockid_t clock_id, \
361			    struct timespec *tp); }
362233	STD	POSIX	{ int clock_settime(clockid_t clock_id, \
363			    const struct timespec *tp); }
364234	STD	POSIX	{ int clock_getres(clockid_t clock_id, \
365			    struct timespec *tp); }
366235	UNIMPL	NOHIDE	timer_create
367236	UNIMPL	NOHIDE	timer_delete
368237	UNIMPL	NOHIDE	timer_settime
369238	UNIMPL	NOHIDE	timer_gettime
370239	UNIMPL	NOHIDE	timer_getoverrun
371240	STD	POSIX	{ int nanosleep(const struct timespec *rqtp, \
372			    struct timespec *rmtp); }
373241	UNIMPL	NOHIDE	nosys
374242	UNIMPL	NOHIDE	nosys
375243	UNIMPL	NOHIDE	nosys
376244	UNIMPL	NOHIDE	nosys
377245	UNIMPL	NOHIDE	nosys
378246	UNIMPL	NOHIDE	nosys
379247	UNIMPL	NOHIDE	nosys
380248	UNIMPL	NOHIDE	nosys
381249	UNIMPL	NOHIDE	nosys
382; syscall numbers initially used in OpenBSD
383250	STD	BSD	{ int minherit(void *addr, size_t len, int inherit); }
384251	STD	BSD	{ int rfork(int flags); }
385252	STD	BSD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
386			    int timeout); }
387253	STD	BSD	{ int issetugid(void); }
388254	STD	BSD	{ int lchown(char *path, int uid, int gid); }
389255	UNIMPL	NOHIDE	nosys
390256	UNIMPL	NOHIDE	nosys
391257	UNIMPL	NOHIDE	nosys
392258	UNIMPL	NOHIDE	nosys
393259	UNIMPL	NOHIDE	nosys
394260	UNIMPL	NOHIDE	nosys
395261	UNIMPL	NOHIDE	nosys
396262	UNIMPL	NOHIDE	nosys
397263	UNIMPL	NOHIDE	nosys
398264	UNIMPL	NOHIDE	nosys
399265	UNIMPL	NOHIDE	nosys
400266	UNIMPL	NOHIDE	nosys
401267	UNIMPL	NOHIDE	nosys
402268	UNIMPL	NOHIDE	nosys
403269	UNIMPL	NOHIDE	nosys
404270	UNIMPL	NOHIDE	nosys
405271	UNIMPL	NOHIDE	nosys
406272	STD	BSD	{ int getdents(int fd, char *buf, size_t count); }
407273	UNIMPL	NOHIDE	nosys
408274	STD	BSD	{ int lchmod(char *path, mode_t mode); }
409275	NOPROTO BSD	{ int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int
410276	STD	BSD	{ int lutimes(char *path, struct timeval *tptr); }
411277	NOPROTO	BSD	{ int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int
412278	STD	BSD	{ int nstat(char *path, struct nstat *ub); }
413279	STD	BSD	{ int nfstat(int fd, struct nstat *sb); }
414280	STD	BSD	{ int nlstat(char *path, struct nstat *ub); }
415281	UNIMPL	NOHIDE	nosys
416282	UNIMPL	NOHIDE	nosys
417283	UNIMPL	NOHIDE	nosys
418284	UNIMPL	NOHIDE	nosys
419285	UNIMPL	NOHIDE	nosys
420286	UNIMPL	NOHIDE	nosys
421287	UNIMPL	NOHIDE	nosys
422288	UNIMPL	NOHIDE	nosys
423289	UNIMPL	NOHIDE	nosys
424290	UNIMPL	NOHIDE	nosys
425291	UNIMPL	NOHIDE	nosys
426292	UNIMPL	NOHIDE	nosys
427293	UNIMPL	NOHIDE	nosys
428294	UNIMPL	NOHIDE	nosys
429295	UNIMPL	NOHIDE	nosys
430296	UNIMPL	NOHIDE	nosys
431; XXX 297 is 300 in NetBSD
432297	STD	BSD	{ int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
433298	STD	BSD	{ int fhopen(const struct fhandle *u_fhp, int flags); }
434299	STD	BSD 	{ int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
435; syscall numbers for FreeBSD
436300	STD	BSD	{ int modnext(int modid); }
437301	STD	BSD	{ int modstat(int modid, struct module_stat* stat); }
438302	STD	BSD	{ int modfnext(int modid); }
439303	STD	BSD	{ int modfind(const char *name); }
440304	STD	BSD	{ int kldload(const char *file); }
441305	STD	BSD	{ int kldunload(int fileid); }
442306	STD	BSD	{ int kldfind(const char *file); }
443307	STD	BSD	{ int kldnext(int fileid); }
444308	STD	BSD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
445309	STD	BSD	{ int kldfirstmod(int fileid); }
446310	STD	BSD	{ int getsid(pid_t pid); }
447311	STD	BSD	{ int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
448312	STD	BSD	{ int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
449313	OBSOL	NOHIDE	signanosleep
450314     STD     BSD     { int aio_return(struct aiocb *aiocbp); }
451315     STD     BSD     { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
452316     STD     BSD     { int aio_cancel(int fd, struct aiocb *aiocbp); }
453317     STD     BSD     { int aio_error(struct aiocb *aiocbp); }
454318     STD     BSD     { int aio_read(struct aiocb *aiocbp); }
455319     STD     BSD     { int aio_write(struct aiocb *aiocbp); }
456320     STD     BSD     { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
457321     STD     BSD     { int yield(void); }
458322     STD     BSD     { int thr_sleep(const struct timespec *timeout); }
459323     STD     BSD     { int thr_wakeup(pid_t pid); }
460324     STD     BSD     { int mlockall(int how); }
461325     STD     BSD     { int munlockall(void); }
462326     STD     BSD     { int __getcwd(u_char *buf, u_int buflen); }
463
464327     STD     POSIX   { int sched_setparam (pid_t pid, const struct sched_param *param); }
465328     STD     POSIX   { int sched_getparam (pid_t pid, struct sched_param *param); }
466
467329     STD     POSIX   { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
468330     STD     POSIX   { int sched_getscheduler (pid_t pid); }
469
470331     STD     POSIX   { int sched_yield (void); }
471332     STD     POSIX   { int sched_get_priority_max (int policy); }
472333     STD     POSIX   { int sched_get_priority_min (int policy); }
473334     STD     POSIX   { int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
474335	STD	BSD	{ int utrace(const void *addr, size_t len); }
475336	COMPAT	BSD	{ int sendfile(int fd, int s, off_t offset, size_t nbytes, \
476				struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
477337	STD	BSD	{ int kldsym(int fileid, int cmd, void *data); }
478338	STD	BSD	{ int jail(struct jail *jail); }
479339	UNIMPL	BSD	pioctl
480340	MPSAFE	STD	POSIX	{ int sigprocmask(int how, const sigset_t *set, \
481			    sigset_t *oset); }
482341	STD	POSIX	{ int sigsuspend(const sigset_t *sigmask); }
483342	STD	POSIX	{ int sigaction(int sig, const struct sigaction *act, \
484			    struct sigaction *oact); }
485343	STD	POSIX	{ int sigpending(sigset_t *set); }
486344	STD	BSD	{ int sigreturn(ucontext_t *sigcntxp); }
487345	UNIMPL	NOHIDE	sigtimedwait
488346	UNIMPL	NOHIDE	sigwaitinfo
489347	STD	BSD	{ int __acl_get_file(const char *path, \
490			    acl_type_t type, struct acl *aclp); }
491348	STD	BSD	{ int __acl_set_file(const char *path, \
492			    acl_type_t type, struct acl *aclp); }
493349	STD	BSD	{ int __acl_get_fd(int filedes, acl_type_t type, \
494			    struct acl *aclp); }
495350	STD	BSD	{ int __acl_set_fd(int filedes, acl_type_t type, \
496			    struct acl *aclp); }
497351	STD	BSD	{ int __acl_delete_file(const char *path, \
498			    acl_type_t type); }
499352	STD	BSD	{ int __acl_delete_fd(int filedes, acl_type_t type); }
500353	STD	BSD	{ int __acl_aclcheck_file(const char *path, \
501			    acl_type_t type, struct acl *aclp); }
502354	STD	BSD	{ int __acl_aclcheck_fd(int filedes, acl_type_t type, \
503			    struct acl *aclp); }
504355	STD	BSD	{ int extattrctl(const char *path, int cmd, \
505			    const char *attrname, char *arg); }
506356	STD	BSD	{ int extattr_set_file(const char *path, \
507			    const char *attrname, struct iovec *iovp, \
508			    unsigned iovcnt); }
509357	STD	BSD	{ int extattr_get_file(const char *path, \
510			    const char *attrname, struct iovec *iovp, \
511			    unsigned iovcnt); }
512358	STD	BSD	{ int extattr_delete_file(const char *path, \
513			    const char *attrname); }
514359	STD	BSD	{ int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); }
515360	STD	BSD	{ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
516361	STD	BSD	{ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
517362	STD	BSD	{ int kqueue(void); }
518363	STD	BSD	{ int kevent(int fd, \
519			    const struct kevent *changelist, int nchanges, \
520			    struct kevent *eventlist, int nevents, \
521			    const struct timespec *timeout); }
522
523364	UNIMPL	NOHIDE	nosys
524365	UNIMPL	NOHIDE	nosys
525366	UNIMPL	NOHIDE	nosys
526367	UNIMPL	NOHIDE	nosys
527368	UNIMPL	NOHIDE	nosys
528369	UNIMPL	NOHIDE	nosys
529370	UNIMPL	NOHIDE	nosys
530371	UNIMPL	NOHIDE	nosys
531372	UNIMPL	NOHIDE	nosys
532373	UNIMPL	NOHIDE	nosys
533374	UNIMPL	NOHIDE	nosys
534375	UNIMPL	NOHIDE	nosys
535376	UNIMPL	NOHIDE	nosys
536377	UNIMPL	NOHIDE	nosys
537378	UNIMPL	NOHIDE	nosys
538379	UNIMPL	NOHIDE	nosys
539380	UNIMPL	NOHIDE	nosys
540381	UNIMPL	NOHIDE	nosys
541382	UNIMPL	NOHIDE	nosys
542383	UNIMPL	NOHIDE	nosys
543384	UNIMPL	NOHIDE	nosys
544385	UNIMPL	NOHIDE	nosys
545386	UNIMPL	NOHIDE	nosys
546387	UNIMPL	NOHIDE	nosys
547388	UNIMPL	NOHIDE	nosys
548389	UNIMPL	NOHIDE	nosys
549390	UNIMPL	NOHIDE	nosys
550391	UNIMPL	NOHIDE	nosys
551392	UNIMPL	NOHIDE	nosys
552393	STD	BSD	{ int sendfile(int fd, int s, off_t offset, size_t nbytes, \
553				struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
554