syscalls.master revision 77386
1 $FreeBSD: head/sys/kern/syscalls.master 77386 2001-05-29 09:22:22Z phk $
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, NOSTD
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;	NOSTD	implemented but as a lkm that can be statically
28;			compiled in sysent entry will be filled with lkmsys
29;			so the SYSCALL_MODULE macro works
30
31; #ifdef's, etc. may be included, and are copied to the output files.
32
33#include <sys/param.h>
34#include <sys/sysent.h>
35#include <sys/sysproto.h>
36
37; Reserved/unimplemented system calls in the range 0-150 inclusive
38; are reserved for use in future Berkeley releases.
39; Additional system calls implemented in vendor and other
40; redistributions should be placed in the reserved range at the end
41; of the current calls.
42
430	STD	NOHIDE	{ int nosys(void); } syscall nosys_args int
441	STD	NOHIDE	{ void sys_exit(int rval); } exit sys_exit_args void
452	STD	POSIX	{ int fork(void); }
463	STD	POSIX	{ ssize_t read(int fd, void *buf, size_t nbyte); }
474	STD	POSIX	{ ssize_t write(int fd, const void *buf, size_t nbyte); }
485	STD	POSIX	{ int open(char *path, int flags, int mode); }
49; XXX should be		{ int open(const char *path, int flags, ...); }
50; but we're not ready for `const' or varargs.
51; XXX man page says `mode_t mode'.
526	STD	POSIX	{ int close(int fd); }
537	STD	BSD	{ int wait4(int pid, int *status, int options, \
54			    struct rusage *rusage); } wait4 wait_args int
558	COMPAT	BSD	{ int creat(char *path, int mode); }
569	STD	POSIX	{ int link(char *path, char *link); }
5710	STD	POSIX	{ int unlink(char *path); }
5811	OBSOL	NOHIDE	execv
5912	STD	POSIX	{ int chdir(char *path); }
6013	STD	BSD	{ int fchdir(int fd); }
6114	STD	POSIX	{ int mknod(char *path, int mode, int dev); }
6215	STD	POSIX	{ int chmod(char *path, int mode); }
6316	STD	POSIX	{ int chown(char *path, int uid, int gid); }
6417	MPSAFE	STD	BSD	{ int obreak(char *nsize); } break obreak_args int
6518	STD	BSD	{ int getfsstat(struct statfs *buf, long bufsize, \
66			    int flags); }
6719	COMPAT	POSIX	{ long lseek(int fd, long offset, int whence); }
6820	STD	POSIX	{ pid_t getpid(void); }
6921	STD	BSD	{ int mount(char *type, char *path, int flags, \
70			    caddr_t data); }
71; XXX `path' should have type `const char *' but we're not ready for that.
7222	STD	BSD	{ int unmount(char *path, int flags); }
7323	STD	POSIX	{ int setuid(uid_t uid); }
7424	MPSAFE	STD	POSIX	{ uid_t getuid(void); }
7525	MPSAFE	STD	POSIX	{ uid_t geteuid(void); }
7626	STD	BSD	{ int ptrace(int req, pid_t pid, caddr_t addr, \
77			    int data); }
7827	STD	BSD	{ int recvmsg(int s, struct msghdr *msg, int flags); }
7928	STD	BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
8029	STD	BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
81			    int flags, caddr_t from, int *fromlenaddr); }
8230	STD	BSD	{ int accept(int s, caddr_t name, int *anamelen); }
8331	STD	BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
8432	STD	BSD	{ int getsockname(int fdes, caddr_t asa, int *alen); }
8533	STD	POSIX	{ int access(char *path, int flags); }
8634	STD	BSD	{ int chflags(char *path, int flags); }
8735	STD	BSD	{ int fchflags(int fd, int flags); }
8836	STD	BSD	{ int sync(void); }
8937	STD	POSIX	{ int kill(int pid, int signum); }
9038	COMPAT	POSIX	{ int stat(char *path, struct ostat *ub); }
9139	STD	POSIX	{ pid_t getppid(void); }
9240	COMPAT	POSIX	{ int lstat(char *path, struct ostat *ub); }
9341	STD	POSIX	{ int dup(u_int fd); }
9442	STD	POSIX	{ int pipe(void); }
9543	STD	POSIX	{ gid_t getegid(void); }
9644	STD	BSD	{ int profil(caddr_t samples, size_t size, \
97			    size_t offset, u_int scale); }
9845	STD	BSD	{ int ktrace(const char *fname, int ops, int facs, \
99			    int pid); }
10046	COMPAT	POSIX	{ int sigaction(int signum, struct osigaction *nsa, \
101			    struct osigaction *osa); }
10247	MPSAFE	STD	POSIX	{ gid_t getgid(void); }
10348	MPSAFE	COMPAT	POSIX	{ int sigprocmask(int how, osigset_t mask); }
104; XXX note nonstandard (bogus) calling convention - the libc stub passes
105; us the mask, not a pointer to it, and we return the old mask as the
106; (int) return value.
10749	STD	BSD	{ int getlogin(char *namebuf, u_int namelen); }
10850	STD	BSD	{ int setlogin(char *namebuf); }
10951	STD	BSD	{ int acct(char *path); }
11052	COMPAT	POSIX	{ int sigpending(void); }
11153	STD	BSD	{ int sigaltstack(stack_t *ss, stack_t *oss); }
11254	STD	POSIX	{ int ioctl(int fd, u_long com, caddr_t data); }
11355	STD	BSD	{ int reboot(int opt); }
11456	STD	POSIX	{ int revoke(char *path); }
11557	STD	POSIX	{ int symlink(char *path, char *link); }
11658	STD	POSIX	{ int readlink(char *path, char *buf, int count); }
11759	STD	POSIX	{ int execve(char *fname, char **argv, char **envv); }
11860	MPSAFE	STD	POSIX	{ int umask(int newmask); } umask umask_args int
11961	STD	BSD	{ int chroot(char *path); }
12062	COMPAT	POSIX	{ int fstat(int fd, struct ostat *sb); }
12163	COMPAT	BSD	{ int getkerninfo(int op, char *where, size_t *size, \
122			    int arg); } getkerninfo getkerninfo_args int
12364	MPSAFE	COMPAT	BSD	{ int getpagesize(void); } \
124			    getpagesize getpagesize_args int
12565	STD	BSD	{ int msync(void *addr, size_t len, int flags); }
12666	STD	BSD	{ int vfork(void); }
12767	OBSOL	NOHIDE	vread
12868	OBSOL	NOHIDE	vwrite
12969	MPSAFE	STD	BSD	{ int sbrk(int incr); }
13070	MPSAFE	STD	BSD	{ int sstk(int incr); }
13171	MPSAFE	COMPAT	BSD	{ int mmap(void *addr, int len, int prot, \
132			    int flags, int fd, long pos); }
13372	MPSAFE	STD	BSD	{ int ovadvise(int anom); } vadvise ovadvise_args int
13473	MPSAFE	STD	BSD	{ int munmap(void *addr, size_t len); }
13574	MPSAFE	STD	BSD	{ int mprotect(const void *addr, size_t len, int prot); }
13675	MPSAFE	STD	BSD	{ int madvise(void *addr, size_t len, int behav); }
13776	OBSOL	NOHIDE	vhangup
13877	OBSOL	NOHIDE	vlimit
13978	MPSAFE	STD	BSD	{ int mincore(const void *addr, size_t len, \
140			    char *vec); }
14179	STD	POSIX	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
14280	STD	POSIX	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
14381	MPSAFE	STD	POSIX	{ int getpgrp(void); }
14482	STD	POSIX	{ int setpgid(int pid, int pgid); }
14583	STD	BSD	{ int setitimer(u_int which, struct itimerval *itv, \
146			    struct itimerval *oitv); }
14784	COMPAT	BSD	{ int wait(void); }
14885	STD	BSD	{ int swapon(char *name); }
14986	STD	BSD	{ int getitimer(u_int which, struct itimerval *itv); }
15087	COMPAT	BSD	{ int gethostname(char *hostname, u_int len); } \
151			    gethostname gethostname_args int
15288	COMPAT	BSD	{ int sethostname(char *hostname, u_int len); } \
153			    sethostname sethostname_args int
15489	STD	BSD	{ int getdtablesize(void); }
15590	STD	POSIX	{ int dup2(u_int from, u_int to); }
15691	UNIMPL	BSD	getdopt
15792	STD	POSIX	{ int fcntl(int fd, int cmd, long arg); }
158; XXX should be		{ int fcntl(int fd, int cmd, ...); }
159; but we're not ready for varargs.
160; XXX man page says `int arg' too.
16193	STD	BSD	{ int select(int nd, fd_set *in, fd_set *ou, \
162			    fd_set *ex, struct timeval *tv); }
16394	UNIMPL	BSD	setdopt
16495	STD	POSIX	{ int fsync(int fd); }
16596	STD	BSD	{ int setpriority(int which, int who, int prio); }
16697	STD	BSD	{ int socket(int domain, int type, int protocol); }
16798	STD	BSD	{ int connect(int s, caddr_t name, int namelen); }
16899	CPT_NOA	BSD	{ int accept(int s, caddr_t name, int *anamelen); } \
169			    accept accept_args int
170100	STD	BSD	{ int getpriority(int which, int who); }
171101	COMPAT	BSD	{ int send(int s, caddr_t buf, int len, int flags); }
172102	COMPAT	BSD	{ int recv(int s, caddr_t buf, int len, int flags); }
173103	COMPAT	BSD	{ int sigreturn(struct osigcontext *sigcntxp); }
174104	STD	BSD	{ int bind(int s, caddr_t name, int namelen); }
175105	STD	BSD	{ int setsockopt(int s, int level, int name, \
176			    caddr_t val, int valsize); }
177106	STD	BSD	{ int listen(int s, int backlog); }
178107	OBSOL	NOHIDE	vtimes
179108	COMPAT	BSD	{ int sigvec(int signum, struct sigvec *nsv, \
180			    struct sigvec *osv); }
181109	COMPAT	BSD	{ int sigblock(int mask); }
182110	COMPAT	BSD	{ int sigsetmask(int mask); }
183111	COMPAT	POSIX	{ int sigsuspend(osigset_t mask); }
184; XXX note nonstandard (bogus) calling convention - the libc stub passes
185; us the mask, not a pointer to it.
186112	COMPAT	BSD	{ int sigstack(struct sigstack *nss, \
187			    struct sigstack *oss); }
188113	COMPAT	BSD	{ int recvmsg(int s, struct omsghdr *msg, int flags); }
189114	COMPAT	BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
190115	OBSOL	NOHIDE	vtrace
191116	MPSAFE	STD	BSD	{ int gettimeofday(struct timeval *tp, \
192			    struct timezone *tzp); }
193117	STD	BSD	{ int getrusage(int who, struct rusage *rusage); }
194118	STD	BSD	{ int getsockopt(int s, int level, int name, \
195			    caddr_t val, int *avalsize); }
196119	UNIMPL	NOHIDE	resuba (BSD/OS 2.x)
197120	STD	BSD	{ int readv(int fd, struct iovec *iovp, u_int iovcnt); }
198121	STD	BSD	{ int writev(int fd, struct iovec *iovp, \
199			    u_int iovcnt); }
200122	STD	BSD	{ int settimeofday(struct timeval *tv, \
201			    struct timezone *tzp); }
202123	STD	BSD	{ int fchown(int fd, int uid, int gid); }
203124	STD	BSD	{ int fchmod(int fd, int mode); }
204125	CPT_NOA	BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
205			    int flags, caddr_t from, int *fromlenaddr); } \
206			    recvfrom recvfrom_args int
207126	STD	BSD	{ int setreuid(int ruid, int euid); }
208127	STD	BSD	{ int setregid(int rgid, int egid); }
209128	STD	POSIX	{ int rename(char *from, char *to); }
210129	COMPAT	BSD	{ int truncate(char *path, long length); }
211130	COMPAT	BSD	{ int ftruncate(int fd, long length); }
212131	STD	BSD	{ int flock(int fd, int how); }
213132	STD	POSIX	{ int mkfifo(char *path, int mode); }
214133	STD	BSD	{ int sendto(int s, caddr_t buf, size_t len, \
215			    int flags, caddr_t to, int tolen); }
216134	STD	BSD	{ int shutdown(int s, int how); }
217135	STD	BSD	{ int socketpair(int domain, int type, int protocol, \
218			    int *rsv); }
219136	STD	POSIX	{ int mkdir(char *path, int mode); }
220137	STD	POSIX	{ int rmdir(char *path); }
221138	STD	BSD	{ int utimes(char *path, struct timeval *tptr); }
222139	OBSOL	NOHIDE	4.2 sigreturn
223140	STD	BSD	{ int adjtime(struct timeval *delta, \
224			    struct timeval *olddelta); }
225141	COMPAT	BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
226142	COMPAT	BSD	{ long gethostid(void); }
227143	COMPAT	BSD	{ int sethostid(long hostid); }
228144	COMPAT	BSD	{ int getrlimit(u_int which, struct orlimit *rlp); }
229145	COMPAT	BSD	{ int setrlimit(u_int which, struct orlimit *rlp); }
230146	COMPAT	BSD	{ int killpg(int pgid, int signum); }
231147	STD	POSIX	{ int setsid(void); }
232148	STD	BSD	{ int quotactl(char *path, int cmd, int uid, \
233			    caddr_t arg); }
234149	COMPAT	BSD	{ int quota(void); }
235150	CPT_NOA	BSD	{ int getsockname(int fdec, caddr_t asa, int *alen); }\
236			    getsockname getsockname_args int
237
238; Syscalls 151-180 inclusive are reserved for vendor-specific
239; system calls.  (This includes various calls added for compatibity
240; with other Unix variants.)
241; Some of these calls are now supported by BSD...
242151	UNIMPL	NOHIDE	sem_lock (BSD/OS 2.x)
243152	UNIMPL	NOHIDE	sem_wakeup (BSD/OS 2.x)
244153	UNIMPL	NOHIDE	asyncdaemon (BSD/OS 2.x)
245154	UNIMPL	NOHIDE	nosys
246; 155 is initialized by the NFS code, if present.
247155	NOIMPL	BSD	{ int nfssvc(int flag, caddr_t argp); }
248156	COMPAT	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
249			    long *basep); }
250157	STD	BSD	{ int statfs(char *path, struct statfs *buf); }
251158	STD	BSD	{ int fstatfs(int fd, struct statfs *buf); }
252159	UNIMPL	NOHIDE	nosys
253160	UNIMPL	NOHIDE	nosys
254161	STD	BSD	{ int getfh(char *fname, struct fhandle *fhp); }
255162	STD	BSD	{ int getdomainname(char *domainname, int len); }
256163	STD	BSD	{ int setdomainname(char *domainname, int len); }
257164	STD	BSD	{ int uname(struct utsname *name); }
258165	STD	BSD	{ int sysarch(int op, char *parms); }
259166	STD	BSD	{ int rtprio(int function, pid_t pid, \
260			    struct rtprio *rtp); }
261167	UNIMPL	NOHIDE	nosys
262168	UNIMPL	NOHIDE	nosys
263; 169 is initialized by the SYSVSEM code if present or loaded
264169	NOSTD	BSD	{ int semsys(int which, int a2, int a3, int a4, \
265			    int a5); }
266; 169 is initialized by the SYSVMSG code if present or loaded
267; XXX should be		{ int semsys(int which, ...); }
268170	NOSTD	BSD	{ int msgsys(int which, int a2, int a3, int a4, \
269			    int a5, int a6); }
270; 169 is initialized by the SYSVSHM code if present or loaded
271; XXX should be		{ int msgsys(int which, ...); }
272171	NOSTD	BSD	{ int shmsys(int which, int a2, int a3, int a4); }
273; XXX should be		{ int shmsys(int which, ...); }
274172	UNIMPL	NOHIDE	nosys
275173	STD	POSIX	{ ssize_t pread(int fd, void *buf, size_t nbyte, \
276			    int pad, off_t offset); }
277174	STD	POSIX	{ ssize_t pwrite(int fd, const void *buf, \
278			    size_t nbyte, int pad, off_t offset); }
279175	UNIMPL	NOHIDE	nosys
280176	STD	BSD	{ int ntp_adjtime(struct timex *tp); }
281177	UNIMPL	NOHIDE	sfork (BSD/OS 2.x)
282178	UNIMPL	NOHIDE	getdescriptor (BSD/OS 2.x)
283179	UNIMPL	NOHIDE	setdescriptor (BSD/OS 2.x)
284180	UNIMPL	NOHIDE	nosys
285
286; Syscalls 181-199 are used by/reserved for BSD
287181	STD	POSIX	{ int setgid(gid_t gid); }
288182	STD	BSD	{ int setegid(gid_t egid); }
289183	STD	BSD	{ int seteuid(uid_t euid); }
290184	UNIMPL	BSD	lfs_bmapv
291185	UNIMPL	BSD	lfs_markv
292186	UNIMPL	BSD	lfs_segclean
293187	UNIMPL	BSD	lfs_segwait
294188	STD	POSIX	{ int stat(char *path, struct stat *ub); }
295189	STD	POSIX	{ int fstat(int fd, struct stat *sb); }
296190	STD	POSIX	{ int lstat(char *path, struct stat *ub); }
297191	STD	POSIX	{ int pathconf(char *path, int name); }
298192	STD	POSIX	{ int fpathconf(int fd, int name); }
299193	UNIMPL	NOHIDE	nosys
300194	STD	BSD	{ int getrlimit(u_int which, \
301			    struct rlimit *rlp); } \
302			    getrlimit __getrlimit_args int
303195	STD	BSD	{ int setrlimit(u_int which, \
304			    struct rlimit *rlp); } \
305			    setrlimit __setrlimit_args int
306196	STD	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
307			    long *basep); }
308197	MPSAFE	STD	BSD	{ caddr_t mmap(caddr_t addr, size_t len, int prot, \
309			    int flags, int fd, int pad, off_t pos); }
310198	STD	NOHIDE	{ int nosys(void); } __syscall __syscall_args int
311199	STD	POSIX	{ off_t lseek(int fd, int pad, off_t offset, \
312			    int whence); }
313200	STD	BSD	{ int truncate(char *path, int pad, off_t length); }
314201	STD	BSD	{ int ftruncate(int fd, int pad, off_t length); }
315202	STD	BSD	{ int __sysctl(int *name, u_int namelen, void *old, \
316			    size_t *oldlenp, void *new, size_t newlen); } \
317			    __sysctl sysctl_args int
318; properly, __sysctl should be a NOHIDE, but making an exception
319; here allows to avoid one in libc/sys/Makefile.inc.
320203	MPSAFE	STD	BSD	{ int mlock(const void *addr, size_t len); }
321204	MPSAFE	STD	BSD	{ int munlock(const void *addr, size_t len); }
322205	STD	BSD	{ int undelete(char *path); }
323206	STD	BSD	{ int futimes(int fd, struct timeval *tptr); }
324207	STD	BSD	{ int getpgid(pid_t pid); }
325208	UNIMPL	NOHIDE	newreboot (NetBSD)
326209	STD	BSD	{ int poll(struct pollfd *fds, u_int nfds, \
327			    int timeout); }
328
329;
330; The following are reserved for loadable syscalls
331;
332210	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
333211	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
334212	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
335213	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
336214	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
337215	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
338216	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
339217	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
340218	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
341219	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
342
343;
344; The following were introduced with NetBSD/4.4Lite-2
345; They are initialized by thier respective modules/sysinits
346220	NOSTD	BSD	{ int __semctl(int semid, int semnum, int cmd, \
347			    union semun *arg); }
348221	NOSTD	BSD	{ int semget(key_t key, int nsems, int semflg); }
349222	NOSTD	BSD	{ int semop(int semid, struct sembuf *sops, \
350			    u_int nsops); }
351223	UNIMPL	NOHIDE	semconfig
352224	NOSTD	BSD	{ int msgctl(int msqid, int cmd, \
353			    struct msqid_ds *buf); }
354225	NOSTD	BSD	{ int msgget(key_t key, int msgflg); }
355226	NOSTD	BSD	{ int msgsnd(int msqid, void *msgp, size_t msgsz, \
356			    int msgflg); }
357227	NOSTD	BSD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
358			    long msgtyp, int msgflg); }
359228	NOSTD	BSD	{ int shmat(int shmid, void *shmaddr, int shmflg); }
360229	NOSTD	BSD	{ int shmctl(int shmid, int cmd, \
361			    struct shmid_ds *buf); }
362230	NOSTD	BSD	{ int shmdt(void *shmaddr); }
363231	NOSTD	BSD	{ int shmget(key_t key, int size, int shmflg); }
364;
365232	STD	POSIX	{ int clock_gettime(clockid_t clock_id, \
366			    struct timespec *tp); }
367233	STD	POSIX	{ int clock_settime(clockid_t clock_id, \
368			    const struct timespec *tp); }
369234	STD	POSIX	{ int clock_getres(clockid_t clock_id, \
370			    struct timespec *tp); }
371235	UNIMPL	NOHIDE	timer_create
372236	UNIMPL	NOHIDE	timer_delete
373237	UNIMPL	NOHIDE	timer_settime
374238	UNIMPL	NOHIDE	timer_gettime
375239	UNIMPL	NOHIDE	timer_getoverrun
376240	STD	POSIX	{ int nanosleep(const struct timespec *rqtp, \
377			    struct timespec *rmtp); }
378241	UNIMPL	NOHIDE	nosys
379242	UNIMPL	NOHIDE	nosys
380243	UNIMPL	NOHIDE	nosys
381244	UNIMPL	NOHIDE	nosys
382245	UNIMPL	NOHIDE	nosys
383246	UNIMPL	NOHIDE	nosys
384247	UNIMPL	NOHIDE	nosys
385248	UNIMPL	NOHIDE	nosys
386249	UNIMPL	NOHIDE	nosys
387; syscall numbers initially used in OpenBSD
388250	MPSAFE	STD	BSD	{ int minherit(void *addr, size_t len, int inherit); }
389251	STD	BSD	{ int rfork(int flags); }
390252	STD	BSD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
391			    int timeout); }
392253	STD	BSD	{ int issetugid(void); }
393254	STD	BSD	{ int lchown(char *path, int uid, int gid); }
394255	UNIMPL	NOHIDE	nosys
395256	UNIMPL	NOHIDE	nosys
396257	UNIMPL	NOHIDE	nosys
397258	UNIMPL	NOHIDE	nosys
398259	UNIMPL	NOHIDE	nosys
399260	UNIMPL	NOHIDE	nosys
400261	UNIMPL	NOHIDE	nosys
401262	UNIMPL	NOHIDE	nosys
402263	UNIMPL	NOHIDE	nosys
403264	UNIMPL	NOHIDE	nosys
404265	UNIMPL	NOHIDE	nosys
405266	UNIMPL	NOHIDE	nosys
406267	UNIMPL	NOHIDE	nosys
407268	UNIMPL	NOHIDE	nosys
408269	UNIMPL	NOHIDE	nosys
409270	UNIMPL	NOHIDE	nosys
410271	UNIMPL	NOHIDE	nosys
411272	STD	BSD	{ int getdents(int fd, char *buf, size_t count); }
412273	UNIMPL	NOHIDE	nosys
413274	STD	BSD	{ int lchmod(char *path, mode_t mode); }
414275	NOPROTO BSD	{ int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int
415276	STD	BSD	{ int lutimes(char *path, struct timeval *tptr); }
416277	MPSAFE	NOPROTO	BSD	{ int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int
417278	STD	BSD	{ int nstat(char *path, struct nstat *ub); }
418279	STD	BSD	{ int nfstat(int fd, struct nstat *sb); }
419280	STD	BSD	{ int nlstat(char *path, struct nstat *ub); }
420281	UNIMPL	NOHIDE	nosys
421282	UNIMPL	NOHIDE	nosys
422283	UNIMPL	NOHIDE	nosys
423284	UNIMPL	NOHIDE	nosys
424285	UNIMPL	NOHIDE	nosys
425286	UNIMPL	NOHIDE	nosys
426287	UNIMPL	NOHIDE	nosys
427288	UNIMPL	NOHIDE	nosys
428289	UNIMPL	NOHIDE	nosys
429290	UNIMPL	NOHIDE	nosys
430291	UNIMPL	NOHIDE	nosys
431292	UNIMPL	NOHIDE	nosys
432293	UNIMPL	NOHIDE	nosys
433294	UNIMPL	NOHIDE	nosys
434295	UNIMPL	NOHIDE	nosys
435296	UNIMPL	NOHIDE	nosys
436; XXX 297 is 300 in NetBSD 
437297	STD	BSD	{ int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
438298	STD	BSD	{ int fhopen(const struct fhandle *u_fhp, int flags); }
439299	STD	BSD 	{ int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
440; syscall numbers for FreeBSD
441300	STD	BSD	{ int modnext(int modid); }
442301	STD	BSD	{ int modstat(int modid, struct module_stat* stat); }
443302	STD	BSD	{ int modfnext(int modid); }
444303	STD	BSD	{ int modfind(const char *name); }
445304	STD	BSD	{ int kldload(const char *file); }
446305	STD	BSD	{ int kldunload(int fileid); }
447306	STD	BSD	{ int kldfind(const char *file); }
448307	STD	BSD	{ int kldnext(int fileid); }
449308	STD	BSD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
450309	STD	BSD	{ int kldfirstmod(int fileid); }
451310	STD	BSD	{ int getsid(pid_t pid); }
452311	STD	BSD	{ int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
453312	STD	BSD	{ int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
454313	OBSOL	NOHIDE	signanosleep
455314     STD     BSD     { int aio_return(struct aiocb *aiocbp); }
456315     STD     BSD     { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
457316     STD     BSD     { int aio_cancel(int fd, struct aiocb *aiocbp); }
458317     STD     BSD     { int aio_error(struct aiocb *aiocbp); }
459318     STD     BSD     { int aio_read(struct aiocb *aiocbp); }
460319     STD     BSD     { int aio_write(struct aiocb *aiocbp); }
461320     STD     BSD     { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
462321     STD     BSD     { int yield(void); }
463322	OBSOL	NOHIDE	thr_sleep
464323	OBSOL	NOHIDE	thr_wakeup
465324     MPSAFE	STD     BSD     { int mlockall(int how); }
466325     MPSAFE	STD     BSD     { int munlockall(void); }
467326     STD     BSD     { int __getcwd(u_char *buf, u_int buflen); }
468
469327     STD     POSIX   { int sched_setparam (pid_t pid, const struct sched_param *param); }
470328     STD     POSIX   { int sched_getparam (pid_t pid, struct sched_param *param); }
471
472329     STD     POSIX   { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
473330     STD     POSIX   { int sched_getscheduler (pid_t pid); }
474
475331     STD     POSIX   { int sched_yield (void); }
476332     STD     POSIX   { int sched_get_priority_max (int policy); }
477333     STD     POSIX   { int sched_get_priority_min (int policy); }
478334     STD     POSIX   { int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
479335	STD	BSD	{ int utrace(const void *addr, size_t len); }
480336	STD	BSD	{ int sendfile(int fd, int s, off_t offset, size_t nbytes, \
481				struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
482337	STD	BSD	{ int kldsym(int fileid, int cmd, void *data); }
483338	STD	BSD	{ int jail(struct jail *jail); }
484339	UNIMPL	BSD	pioctl
485340	MPSAFE	STD	POSIX	{ int sigprocmask(int how, const sigset_t *set, \
486			    sigset_t *oset); }
487341	STD	POSIX	{ int sigsuspend(const sigset_t *sigmask); }
488342	STD	POSIX	{ int sigaction(int sig, const struct sigaction *act, \
489			    struct sigaction *oact); }
490343	STD	POSIX	{ int sigpending(sigset_t *set); }
491344	STD	BSD	{ int sigreturn(ucontext_t *sigcntxp); }
492345	UNIMPL	NOHIDE	sigtimedwait
493346	UNIMPL	NOHIDE	sigwaitinfo
494347	STD	BSD	{ int __acl_get_file(const char *path, \
495			    acl_type_t type, struct acl *aclp); }
496348	STD	BSD	{ int __acl_set_file(const char *path, \
497			    acl_type_t type, struct acl *aclp); }
498349	STD	BSD	{ int __acl_get_fd(int filedes, acl_type_t type, \
499			    struct acl *aclp); }
500350	STD	BSD	{ int __acl_set_fd(int filedes, acl_type_t type, \
501			    struct acl *aclp); }
502351	STD	BSD	{ int __acl_delete_file(const char *path, \
503			    acl_type_t type); }
504352	STD	BSD	{ int __acl_delete_fd(int filedes, acl_type_t type); }
505353	STD	BSD	{ int __acl_aclcheck_file(const char *path, \
506			    acl_type_t type, struct acl *aclp); }
507354	STD	BSD	{ int __acl_aclcheck_fd(int filedes, acl_type_t type, \
508			    struct acl *aclp); }
509355	STD	BSD	{ int extattrctl(const char *path, int cmd, \
510			    const char *filename, int attrnamespace, \
511			    const char *attrname); }
512356	STD	BSD	{ int extattr_set_file(const char *path, \
513			    int attrnamespace, const char *attrname, \
514			    struct iovec *iovp, unsigned iovcnt); }
515357	STD	BSD	{ int extattr_get_file(const char *path, \
516			    int attrnamespace, const char *attrname, \
517			    struct iovec *iovp, unsigned iovcnt); }
518358	STD	BSD	{ int extattr_delete_file(const char *path, \
519			    int attrnamespace, const char *attrname); }
520359	STD	BSD	{ int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); }
521360	STD	BSD	{ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
522361	STD	BSD	{ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
523362	STD	BSD	{ int kqueue(void); }
524363	STD	BSD	{ int kevent(int fd, \
525			    const struct kevent *changelist, int nchanges, \
526			    struct kevent *eventlist, int nevents, \
527			    const struct timespec *timeout); }
528364	STD	BSD	{ int __cap_get_proc(struct cap *cap_p); }
529365	STD	BSD	{ int __cap_set_proc(struct cap *cap_p); }
530366	STD	BSD	{ int __cap_get_fd(int fd, struct cap *cap_p); }
531367	STD	BSD	{ int __cap_get_file(const char *path_p, struct cap *cap_p); }
532368	STD	BSD	{ int __cap_set_fd(int fd, struct cap *cap_p); }
533369	STD	BSD	{ int __cap_set_file(const char *path_p, struct cap *cap_p); }
534370	NODEF	NOHIDE	lkmressys lkmressys nosys_args int
535371	STD	BSD	{ int extattr_set_fd(int fd, int attrnamespace, \
536			    const char *attrname, struct iovec *iovp, \
537			    int iovcnt); }
538372	STD	BSD	{ int extattr_get_fd(int fd, int attrnamespace, \
539			    const char *attrname, struct iovec *iovp, \
540			    int iovcnt); }
541373	STD	BSD	{ int extattr_delete_fd(int fd, int attrnamespace, \
542			    const char *attrname); }
543374	STD	BSD	{ int __setugid(int flag); }
544