xref: /freebsd/sys/kern/syscalls.master (revision a8445737e740901f5f2c8d24c12ef7fc8b00134e)
1	$Id: syscalls.master,v 1.52 1998/06/07 17:11:40 dfr 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 type nargs namespc name alt{name,tag,rtyp}/comments
8;	number	system call number, must be in order
9;	type	one of STD, OBSOL, UNIMPL, COMPAT
10;	namespc one of POSIX, BSD, NOHIDE
11;	name	psuedo-prototype of syscall routine
12;		If one of the following alts is different, then all appear:
13;	altname	name of system call if different
14;	alttag	name of args struct tag if different from [o]`name'"_args"
15;	altrtyp	return type if not int (bogus - syscalls always return int)
16;		for UNIMPL/OBSOL, name continues with comments
17
18; types:
19;	STD	always included
20;	COMPAT	included on COMPAT #ifdef
21;	LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
22;	OBSOL	obsolete, not included in system, only specifies name
23;	UNIMPL	not implemented, placeholder only
24
25; #ifdef's, etc. may be included, and are copied to the output files.
26
27#include <sys/param.h>
28#include <sys/sysent.h>
29#include <sys/sysproto.h>
30
31; Reserved/unimplemented system calls in the range 0-150 inclusive
32; are reserved for use in future Berkeley releases.
33; Additional system calls implemented in vendor and other
34; redistributions should be placed in the reserved range at the end
35; of the current calls.
36
370	STD	NOHIDE	{ int nosys(void); } syscall nosys_args int
381	STD	NOHIDE	{ void exit(int rval); } exit rexit_args void
392	STD	POSIX	{ int fork(void); }
403	STD	POSIX	{ ssize_t read(int fd, void *buf, size_t nbyte); }
414	STD	POSIX	{ ssize_t write(int fd, const void *buf, size_t nbyte); }
425	STD	POSIX	{ int open(char *path, int flags, int mode); }
43; XXX should be		{ int open(const char *path, int flags, ...); }
44; but we're not ready for `const' or varargs.
45; XXX man page says `mode_t mode'.
466	STD	POSIX	{ int close(int fd); }
477	STD	BSD	{ int wait4(int pid, int *status, int options, \
48			    struct rusage *rusage); } wait4 wait_args int
498	COMPAT	BSD	{ int creat(char *path, int mode); }
509	STD	POSIX	{ int link(char *path, char *link); }
5110	STD	POSIX	{ int unlink(char *path); }
5211	OBSOL	NOHIDE	execv
5312	STD	POSIX	{ int chdir(char *path); }
5413	STD	BSD	{ int fchdir(int fd); }
5514	STD	POSIX	{ int mknod(char *path, int mode, int dev); }
5615	STD	POSIX	{ int chmod(char *path, int mode); }
5716	STD	POSIX	{ int chown(char *path, int uid, int gid); }
5817	STD	BSD	{ int obreak(char *nsize); } break obreak_args int
5918	STD	BSD	{ int getfsstat(struct statfs *buf, long bufsize, \
60			    int flags); }
6119	COMPAT	POSIX	{ long lseek(int fd, long offset, int whence); }
6220	STD	POSIX	{ pid_t getpid(void); }
6321	STD	BSD	{ int mount(char *type, char *path, int flags, \
64			    caddr_t data); }
65; XXX 4.4lite2 uses `char *type' but we're not ready for that.
66; XXX `path' should have type `const char *' but we're not ready for that.
6722	STD	BSD	{ int unmount(char *path, int flags); }
6823	STD	POSIX	{ int setuid(uid_t uid); }
6924	STD	POSIX	{ uid_t getuid(void); }
7025	STD	POSIX	{ uid_t geteuid(void); }
7126	STD	BSD	{ int ptrace(int req, pid_t pid, caddr_t addr, \
72			    int data); }
7327	STD	BSD	{ int recvmsg(int s, struct msghdr *msg, int flags); }
7428	STD	BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
7529	STD	BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
76			    int flags, caddr_t from, int *fromlenaddr); }
7730	STD	BSD	{ int accept(int s, caddr_t name, int *anamelen); }
7831	STD	BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
7932	STD	BSD	{ int getsockname(int fdes, caddr_t asa, int *alen); }
8033	STD	POSIX	{ int access(char *path, int flags); }
8134	STD	BSD	{ int chflags(char *path, int flags); }
8235	STD	BSD	{ int fchflags(int fd, int flags); }
8336	STD	BSD	{ int sync(void); }
8437	STD	POSIX	{ int kill(int pid, int signum); }
8538	COMPAT	POSIX	{ int stat(char *path, struct ostat *ub); }
8639	STD	POSIX	{ pid_t getppid(void); }
8740	COMPAT	POSIX	{ int lstat(char *path, struct ostat *ub); }
8841	STD	POSIX	{ int dup(u_int fd); }
8942	STD	POSIX	{ int pipe(void); }
9043	STD	POSIX	{ gid_t getegid(void); }
9144	STD	BSD	{ int profil(caddr_t samples, size_t size, \
92			    size_t offset, u_int scale); }
9345	STD	BSD	{ int ktrace(char *fname, int ops, int facs, \
94			    int pid); }
9546	STD	POSIX	{ int sigaction(int signum, struct sigaction *nsa, \
96			    struct sigaction *osa); }
9747	STD	POSIX	{ gid_t getgid(void); }
9848	STD	POSIX	{ int sigprocmask(int how, sigset_t mask); }
99; XXX note nonstandard (bogus) calling convention - the libc stub passes
100; us the mask, not a pointer to it, and we return the old mask as the
101; (int) return value.
10249	STD	BSD	{ int getlogin(char *namebuf, u_int namelen); }
10350	STD	BSD	{ int setlogin(char *namebuf); }
10451	STD	BSD	{ int acct(char *path); }
10552	STD	POSIX	{ int sigpending(void); }
10653	STD	BSD	{ int sigaltstack(struct sigaltstack *nss, \
107			    struct sigaltstack *oss); }
10854	STD	POSIX	{ int ioctl(int fd, u_long com, caddr_t data); }
10955	STD	BSD	{ int reboot(int opt); }
11056	STD	POSIX	{ int revoke(char *path); }
11157	STD	POSIX	{ int symlink(char *path, char *link); }
11258	STD	POSIX	{ int readlink(char *path, char *buf, int count); }
11359	STD	POSIX	{ int execve(char *fname, char **argv, char **envv); }
11460	STD	POSIX	{ int umask(int newmask); } umask umask_args int
11561	STD	BSD	{ int chroot(char *path); }
11662	COMPAT	POSIX	{ int fstat(int fd, struct ostat *sb); }
11763	COMPAT	BSD	{ int getkerninfo(int op, char *where, size_t *size, \
118			    int arg); } getkerninfo getkerninfo_args int
11964	COMPAT	BSD	{ int getpagesize(void); } \
120			    getpagesize getpagesize_args int
12165	STD	BSD	{ int msync(void *addr, size_t len, int flags); }
12266	STD	BSD	{ int vfork(void); }
12367	OBSOL	NOHIDE	vread
12468	OBSOL	NOHIDE	vwrite
12569	STD	BSD	{ int sbrk(int incr); }
12670	STD	BSD	{ int sstk(int incr); }
12771	COMPAT	BSD	{ int mmap(void *addr, int len, int prot, \
128			    int flags, int fd, long pos); }
12972	STD	BSD	{ int ovadvise(int anom); } vadvise ovadvise_args int
13073	STD	BSD	{ int munmap(void *addr, size_t len); }
13174	STD	BSD	{ int mprotect(const void *addr, size_t len, int prot); }
13275	STD	BSD	{ int madvise(void *addr, size_t len, int behav); }
13376	OBSOL	NOHIDE	vhangup
13477	OBSOL	NOHIDE	vlimit
13578	STD	BSD	{ int mincore(const void *addr, size_t len, \
136			    char *vec); }
13779	STD	POSIX	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
13880	STD	POSIX	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
13981	STD	POSIX	{ int getpgrp(void); }
14082	STD	POSIX	{ int setpgid(int pid, int pgid); }
14183	STD	BSD	{ int setitimer(u_int which, struct itimerval *itv, \
142			    struct itimerval *oitv); }
14384	COMPAT	BSD	{ int wait(void); }
14485	STD	BSD	{ int swapon(char *name); }
14586	STD	BSD	{ int getitimer(u_int which, struct itimerval *itv); }
14687	COMPAT	BSD	{ int gethostname(char *hostname, u_int len); } \
147			    gethostname gethostname_args int
14888	COMPAT	BSD	{ int sethostname(char *hostname, u_int len); } \
149			    sethostname sethostname_args int
15089	STD	BSD	{ int getdtablesize(void); }
15190	STD	POSIX	{ int dup2(u_int from, u_int to); }
15291	UNIMPL	BSD	getdopt
15392	STD	POSIX	{ int fcntl(int fd, int cmd, long arg); }
154; XXX should be		{ int fcntl(int fd, int cmd, ...); }
155; but we're not ready for varargs.
156; XXX man page says `int arg' too.
15793	STD	BSD	{ int select(int nd, fd_set *in, fd_set *ou, \
158			    fd_set *ex, struct timeval *tv); }
15994	UNIMPL	BSD	setdopt
16095	STD	POSIX	{ int fsync(int fd); }
16196	STD	BSD	{ int setpriority(int which, int who, int prio); }
16297	STD	BSD	{ int socket(int domain, int type, int protocol); }
16398	STD	BSD	{ int connect(int s, caddr_t name, int namelen); }
16499	CPT_NOA	BSD	{ int accept(int s, caddr_t name, int *anamelen); } \
165			    accept accept_args int
166100	STD	BSD	{ int getpriority(int which, int who); }
167101	COMPAT	BSD	{ int send(int s, caddr_t buf, int len, int flags); }
168102	COMPAT	BSD	{ int recv(int s, caddr_t buf, int len, int flags); }
169103	STD	BSD	{ int sigreturn(struct sigcontext *sigcntxp); }
170104	STD	BSD	{ int bind(int s, caddr_t name, int namelen); }
171105	STD	BSD	{ int setsockopt(int s, int level, int name, \
172			    caddr_t val, int valsize); }
173106	STD	BSD	{ int listen(int s, int backlog); }
174107	OBSOL	NOHIDE	vtimes
175108	COMPAT	BSD	{ int sigvec(int signum, struct sigvec *nsv, \
176			    struct sigvec *osv); }
177109	COMPAT	BSD	{ int sigblock(int mask); }
178110	COMPAT	BSD	{ int sigsetmask(int mask); }
179111	STD	POSIX	{ int sigsuspend(sigset_t mask); }
180; XXX note nonstandard (bogus) calling convention - the libc stub passes
181; us the mask, not a pointer to it.
182112	COMPAT	BSD	{ int sigstack(struct sigstack *nss, \
183			    struct sigstack *oss); }
184113	COMPAT	BSD	{ int recvmsg(int s, struct omsghdr *msg, int flags); }
185114	COMPAT	BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
186115	OBSOL	NOHIDE	vtrace
187116	STD	BSD	{ int gettimeofday(struct timeval *tp, \
188			    struct timezone *tzp); }
189117	STD	BSD	{ int getrusage(int who, struct rusage *rusage); }
190118	STD	BSD	{ int getsockopt(int s, int level, int name, \
191			    caddr_t val, int *avalsize); }
192119	UNIMPL	NOHIDE	resuba (BSD/OS 2.x)
193120	STD	BSD	{ int readv(int fd, struct iovec *iovp, u_int iovcnt); }
194121	STD	BSD	{ int writev(int fd, struct iovec *iovp, \
195			    u_int iovcnt); }
196122	STD	BSD	{ int settimeofday(struct timeval *tv, \
197			    struct timezone *tzp); }
198123	STD	BSD	{ int fchown(int fd, int uid, int gid); }
199124	STD	BSD	{ int fchmod(int fd, int mode); }
200125	CPT_NOA	BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
201			    int flags, caddr_t from, int *fromlenaddr); } \
202			    recvfrom recvfrom_args int
203126	STD	BSD	{ int setreuid(int ruid, int euid); }
204127	STD	BSD	{ int setregid(int rgid, int egid); }
205128	STD	POSIX	{ int rename(char *from, char *to); }
206129	COMPAT	BSD	{ int truncate(char *path, long length); }
207130	COMPAT	BSD	{ int ftruncate(int fd, long length); }
208131	STD	BSD	{ int flock(int fd, int how); }
209132	STD	POSIX	{ int mkfifo(char *path, int mode); }
210133	STD	BSD	{ int sendto(int s, caddr_t buf, size_t len, \
211			    int flags, caddr_t to, int tolen); }
212134	STD	BSD	{ int shutdown(int s, int how); }
213135	STD	BSD	{ int socketpair(int domain, int type, int protocol, \
214			    int *rsv); }
215136	STD	POSIX	{ int mkdir(char *path, int mode); }
216137	STD	POSIX	{ int rmdir(char *path); }
217138	STD	BSD	{ int utimes(char *path, struct timeval *tptr); }
218139	OBSOL	NOHIDE	4.2 sigreturn
219140	STD	BSD	{ int adjtime(struct timeval *delta, \
220			    struct timeval *olddelta); }
221141	COMPAT	BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
222142	COMPAT	BSD	{ long gethostid(void); }
223143	COMPAT	BSD	{ int sethostid(long hostid); }
224144	COMPAT	BSD	{ int getrlimit(u_int which, struct ogetrlimit *rlp); }
225145	COMPAT	BSD	{ int setrlimit(u_int which, struct ogetrlimit *rlp); }
226146	COMPAT	BSD	{ int killpg(int pgid, int signum); }
227147	STD	POSIX	{ int setsid(void); }
228148	STD	BSD	{ int quotactl(char *path, int cmd, int uid, \
229			    caddr_t arg); }
230149	COMPAT	BSD	{ int quota(void); }
231150	CPT_NOA	BSD	{ int getsockname(int fdec, caddr_t asa, int *alen); }\
232			    getsockname getsockname_args int
233
234; Syscalls 151-180 inclusive are reserved for vendor-specific
235; system calls.  (This includes various calls added for compatibity
236; with other Unix variants.)
237; Some of these calls are now supported by BSD...
238151	UNIMPL	NOHIDE	sem_lock (BSD/OS 2.x)
239152	UNIMPL	NOHIDE	sem_wakeup (BSD/OS 2.x)
240153	UNIMPL	NOHIDE	asyncdaemon (BSD/OS 2.x)
241154	UNIMPL	NOHIDE	nosys
242; 155 is initialized by the NFS code, if present.
243155	NOIMPL	BSD	{ int nfssvc(int flag, caddr_t argp); }
244156	COMPAT	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
245			    long *basep); }
246157	STD	BSD	{ int statfs(char *path, struct statfs *buf); }
247158	STD	BSD	{ int fstatfs(int fd, struct statfs *buf); }
248159	UNIMPL	NOHIDE	nosys
249160	UNIMPL	NOHIDE	nosys
250; 161 is initialized by the NFS code, if present.
251161	NOIMPL	BSD	{ int getfh(char *fname, struct fhandle *fhp); }
252162	STD	BSD	{ int getdomainname(char *domainname, int len); }
253163	STD	BSD	{ int setdomainname(char *domainname, int len); }
254164	STD	BSD	{ int uname(struct utsname *name); }
255165	STD	BSD	{ int sysarch(int op, char *parms); }
256166	STD	BSD	{ int rtprio(int function, pid_t pid, \
257			    struct rtprio *rtp); }
258167	UNIMPL	NOHIDE	nosys
259168	UNIMPL	NOHIDE	nosys
260169	STD	BSD	{ int semsys(int which, int a2, int a3, int a4, \
261			    int a5); }
262; XXX should be		{ int semsys(int which, ...); }
263170	STD	BSD	{ int msgsys(int which, int a2, int a3, int a4, \
264			    int a5, int a6); }
265; XXX should be		{ int msgsys(int which, ...); }
266171	STD	BSD	{ int shmsys(int which, int a2, int a3, int a4); }
267; XXX should be		{ int shmsys(int which, ...); }
268172	UNIMPL	NOHIDE	nosys
269173	UNIMPL	NOHIDE	nosys
270174	UNIMPL	NOHIDE	nosys
271175	UNIMPL	NOHIDE	nosys
272176	STD	BSD	{ int ntp_adjtime(struct timex *tp); }
273177	UNIMPL	NOHIDE	sfork (BSD/OS 2.x)
274178	UNIMPL	NOHIDE	getdescriptor (BSD/OS 2.x)
275179	UNIMPL	NOHIDE	setdescriptor (BSD/OS 2.x)
276180	UNIMPL	NOHIDE	nosys
277
278; Syscalls 180-199 are used by/reserved for BSD
279181	STD	POSIX	{ int setgid(gid_t gid); }
280182	STD	BSD	{ int setegid(gid_t egid); }
281183	STD	BSD	{ int seteuid(uid_t euid); }
282184	UNIMPL	BSD	lfs_bmapv
283185	UNIMPL	BSD	lfs_markv
284186	UNIMPL	BSD	lfs_segclean
285187	UNIMPL	BSD	lfs_segwait
286188	STD	POSIX	{ int stat(char *path, struct stat *ub); }
287189	STD	POSIX	{ int fstat(int fd, struct stat *sb); }
288190	STD	POSIX	{ int lstat(char *path, struct stat *ub); }
289191	STD	POSIX	{ int pathconf(char *path, int name); }
290192	STD	POSIX	{ int fpathconf(int fd, int name); }
291193	UNIMPL	NOHIDE	nosys
292194	STD	BSD	{ int getrlimit(u_int which, \
293			    struct orlimit *rlp); } \
294			    getrlimit __getrlimit_args int
295195	STD	BSD	{ int setrlimit(u_int which, \
296			    struct orlimit *rlp); } \
297			    setrlimit __setrlimit_args int
298196	STD	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
299			    long *basep); }
300197	STD	BSD	{ caddr_t mmap(caddr_t addr, size_t len, int prot, \
301			    int flags, int fd, long pad, off_t pos); }
302198	STD	NOHIDE	{ int nosys(void); } __syscall __syscall_args int
303199	STD	POSIX	{ off_t lseek(int fd, int pad, off_t offset, \
304			    int whence); }
305200	STD	BSD	{ int truncate(char *path, int pad, off_t length); }
306201	STD	BSD	{ int ftruncate(int fd, int pad, off_t length); }
307202	STD	BSD	{ int __sysctl(int *name, u_int namelen, void *old, \
308			    size_t *oldlenp, void *new, size_t newlen); } \
309			    __sysctl sysctl_args int
310; properly, __sysctl should be a NOHIDE, but making an exception
311; here allows to avoid one in libc/sys/Makefile.inc.
312203	STD	BSD	{ int mlock(const void *addr, size_t len); }
313204	STD	BSD	{ int munlock(const void *addr, size_t len); }
314205	STD	BSD	{ int undelete(char *path); }
315206	STD	BSD	{ int futimes(int fd, struct timeval *tptr); }
316207	STD	BSD	{ int getpgid(pid_t pid); }
317208	UNIMPL	NOHIDE	newreboot (NetBSD)
318209	STD	BSD	{ int poll(struct pollfd *fds, u_int nfds, \
319			    int timeout); }
320
321;
322; The following are reserved for loadable syscalls
323;
324210	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
325211	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
326212	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
327213	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
328214	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
329215	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
330216	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
331217	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
332218	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
333219	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
334
335;
336; The following were introduced with NetBSD/4.4Lite-2
337;
338220	STD	BSD	{ int __semctl(int semid, int semnum, int cmd, \
339			    union semun *arg); }
340221	STD	BSD	{ int semget(key_t key, int nsems, int semflg); }
341222	STD	BSD	{ int semop(int semid, struct sembuf *sops, \
342			    u_int nsops); }
343223	STD	BSD	{ int semconfig(int flag); }
344224	STD	BSD	{ int msgctl(int msqid, int cmd, \
345			    struct msqid_ds *buf); }
346225	STD	BSD	{ int msgget(key_t key, int msgflg); }
347226	STD	BSD	{ int msgsnd(int msqid, void *msgp, size_t msgsz, \
348			    int msgflg); }
349227	STD	BSD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
350			    long msgtyp, int msgflg); }
351228	STD	BSD	{ int shmat(int shmid, void *shmaddr, int shmflg); }
352229	STD	BSD	{ int shmctl(int shmid, int cmd, \
353			    struct shmid_ds *buf); }
354230	STD	BSD	{ int shmdt(void *shmaddr); }
355231	STD	BSD	{ int shmget(key_t key, int size, int shmflg); }
356;
357232	STD	POSIX	{ int clock_gettime(clockid_t clock_id, \
358			    struct timespec *tp); }
359233	STD	POSIX	{ int clock_settime(clockid_t clock_id, \
360			    const struct timespec *tp); }
361234	STD	POSIX	{ int clock_getres(clockid_t clock_id, \
362			    struct timespec *tp); }
363235	UNIMPL	NOHIDE	timer_create
364236	UNIMPL	NOHIDE	timer_delete
365237	UNIMPL	NOHIDE	timer_settime
366238	UNIMPL	NOHIDE	timer_gettime
367239	UNIMPL	NOHIDE	timer_getoverrun
368240	STD	POSIX	{ int nanosleep(const struct timespec *rqtp, \
369			    struct timespec *rmtp); }
370241	UNIMPL	NOHIDE	nosys
371242	UNIMPL	NOHIDE	nosys
372243	UNIMPL	NOHIDE	nosys
373244	UNIMPL	NOHIDE	nosys
374245	UNIMPL	NOHIDE	nosys
375246	UNIMPL	NOHIDE	nosys
376247	UNIMPL	NOHIDE	nosys
377248	UNIMPL	NOHIDE	nosys
378249	UNIMPL	NOHIDE	nosys
379; syscall numbers initially used in OpenBSD
380250	STD	BSD	{ int minherit(void *addr, size_t len, int inherit); }
381251	STD	BSD	{ int rfork(int flags); }
382252	STD	BSD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
383			    int timeout); }
384253	STD	BSD	{ int issetugid(void); }
385254	STD	BSD	{ int lchown(char *path, int uid, int gid); }
386255	UNIMPL	NOHIDE	nosys
387256	UNIMPL	NOHIDE	nosys
388257	UNIMPL	NOHIDE	nosys
389258	UNIMPL	NOHIDE	nosys
390259	UNIMPL	NOHIDE	nosys
391260	UNIMPL	NOHIDE	nosys
392261	UNIMPL	NOHIDE	nosys
393262	UNIMPL	NOHIDE	nosys
394263	UNIMPL	NOHIDE	nosys
395264	UNIMPL	NOHIDE	nosys
396265	UNIMPL	NOHIDE	nosys
397266	UNIMPL	NOHIDE	nosys
398267	UNIMPL	NOHIDE	nosys
399268	UNIMPL	NOHIDE	nosys
400269	UNIMPL	NOHIDE	nosys
401270	UNIMPL	NOHIDE	nosys
402271	UNIMPL	NOHIDE	nosys
403272	STD	BSD	{ int getdents(int fd, char *buf, size_t count); }
404273	UNIMPL	NOHIDE	nosys
405274	STD	BSD	{ int lchmod(char *path, mode_t mode); }
406275	NOPROTO BSD	{ int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown netbsd_lchown int
407276	STD	BSD	{ int lutimes(char *path, struct timeval *tptr); }
408277	NOPROTO	BSD	{ int msync(void *addr, size_t len, int flags); } netbsd_msync netbsd_msync int
409278	STD	BSD	{ int nstat(char *path, struct nstat *ub); }
410279	STD	BSD	{ int nfstat(int fd, struct nstat *sb); }
411280	STD	BSD	{ int nlstat(char *path, struct nstat *ub); }
412281	UNIMPL	NOHIDE	nosys
413282	UNIMPL	NOHIDE	nosys
414283	UNIMPL	NOHIDE	nosys
415284	UNIMPL	NOHIDE	nosys
416285	UNIMPL	NOHIDE	nosys
417286	UNIMPL	NOHIDE	nosys
418287	UNIMPL	NOHIDE	nosys
419288	UNIMPL	NOHIDE	nosys
420289	UNIMPL	NOHIDE	nosys
421290	UNIMPL	NOHIDE	nosys
422291	UNIMPL	NOHIDE	nosys
423292	UNIMPL	NOHIDE	nosys
424293	UNIMPL	NOHIDE	nosys
425294	UNIMPL	NOHIDE	nosys
426295	UNIMPL	NOHIDE	nosys
427296	UNIMPL	NOHIDE	nosys
428297	UNIMPL	NOHIDE	nosys
429298	UNIMPL	NOHIDE	nosys
430299	UNIMPL	NOHIDE	nosys
431; syscall numbers for FreeBSD
432300	STD	BSD	{ int modnext(int modid); }
433301	STD	BSD	{ int modstat(int modid, struct module_stat* stat); }
434302	STD	BSD	{ int modfnext(int modid); }
435303	STD	BSD	{ int modfind(char *name); }
436304	STD	BSD	{ int kldload(const char *file); }
437305	STD	BSD	{ int kldunload(int fileid); }
438306	STD	BSD	{ int kldfind(const char *file); }
439307	STD	BSD	{ int kldnext(int fileid); }
440308	STD	BSD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
441309	STD	BSD	{ int kldfirstmod(int fileid); }
442310	STD	BSD	{ int getsid(pid_t pid); }
443311	UNIMPL	NOHIDE	setresuid
444312	UNIMPL	NOHIDE	setresgid
445313	OBSOL	NOHIDE	signanosleep
446314     STD     BSD     { int aio_return(struct aiocb *aiocbp); }
447315     STD     BSD     { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
448316     STD     BSD     { int aio_cancel(int fd, struct aiocb *aiocbp); }
449317     STD     BSD     { int aio_error(struct aiocb *aiocbp); }
450318     STD     BSD     { int aio_read(struct aiocb *aiocbp); }
451319     STD     BSD     { int aio_write(struct aiocb *aiocbp); }
452320     STD     BSD     { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
453321     STD     BSD     { int yield(void); }
454322     STD     BSD     { int thr_sleep(const struct timespec *timeout); }
455323     STD     BSD     { int thr_wakeup(pid_t pid); }
456324     STD     BSD     { int mlockall(int how); }
457325     STD     BSD     { int munlockall(void); }
458326     STD     BSD     { int __getcwd(u_char *buf, u_int buflen); }
459
460327     STD     POSIX   { int sched_setparam (pid_t pid, const struct sched_param *param); }
461328     STD     POSIX   { int sched_getparam (pid_t pid, struct sched_param *param); }
462
463329     STD     POSIX   { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
464330     STD     POSIX   { int sched_getscheduler (pid_t pid); }
465
466331     STD     POSIX   { int sched_yield (void); }
467332     STD     POSIX   { int sched_get_priority_max (int policy); }
468333     STD     POSIX   { int sched_get_priority_min (int policy); }
469334     STD     POSIX   { int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
470335	STD	BSD	{ int utrace(caddr_t addr, size_t len); }
471