syscalls.master revision 151582
1 $FreeBSD: head/sys/compat/freebsd32/syscalls.master 151582 2005-10-23 10:43:14Z ps $
2;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
3;	from: src/sys/kern/syscalls.master 1.107
4;
5; System call name/number master file.
6; Processed to created init_sysent.c, syscalls.c and syscall.h.
7
8; Columns: number [M]type nargs name alt{name,tag,rtyp}/comments
9;	number	system call number, must be in order
10;	audit	the audit event associated with the system call
11;		A value of AUE_NULL means no auditing, but it also means that
12;		there is no audit event for the call at this time. For the
13;		case where the event exists, but we don't want auditing, the
14;		event should be #defined to AUE_NULL in audit_kevents.h.
15;	type	one of [M]STD, [M]OBSOL, [M]UNIMPL, [M]COMPAT, [M]CPT_NOA,
16;		[M]LIBCOMPAT, [M]NODEF,  [M]NOARGS,  [M]NOPROTO,  [M]NOIMPL,
17;		[M]NOSTD
18;	name	psuedo-prototype of syscall routine
19;		If one of the following alts is different, then all appear:
20;	altname	name of system call if different
21;	alttag	name of args struct tag if different from [o]`name'"_args"
22;	altrtyp	return type if not int (bogus - syscalls always return int)
23;		for UNIMPL/OBSOL, name continues with comments
24
25; types:
26;	[M]	e.g. like MSTD -- means the system call is MP-safe.  If no
27;		M prefix is used, the syscall wrapper will obtain the Giant
28;		lock for the syscall.
29;	STD	always included
30;	COMPAT	included on COMPAT #ifdef
31;	LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
32;	OBSOL	obsolete, not included in system, only specifies name
33;	UNIMPL	not implemented, placeholder only
34;	NOSTD	implemented but as a lkm that can be statically
35;			compiled in sysent entry will be filled with lkmsys
36;			so the SYSCALL_MODULE macro works
37
38; #ifdef's, etc. may be included, and are copied to the output files.
39
40#include <sys/param.h>
41#include <sys/sysent.h>
42#include <sys/sysproto.h>
43#include <sys/mount.h>
44#include <compat/freebsd32/freebsd32.h>
45#include <compat/freebsd32/freebsd32_proto.h>
46
47; Reserved/unimplemented system calls in the range 0-150 inclusive
48; are reserved for use in future Berkeley releases.
49; Additional system calls implemented in vendor and other
50; redistributions should be placed in the reserved range at the end
51; of the current calls.
52
530	AUE_NULL	MNOPROTO { int nosys(void); } syscall nosys_args int
541	AUE_NULL	MNOPROTO { void sys_exit(int rval); } exit \
55				    sys_exit_args void
562	AUE_NULL	MNOPROTO { int fork(void); }
573	AUE_NULL	MNOPROTO { ssize_t read(int fd, void *buf, \
58				    size_t nbyte); }
594	AUE_NULL	MNOPROTO { ssize_t write(int fd, const void *buf, \
60				    size_t nbyte); }
615	AUE_NULL	MNOPROTO { int open(char *path, int flags, \
62				    int mode); }
636	AUE_NULL	MNOPROTO { int close(int fd); }
647	AUE_NULL	MSTD	{ int freebsd32_wait4(int pid, int *status, \
65				    int options, struct rusage32 *rusage); }
668	AUE_NULL	OBSOL	old creat
679	AUE_NULL	MNOPROTO { int link(char *path, char *link); }
6810	AUE_NULL	MNOPROTO { int unlink(char *path); }
6911	AUE_NULL	OBSOL	execv
7012	AUE_NULL	MNOPROTO	{ int chdir(char *path); }
7113	AUE_NULL	MNOPROTO	{ int fchdir(int fd); }
7214	AUE_NULL	MNOPROTO	{ int mknod(char *path, int mode, int dev); }
7315	AUE_NULL	MNOPROTO	{ int chmod(char *path, int mode); }
7416	AUE_NULL	MNOPROTO	{ int chown(char *path, int uid, int gid); }
7517	AUE_NULL	MNOPROTO { int obreak(char *nsize); } break \
76				    obreak_args int
7718	AUE_NULL	MCOMPAT4	{ int freebsd32_getfsstat( \
78				    struct statfs32 *buf, long bufsize, \
79				    int flags); }
8019	AUE_NULL	OBSOL	olseek
8120	AUE_NULL	MNOPROTO { pid_t getpid(void); }
8221	AUE_NULL	NOPROTO { int mount(char *type, char *path, \
83				    int flags, caddr_t data); }
8422	AUE_NULL	NOPROTO { int unmount(char *path, int flags); }
8523	AUE_NULL	MNOPROTO { int setuid(uid_t uid); }
8624	AUE_NULL	MNOPROTO { uid_t getuid(void); }
8725	AUE_NULL	MNOPROTO { uid_t geteuid(void); }
8826	AUE_NULL	MNOPROTO { int ptrace(int req, pid_t pid, \
89				    caddr_t addr, int data); }
90; XXX implement
9127	AUE_NULL	MSTD	 { int freebsd32_recvmsg(int s, struct msghdr32 *msg, \
92				    int flags); }
9328	AUE_NULL	MSTD	 { int freebsd32_sendmsg(int s, struct msghdr32 *msg, \
94				    int flags); }
9529	AUE_NULL	MSTD	 { int freebsd32_recvfrom(int s, u_int32_t buf, \
96				    u_int32_t len, int flags, u_int32_t from, \
97				    u_int32_t fromlenaddr); }
9830	AUE_NULL	MNOPROTO { int accept(int s, caddr_t name, \
99				    int *anamelen); }
10031	AUE_NULL	MNOPROTO { int getpeername(int fdes, caddr_t asa, \
101				    int *alen); }
10232	AUE_NULL	MNOPROTO { int getsockname(int fdes, caddr_t asa, \
103				    int *alen); }
10433	AUE_NULL	MNOPROTO	{ int access(char *path, int flags); }
10534	AUE_NULL	MNOPROTO	{ int chflags(char *path, int flags); }
10635	AUE_NULL	MNOPROTO	{ int fchflags(int fd, int flags); }
10736	AUE_NULL	MNOPROTO	{ int sync(void); }
10837	AUE_NULL	MNOPROTO { int kill(int pid, int signum); }
10938	AUE_NULL	UNIMPL	ostat
11039	AUE_NULL	MNOPROTO { pid_t getppid(void); }
11140	AUE_NULL	UNIMPL	olstat
11241	AUE_NULL	MNOPROTO { int dup(u_int fd); }
11342	AUE_NULL	MNOPROTO { int pipe(void); }
11443	AUE_NULL	MNOPROTO { gid_t getegid(void); }
11544	AUE_NULL	MNOPROTO { int profil(caddr_t samples, size_t size, \
116				    size_t offset, u_int scale); }
11745	AUE_NULL	MNOPROTO { int ktrace(const char *fname, int ops, \
118				    int facs, int pid); }
11946	AUE_NULL	MSTD	 { int freebsd3_freebsd32_sigaction( \
120				   int signum, \
121				   struct freebsd3_sigaction32 *nsa, \
122				   struct freebsd3_sigaction32 *osa); }
12347	AUE_NULL	MNOPROTO { gid_t getgid(void); }
12448	AUE_NULL	MSTD	 { int freebsd3_freebsd32_sigprocmask(int how, \
125				   osigset_t mask); }
12649	AUE_NULL	MNOPROTO { int getlogin(char *namebuf, \
127				    u_int namelen); }
12850	AUE_NULL	MNOPROTO { int setlogin(char *namebuf); }
12951	AUE_NULL	MNOPROTO { int acct(char *path); }
13052	AUE_NULL	MSTD	 { int freebsd3_freebsd32_sigpending(void); }
13153	AUE_NULL	MSTD	{ int freebsd32_sigaltstack( \
132				    struct sigaltstack32 *ss, \
133				    struct sigaltstack32 *oss); }
13454	AUE_NULL	MNOPROTO { int ioctl(int fd, u_long com, \
135				    caddr_t data); }
13655	AUE_NULL	MNOPROTO { int reboot(int opt); }
13756	AUE_NULL	MNOPROTO	{ int revoke(char *path); }
13857	AUE_NULL	MNOPROTO	{ int symlink(char *path, char *link); }
13958	AUE_NULL	MNOPROTO	{ int readlink(char *path, char *buf, \
140				    int count); }
14159	AUE_NULL	MSTD	 { int freebsd32_execve(char *fname, \
142				    u_int32_t *argv, u_int32_t *envv); }
14360	AUE_NULL	MNOPROTO { int umask(int newmask); } umask \
144				    umask_args int
14561	AUE_NULL	MNOPROTO	{ int chroot(char *path); }
14662	AUE_NULL	OBSOL	ofstat
14763	AUE_NULL	OBSOL	ogetkerninfo
14864	AUE_NULL	OBSOL	ogetpagesize
149; XXX implement (not OBSOL at all)
15065	AUE_NULL	MNOPROTO { int msync(void *addr, size_t len, \
151				    int flags); }
15266	AUE_NULL	MNOPROTO { int vfork(void); }
15367	AUE_NULL	OBSOL	vread
15468	AUE_NULL	OBSOL	vwrite
15569	AUE_NULL	MNOPROTO { int sbrk(int incr); }
15670	AUE_NULL	MNOPROTO { int sstk(int incr); }
15771	AUE_NULL	OBSOL	ommap
15872	AUE_NULL	MNOPROTO { int ovadvise(int anom); } vadvise \
159				    ovadvise_args int
16073	AUE_NULL	MNOPROTO { int munmap(void *addr, size_t len); }
16174	AUE_NULL	MNOPROTO { int mprotect(const void *addr, \
162				    size_t len, int prot); }
16375	AUE_NULL	MNOPROTO { int madvise(void *addr, size_t len, \
164				    int behav); }
16576	AUE_NULL	OBSOL	vhangup
16677	AUE_NULL	OBSOL	vlimit
16778	AUE_NULL	MNOPROTO { int mincore(const void *addr, size_t len, \
168				    char *vec); }
16979	AUE_NULL	MNOPROTO { int getgroups(u_int gidsetsize, \
170				    gid_t *gidset); }
17180	AUE_NULL	MNOPROTO { int setgroups(u_int gidsetsize, \
172				    gid_t *gidset); }
17381	AUE_NULL	MNOPROTO { int getpgrp(void); }
17482	AUE_NULL	MNOPROTO { int setpgid(int pid, int pgid); }
17583	AUE_NULL	MSTD	{ int freebsd32_setitimer(u_int which, \
176				    struct itimerval32 *itv, \
177				    struct itimerval32 *oitv); }
17884	AUE_NULL	OBSOL	owait
179; XXX implement
18085	AUE_NULL	OBSOL	oswapon
18186	AUE_NULL	MSTD	{ int freebsd32_getitimer(u_int which, \
182				    struct itimerval32 *itv); }
18387	AUE_NULL	OBSOL	ogethostname
18488	AUE_NULL	OBSOL	osethostname
18589	AUE_NULL	MNOPROTO { int getdtablesize(void); }
18690	AUE_NULL	MNOPROTO { int dup2(u_int from, u_int to); }
18791	AUE_NULL	UNIMPL	getdopt
18892	AUE_NULL	MNOPROTO { int fcntl(int fd, int cmd, long arg); }
18993	AUE_NULL	MSTD	{ int freebsd32_select(int nd, fd_set *in, \
190				    fd_set *ou, fd_set *ex, \
191				    struct timeval32 *tv); }
192; XXX need to override for big-endian - little-endian should work fine.
19394	AUE_NULL	UNIMPL	setdopt
19495	AUE_NULL	MNOPROTO	{ int fsync(int fd); }
19596	AUE_NULL	MNOPROTO { int setpriority(int which, int who, \
196				    int prio); }
19797	AUE_NULL	MNOPROTO { int socket(int domain, int type, \
198				    int protocol); }
19998	AUE_NULL	MNOPROTO { int connect(int s, caddr_t name, \
200				    int namelen); }
20199	AUE_NULL	OBSOL	oaccept
202100	AUE_NULL	MNOPROTO { int getpriority(int which, int who); }
203101	AUE_NULL	OBSOL	osend
204102	AUE_NULL	OBSOL	orecv
205103	AUE_NULL	OBSOL	osigreturn
206104	AUE_NULL	MNOPROTO { int bind(int s, caddr_t name, \
207				    int namelen); }
208105	AUE_NULL	MNOPROTO { int setsockopt(int s, int level, \
209				    int name, caddr_t val, int valsize); }
210106	AUE_NULL	MNOPROTO { int listen(int s, int backlog); }
211107	AUE_NULL	OBSOL	vtimes
212108	AUE_NULL	MSTD	 { int freebsd3_freebsd32_sigvec(int signum, \
213				     struct sigvec32 *nsv, \
214				     struct sigvec32 *osv); }
215109	AUE_NULL	MSTD	 { int freebsd3_freebsd32_sigblock(int mask); }
216110	AUE_NULL	MSTD	 { int freebsd3_freebsd32_sigsetmask( \
217				     int mask); }
218111	AUE_NULL	MSTD	 { int freebsd3_freebsd32_sigsuspend( \
219				     int mask); }
220112	AUE_NULL	MSTD	 { int freebsd3_freebsd32_sigstack( \
221				     struct sigstack32 *nss, \
222				     struct sigstack32 *oss); }
223113	AUE_NULL	OBSOL	orecvmsg
224114	AUE_NULL	OBSOL	osendmsg
225115	AUE_NULL	OBSOL	vtrace
226116	AUE_NULL	MSTD	{ int freebsd32_gettimeofday( \
227				    struct timeval32 *tp, \
228				    struct timezone *tzp); }
229117	AUE_NULL	MSTD	{ int freebsd32_getrusage(int who, \
230				    struct rusage32 *rusage); }
231118	AUE_NULL	MNOPROTO { int getsockopt(int s, int level, \
232				    int name, caddr_t val, int *avalsize); }
233119	AUE_NULL	UNIMPL	resuba (BSD/OS 2.x)
234120	AUE_NULL	MSTD	{ int freebsd32_readv(int fd, \
235				    struct iovec32 *iovp, u_int iovcnt); }
236121	AUE_NULL	MSTD	{ int freebsd32_writev(int fd, \
237				    struct iovec32 *iovp, u_int iovcnt); }
238122	AUE_NULL	MSTD	{ int freebsd32_settimeofday( \
239				    struct timeval32 *tv, \
240				    struct timezone *tzp); }
241123	AUE_NULL	MNOPROTO	{ int fchown(int fd, int uid, int gid); }
242124	AUE_NULL	MNOPROTO	{ int fchmod(int fd, int mode); }
243125	AUE_NULL	OBSOL	orecvfrom
244126	AUE_NULL	MNOPROTO { int setreuid(int ruid, int euid); }
245127	AUE_NULL	MNOPROTO { int setregid(int rgid, int egid); }
246128	AUE_NULL	MNOPROTO	{ int rename(char *from, char *to); }
247129	AUE_NULL	OBSOL	otruncate
248130	AUE_NULL	OBSOL	ftruncate
249131	AUE_NULL	MNOPROTO { int flock(int fd, int how); }
250132	AUE_NULL	MNOPROTO	{ int mkfifo(char *path, int mode); }
251133	AUE_NULL	MNOPROTO { int sendto(int s, caddr_t buf, \
252				    size_t len, int flags, caddr_t to, \
253				    int tolen); }
254134	AUE_NULL	MNOPROTO { int shutdown(int s, int how); }
255135	AUE_NULL	MNOPROTO { int socketpair(int domain, int type, \
256				    int protocol, int *rsv); }
257136	AUE_NULL	MNOPROTO	{ int mkdir(char *path, int mode); }
258137	AUE_NULL	MNOPROTO	{ int rmdir(char *path); }
259138	AUE_NULL	MSTD	{ int freebsd32_utimes(char *path, \
260				    struct timeval32 *tptr); }
261139	AUE_NULL	OBSOL	4.2 sigreturn
262140	AUE_NULL	MSTD	{ int freebsd32_adjtime( \
263				    struct timeval32 *delta, \
264				    struct timeval32 *olddelta); }
265141	AUE_NULL	OBSOL	ogetpeername
266142	AUE_NULL	OBSOL	ogethostid
267143	AUE_NULL	OBSOL	sethostid
268144	AUE_NULL	OBSOL	getrlimit
269145	AUE_NULL	OBSOL	setrlimit
270146	AUE_NULL	OBSOL	killpg
271147	AUE_NULL	MNOPROTO { int setsid(void); }
272148	AUE_NULL	MNOPROTO	{ int quotactl(char *path, int cmd, int uid, \
273				    caddr_t arg); }
274149	AUE_NULL	OBSOL oquota
275150	AUE_NULL	OBSOL ogetsockname
276
277; Syscalls 151-180 inclusive are reserved for vendor-specific
278; system calls.  (This includes various calls added for compatibity
279; with other Unix variants.)
280; Some of these calls are now supported by BSD...
281151	AUE_NULL	UNIMPL	sem_lock (BSD/OS 2.x)
282152	AUE_NULL	UNIMPL	sem_wakeup (BSD/OS 2.x)
283153	AUE_NULL	UNIMPL	asyncdaemon (BSD/OS 2.x)
284154	AUE_NULL	UNIMPL	nosys
285; 155 is initialized by the NFS code, if present.
286; XXX this is a problem!!!
287155	AUE_NULL	UNIMPL	nfssvc
288156	AUE_NULL	OBSOL	ogetdirentries
289157	AUE_NULL	MCOMPAT4	{ int freebsd32_statfs(char *path, \
290				    struct statfs32 *buf); }
291158	AUE_NULL	MCOMPAT4	{ int freebsd32_fstatfs(int fd, \
292				    struct statfs32 *buf); }
293159	AUE_NULL	UNIMPL	nosys
294160	AUE_NULL	UNIMPL	nosys
295161	AUE_NULL	MNOPROTO	{ int getfh(char *fname, \
296				    struct fhandle *fhp); }
297162	AUE_NULL	MNOPROTO { int getdomainname(char *domainname, \
298				    int len); }
299163	AUE_NULL	MNOPROTO { int setdomainname(char *domainname, \
300				    int len); }
301164	AUE_NULL	MNOPROTO { int uname(struct utsname *name); }
302165	AUE_NULL	MNOPROTO { int sysarch(int op, char *parms); }
303166	AUE_NULL	MNOPROTO { int rtprio(int function, pid_t pid, \
304				    struct rtprio *rtp); }
305167	AUE_NULL	UNIMPL	nosys
306168	AUE_NULL	UNIMPL	nosys
307169	AUE_NULL	MSTD	{ int freebsd32_semsys(int which, int a2, \
308				    int a3, int a4, int a5); }
309170	AUE_NULL	MSTD	{ int freebsd32_msgsys(int which, int a2, \
310				    int a3, int a4, int a5, int a6); }
311171	AUE_NULL	MSTD	{ int freebsd32_shmsys(int which, int a2, \
312				    int a3, int a4); }
313172	AUE_NULL	UNIMPL	nosys
314173	AUE_NULL	MSTD	{ ssize_t freebsd32_pread(int fd, void *buf, \
315				    size_t nbyte, int pad, \
316				    u_int32_t offsetlo, u_int32_t offsethi); }
317; XXX note - bigendian is different
318174	AUE_NULL	MSTD	{ ssize_t freebsd32_pwrite(int fd, \
319				    const void *buf, size_t nbyte, int pad, \
320				    u_int32_t offsetlo, u_int32_t offsethi); }
321; XXX note - bigendian is different
322175	AUE_NULL	UNIMPL	nosys
323176	AUE_NULL	MNOPROTO { int ntp_adjtime(struct timex *tp); }
324177	AUE_NULL	UNIMPL	sfork (BSD/OS 2.x)
325178	AUE_NULL	UNIMPL	getdescriptor (BSD/OS 2.x)
326179	AUE_NULL	UNIMPL	setdescriptor (BSD/OS 2.x)
327180	AUE_NULL	UNIMPL	nosys
328
329; Syscalls 181-199 are used by/reserved for BSD
330181	AUE_NULL	MNOPROTO { int setgid(gid_t gid); }
331182	AUE_NULL	MNOPROTO { int setegid(gid_t egid); }
332183	AUE_NULL	MNOPROTO { int seteuid(uid_t euid); }
333184	AUE_NULL	UNIMPL	lfs_bmapv
334185	AUE_NULL	UNIMPL	lfs_markv
335186	AUE_NULL	UNIMPL	lfs_segclean
336187	AUE_NULL	UNIMPL	lfs_segwait
337188	AUE_NULL	MSTD	{ int freebsd32_stat(char *path, \
338				    struct stat32 *ub); }
339189	AUE_NULL	MSTD	{ int freebsd32_fstat(int fd, \
340				    struct stat32 *ub); }
341190	AUE_NULL	MSTD	{ int freebsd32_lstat(char *path, \
342				    struct stat32 *ub); }
343191	AUE_NULL	MNOPROTO	{ int pathconf(char *path, int name); }
344192	AUE_NULL	MNOPROTO { int fpathconf(int fd, int name); }
345193	AUE_NULL	UNIMPL	nosys
346194	AUE_NULL	MNOPROTO { int getrlimit(u_int which, \
347				    struct rlimit *rlp); } getrlimit \
348				    __getrlimit_args int
349195	AUE_NULL	MNOPROTO { int setrlimit(u_int which, \
350				    struct rlimit *rlp); } setrlimit \
351				    __setrlimit_args int
352196	AUE_NULL	MNOPROTO	{ int getdirentries(int fd, char *buf, \
353				    u_int count, long *basep); }
354197	AUE_NULL	MSTD 	{ caddr_t freebsd32_mmap(caddr_t addr, \
355				    size_t len, int prot, int flags, int fd, \
356				    int pad, u_int32_t poslo, \
357				    u_int32_t poshi); }
358198	AUE_NULL	MNOPROTO	{ int nosys(void); } __syscall \
359				    __syscall_args int
360; XXX note - bigendian is different
361199	AUE_NULL	MSTD	{ off_t freebsd32_lseek(int fd, int pad, \
362				    u_int32_t offsetlo, u_int32_t offsethi, \
363				    int whence); }
364; XXX note - bigendian is different
365200	AUE_NULL	MSTD	{ int freebsd32_truncate(char *path, \
366				    int pad, u_int32_t lengthlo, \
367				    u_int32_t lengthhi); }
368; XXX note - bigendian is different
369201	AUE_NULL	MSTD	{ int freebsd32_ftruncate(int fd, int pad, \
370				    u_int32_t lengthlo, u_int32_t lengthhi); }
371202	AUE_NULL	MSTD	{ int freebsd32_sysctl(int *name, \
372				    u_int namelen, void *old, \
373				    u_int32_t *oldlenp, void *new, \
374				    u_int32_t newlen); }
375203	AUE_NULL	MNOPROTO { int mlock(const void *addr, \
376				    size_t len); }
377204	AUE_NULL	MNOPROTO { int munlock(const void *addr, \
378				    size_t len); }
379205	AUE_NULL	MNOPROTO	{ int undelete(char *path); }
380206	AUE_NULL	MNOPROTO	{ int futimes(int fd, struct timeval *tptr); }
381207	AUE_NULL	MNOPROTO { int getpgid(pid_t pid); }
382208	AUE_NULL	UNIMPL	newreboot (NetBSD)
383209	AUE_NULL	MNOPROTO { int poll(struct pollfd *fds, u_int nfds, \
384				    int timeout); }
385
386;
387; The following are reserved for loadable syscalls
388;
389210	AUE_NULL	UNIMPL
390211	AUE_NULL	UNIMPL
391212	AUE_NULL	UNIMPL
392213	AUE_NULL	UNIMPL
393214	AUE_NULL	UNIMPL
394215	AUE_NULL	UNIMPL
395216	AUE_NULL	UNIMPL
396217	AUE_NULL	UNIMPL
397218	AUE_NULL	UNIMPL
398219	AUE_NULL	UNIMPL
399
400;
401; The following were introduced with NetBSD/4.4Lite-2
402; They are initialized by thier respective modules/sysinits
403; XXX PROBLEM!!
404220	AUE_NULL	MNOPROTO { int __semctl(int semid, int semnum, \
405				    int cmd, union semun *arg); }
406221	AUE_NULL	MNOPROTO { int semget(key_t key, int nsems, \
407				    int semflg); }
408222	AUE_NULL	MNOPROTO { int semop(int semid, struct sembuf *sops, \
409				    u_int nsops); }
410223	AUE_NULL	UNIMPL	semconfig
411224	AUE_NULL	MNOPROTO { int msgctl(int msqid, int cmd, \
412				    struct msqid_ds *buf); }
413225	AUE_NULL	MNOPROTO { int msgget(key_t key, int msgflg); }
414226	AUE_NULL	MNOPROTO { int msgsnd(int msqid, void *msgp, \
415				    size_t msgsz, int msgflg); }
416227	AUE_NULL	MNOPROTO { int msgrcv(int msqid, void *msgp, \
417				    size_t msgsz, long msgtyp, int msgflg); }
418228	AUE_NULL	MNOPROTO { int shmat(int shmid, void *shmaddr, \
419				    int shmflg); }
420229	AUE_NULL	MNOPROTO { int shmctl(int shmid, int cmd, \
421				    struct shmid_ds *buf); }
422230	AUE_NULL	MNOPROTO { int shmdt(void *shmaddr); }
423231	AUE_NULL	MNOPROTO { int shmget(key_t key, int size, \
424				    int shmflg); }
425;
426232	AUE_NULL	MSTD 	 { int freebsd32_clock_gettime(clockid_t clock_id, \
427				    struct timespec32 *tp); }
428233	AUE_NULL	MSTD	 { int freebsd32_clock_settime(clockid_t clock_id, \
429				    const struct timespec32 *tp); }
430234	AUE_NULL	MSTD	 { int freebsd32_clock_getres(clockid_t clock_id, \
431				    struct timespec32 *tp); }
432235	AUE_NULL	UNIMPL	timer_create
433236	AUE_NULL	UNIMPL	timer_delete
434237	AUE_NULL	UNIMPL	timer_settime
435238	AUE_NULL	UNIMPL	timer_gettime
436239	AUE_NULL	UNIMPL	timer_getoverrun
437240	AUE_NULL	MSTD	{ int freebsd32_nanosleep( \
438				    const struct timespec32 *rqtp, \
439				    struct timespec32 *rmtp); }
440241	AUE_NULL	UNIMPL	nosys
441242	AUE_NULL	UNIMPL	nosys
442243	AUE_NULL	UNIMPL	nosys
443244	AUE_NULL	UNIMPL	nosys
444245	AUE_NULL	UNIMPL	nosys
445246	AUE_NULL	UNIMPL	nosys
446247	AUE_NULL	UNIMPL	nosys
447248	AUE_NULL	UNIMPL	ntp_gettime
448249	AUE_NULL	UNIMPL	nosys
449; syscall numbers initially used in OpenBSD
450250	AUE_NULL	MNOPROTO { int minherit(void *addr, size_t len, \
451				    int inherit); }
452251	AUE_NULL	MNOPROTO { int rfork(int flags); }
453252	AUE_NULL	MNOPROTO { int openbsd_poll(struct pollfd *fds, \
454				    u_int nfds, int timeout); }
455253	AUE_NULL	MNOPROTO { int issetugid(void); }
456254	AUE_NULL	MNOPROTO	{ int lchown(char *path, int uid, int gid); }
457255	AUE_NULL	UNIMPL	nosys
458256	AUE_NULL	UNIMPL	nosys
459257	AUE_NULL	UNIMPL	nosys
460258	AUE_NULL	UNIMPL	nosys
461259	AUE_NULL	UNIMPL	nosys
462260	AUE_NULL	UNIMPL	nosys
463261	AUE_NULL	UNIMPL	nosys
464262	AUE_NULL	UNIMPL	nosys
465263	AUE_NULL	UNIMPL	nosys
466264	AUE_NULL	UNIMPL	nosys
467265	AUE_NULL	UNIMPL	nosys
468266	AUE_NULL	UNIMPL	nosys
469267	AUE_NULL	UNIMPL	nosys
470268	AUE_NULL	UNIMPL	nosys
471269	AUE_NULL	UNIMPL	nosys
472270	AUE_NULL	UNIMPL	nosys
473271	AUE_NULL	UNIMPL	nosys
474272	AUE_NULL	MNOPROTO	{ int getdents(int fd, char *buf, \
475				    size_t count); }
476273	AUE_NULL	UNIMPL	nosys
477274	AUE_NULL	MNOPROTO	{ int lchmod(char *path, mode_t mode); }
478275	AUE_NULL	MNOPROTO { int lchown(char *path, uid_t uid, \
479				    gid_t gid); } netbsd_lchown \
480				    lchown_args int
481276	AUE_NULL	MNOPROTO	{ int lutimes(char *path, \
482				    struct timeval *tptr); }
483277	AUE_NULL	MNOPROTO { int msync(void *addr, size_t len, \
484				    int flags); } netbsd_msync msync_args int
485278	AUE_NULL	MNOPROTO	{ int nstat(char *path, struct nstat *ub); }
486279	AUE_NULL	MNOPROTO { int nfstat(int fd, struct nstat *sb); }
487280	AUE_NULL	MNOPROTO	{ int nlstat(char *path, struct nstat *ub); }
488281	AUE_NULL	UNIMPL	nosys
489282	AUE_NULL	UNIMPL	nosys
490283	AUE_NULL	UNIMPL	nosys
491284	AUE_NULL	UNIMPL	nosys
492285	AUE_NULL	UNIMPL	nosys
493286	AUE_NULL	UNIMPL	nosys
494287	AUE_NULL	UNIMPL	nosys
495288	AUE_NULL	UNIMPL	nosys
496; 289 and 290 from NetBSD (OpenBSD: 267 and 268)
497289	AUE_NULL	MSTD	{ ssize_t freebsd32_preadv(int fd, \
498					struct iovec32 *iovp, \
499					u_int iovcnt, off_t offset); }
500; XXX note - bigendian is different
501290	AUE_NULL	MSTD	{ ssize_t freebsd32_pwritev(int fd, \
502					struct iovec32 *iovp, \
503					u_int iovcnt, off_t offset); }
504; XXX note - bigendian is different
505291	AUE_NULL	UNIMPL	nosys
506292	AUE_NULL	UNIMPL	nosys
507293	AUE_NULL	UNIMPL	nosys
508294	AUE_NULL	UNIMPL	nosys
509295	AUE_NULL	UNIMPL	nosys
510296	AUE_NULL	UNIMPL	nosys
511; XXX 297 is 300 in NetBSD 
512297	AUE_NULL	MCOMPAT4	{ int freebsd32_fhstatfs( \
513				    const struct fhandle *u_fhp, \
514				    struct statfs32 *buf); }
515298	AUE_NULL	MNOPROTO	{ int fhopen(const struct fhandle *u_fhp, \
516			 	    int flags); }
517299	AUE_NULL	MNOPROTO	{ int fhstat(const struct fhandle *u_fhp, \
518				    struct stat *sb); }
519; syscall numbers for FreeBSD
520300	AUE_NULL	MNOPROTO { int modnext(int modid); }
521301	AUE_NULL	MSTD	{ int freebsd32_modstat(int modid, \
522				    struct module_stat32* stat); }
523302	AUE_NULL	MNOPROTO { int modfnext(int modid); }
524303	AUE_NULL	MNOPROTO { int modfind(const char *name); }
525304	AUE_NULL	MNOPROTO { int kldload(const char *file); }
526305	AUE_NULL	MNOPROTO { int kldunload(int fileid); }
527306	AUE_NULL	MNOPROTO { int kldfind(const char *file); }
528307	AUE_NULL	MNOPROTO { int kldnext(int fileid); }
529308	AUE_NULL	MNOPROTO { int kldstat(int fileid, \
530				    struct kld_file_stat* stat); }
531309	AUE_NULL	MNOPROTO { int kldfirstmod(int fileid); }
532310	AUE_NULL	MNOPROTO { int getsid(pid_t pid); }
533311	AUE_NULL	MNOPROTO { int setresuid(uid_t ruid, uid_t euid, \
534				    uid_t suid); }
535312	AUE_NULL	MNOPROTO { int setresgid(gid_t rgid, gid_t egid, \
536				    gid_t sgid); }
537313	AUE_NULL	OBSOL	signanosleep
538314	AUE_NULL	UNIMPL	aio_return
539315	AUE_NULL	UNIMPL	aio_suspend
540316	AUE_NULL	UNIMPL	aio_cancel
541317	AUE_NULL	UNIMPL	aio_error
542318	AUE_NULL	UNIMPL	aio_read
543319	AUE_NULL	UNIMPL	aio_write
544320	AUE_NULL	UNIMPL	lio_listio
545321	AUE_NULL	MNOPROTO { int yield(void); }
546322	AUE_NULL	OBSOL	thr_sleep
547323	AUE_NULL	OBSOL	thr_wakeup
548324	AUE_NULL	MNOPROTO { int mlockall(int how); }
549325	AUE_NULL	MNOPROTO { int munlockall(void); }
550326	AUE_NULL	MNOPROTO	{ int __getcwd(u_char *buf, u_int buflen); }
551
552327	AUE_NULL	MNOPROTO { int sched_setparam (pid_t pid, \
553				    const struct sched_param *param); }
554328	AUE_NULL	MNOPROTO { int sched_getparam (pid_t pid, \
555				    struct sched_param *param); }
556
557329	AUE_NULL	MNOPROTO { int sched_setscheduler (pid_t pid, \
558				    int policy, \
559				    const struct sched_param *param); }
560330	AUE_NULL	MNOPROTO { int sched_getscheduler (pid_t pid); }
561
562331	AUE_NULL	MNOPROTO { int sched_yield (void); }
563332	AUE_NULL	MNOPROTO { int sched_get_priority_max (int policy); }
564333	AUE_NULL	MNOPROTO { int sched_get_priority_min (int policy); }
565334	AUE_NULL	MNOPROTO { int sched_rr_get_interval (pid_t pid, \
566				    struct timespec *interval); }
567335	AUE_NULL	MNOPROTO { int utrace(const void *addr, size_t len); }
568; XXX note - bigendian is different
569336	AUE_NULL	MCOMPAT4 { int freebsd32_sendfile(int fd, int s, \
570				    u_int32_t offsetlo, u_int32_t offsethi, \
571				    size_t nbytes, struct sf_hdtr *hdtr, \
572				    off_t *sbytes, int flags); }
573337	AUE_NULL	MNOPROTO	{ int kldsym(int fileid, int cmd, \
574				    void *data); }
575338	AUE_NULL	MNOPROTO { int jail(struct jail *jail); }
576339	AUE_NULL	UNIMPL	pioctl
577340	AUE_NULL	MNOPROTO { int sigprocmask(int how, \
578				    const sigset_t *set, sigset_t *oset); }
579341	AUE_NULL	MNOPROTO { int sigsuspend(const sigset_t *sigmask); }
580342	AUE_NULL	MCOMPAT4 { int freebsd32_sigaction(int sig, \
581				    struct sigaction32 *act, \
582				    struct sigaction32 *oact); }
583343	AUE_NULL	MNOPROTO { int sigpending(sigset_t *set); }
584344	AUE_NULL	MCOMPAT4 { int freebsd32_sigreturn( \
585		    const struct freebsd4_freebsd32_ucontext *sigcntxp); }
586; XXX implement
587345	AUE_NULL	UNIMPL	sigtimedwait
588; XXX implement
589346	AUE_NULL	UNIMPL	sigwaitinfo
590347	AUE_NULL	MNOPROTO { int __acl_get_file(const char *path, \
591				    acl_type_t type, struct acl *aclp); }
592348	AUE_NULL	MNOPROTO { int __acl_set_file(const char *path, \
593				    acl_type_t type, struct acl *aclp); }
594349	AUE_NULL	MNOPROTO { int __acl_get_fd(int filedes, \
595				    acl_type_t type, struct acl *aclp); }
596350	AUE_NULL	MNOPROTO { int __acl_set_fd(int filedes, \
597				    acl_type_t type, struct acl *aclp); }
598351	AUE_NULL	MNOPROTO { int __acl_delete_file(const char *path, \
599				    acl_type_t type); }
600352	AUE_NULL	MNOPROTO { int __acl_delete_fd(int filedes, \
601				    acl_type_t type); }
602353	AUE_NULL	MNOPROTO { int __acl_aclcheck_file(const char *path, \
603				    acl_type_t type, struct acl *aclp); }
604354	AUE_NULL	MNOPROTO { int __acl_aclcheck_fd(int filedes, \
605				    acl_type_t type, struct acl *aclp); }
606355	AUE_NULL	NOPROTO	{ int extattrctl(const char *path, int cmd, \
607				    const char *filename, int attrnamespace, \
608				    const char *attrname); }
609356	AUE_NULL	NOPROTO	{ int extattr_set_file(const char *path, \
610				    int attrnamespace, const char *attrname, \
611				    void *data, size_t nbytes); }
612357	AUE_NULL	NOPROTO	{ ssize_t extattr_get_file(const char *path, \
613				    int attrnamespace, const char *attrname, \
614				    void *data, size_t nbytes); }
615358	AUE_NULL	NOPROTO	{ int extattr_delete_file(const char *path, \
616				    int attrnamespace, \
617				    const char *attrname); }
618359	AUE_NULL	UNIMPL	aio_waitcomplete
619360	AUE_NULL	MNOPROTO { int getresuid(uid_t *ruid, uid_t *euid, \
620				    uid_t *suid); }
621361	AUE_NULL	MNOPROTO { int getresgid(gid_t *rgid, gid_t *egid, \
622				    gid_t *sgid); }
623362	AUE_NULL	MNOPROTO { int kqueue(void); }
624363	AUE_NULL	MSTD { int freebsd32_kevent(int fd, \
625				    const struct kevent32 *changelist, \
626				    int nchanges, \
627				    struct kevent32 *eventlist, int nevents, \
628				    const struct timespec32 *timeout); }
629364	AUE_NULL	UNIMPL	__cap_get_proc
630365	AUE_NULL	UNIMPL	__cap_set_proc
631366	AUE_NULL	UNIMPL	__cap_get_fd
632367	AUE_NULL	UNIMPL	__cap_get_file
633368	AUE_NULL	UNIMPL	__cap_set_fd
634369	AUE_NULL	UNIMPL	__cap_set_file
635370	AUE_NULL	UNIMPL	lkmressys
636371	AUE_NULL	NOPROTO	{ int extattr_set_fd(int fd, \
637				    int attrnamespace, const char *attrname, \
638				    void *data, size_t nbytes); }
639372	AUE_NULL	NOPROTO	{ ssize_t extattr_get_fd(int fd, \
640				    int attrnamespace, const char *attrname, \
641				    void *data, size_t nbytes); }
642373	AUE_NULL	NOPROTO	{ int extattr_delete_fd(int fd, \
643				    int attrnamespace, \
644				    const char *attrname); }
645374	AUE_NULL	MNOPROTO { int __setugid(int flag); }
646375	AUE_NULL	UNIMPL	nfsclnt
647376	AUE_NULL	MNOPROTO	{ int eaccess(char *path, int flags); }
648377	AUE_NULL	UNIMPL	afs_syscall
649378	AUE_NULL	NOPROTO { int nmount(struct iovec *iovp, \
650				    unsigned int iovcnt, int flags); }
651379	AUE_NULL	MNOPROTO	{ int kse_exit(void); }
652380	AUE_NULL	MNOPROTO	{ int kse_wakeup(struct kse_mailbox *mbx); }
653381	AUE_NULL	MNOPROTO	{ int kse_create(struct kse_mailbox *mbx, \
654				    int newgroup); }
655382	AUE_NULL	MNOPROTO	{ int kse_thr_interrupt( \
656				    struct kse_thr_mailbox *tmbx); }
657383	AUE_NULL	MNOPROTO	{ int kse_release(void); }
658384	AUE_NULL	UNIMPL	__mac_get_proc
659385	AUE_NULL	UNIMPL	__mac_set_proc
660386	AUE_NULL	UNIMPL	__mac_get_fd
661387	AUE_NULL	UNIMPL	__mac_get_file
662388	AUE_NULL	UNIMPL	__mac_set_fd
663389	AUE_NULL	UNIMPL	__mac_set_file
664390	AUE_NULL	MNOPROTO	{ int kenv(int what, const char *name, \
665				    char *value, int len); }
666391	AUE_NULL	MNOPROTO	{ int lchflags(const char *path, int flags); }
667392	AUE_NULL	MNOPROTO { int uuidgen(struct uuid *store, \
668				    int count); }
669393	AUE_NULL	MSTD	{ int freebsd32_sendfile(int fd, int s, \
670				    u_int32_t offsetlo, u_int32_t offsethi, \
671				    size_t nbytes, struct sf_hdtr *hdtr, \
672				    off_t *sbytes, int flags); }
673394	AUE_NULL	UNIMPL	mac_syscall
674395	AUE_NULL	MNOPROTO	{ int getfsstat(struct statfs *buf, \
675				    long bufsize, int flags); }
676396	AUE_NULL	MNOPROTO	{ int statfs(char *path, \
677				    struct statfs *buf); }
678397	AUE_NULL	MNOPROTO	{ int fstatfs(int fd, struct statfs *buf); }
679398	AUE_NULL	MNOPROTO	{ int fhstatfs(const struct fhandle *u_fhp, \
680				    struct statfs *buf); }
681399	AUE_NULL	UNIMPL	nosys
682; XXX implement these?
683400	AUE_NULL	UNIMPL	ksem_close
684401	AUE_NULL	UNIMPL	ksem_post
685402	AUE_NULL	UNIMPL	ksem_wait
686403	AUE_NULL	UNIMPL	ksem_trywait
687404	AUE_NULL	UNIMPL	ksem_init
688405	AUE_NULL	UNIMPL	ksem_open
689406	AUE_NULL	UNIMPL	ksem_unlink
690407	AUE_NULL	UNIMPL	ksem_getvalue
691408	AUE_NULL	UNIMPL	ksem_destroy
692409	AUE_NULL	UNIMPL	__mac_get_pid
693410	AUE_NULL	UNIMPL	__mac_get_link
694411	AUE_NULL	UNIMPL	__mac_set_link
695412	AUE_NULL	UNIMPL	extattr_set_link
696413	AUE_NULL	UNIMPL	extattr_get_link
697414	AUE_NULL	UNIMPL	extattr_delete_link
698415	AUE_NULL	UNIMPL	__mac_execve
699416	AUE_NULL	MSTD { int freebsd32_sigaction(int sig, \
700				    struct sigaction32 *act, \
701				    struct sigaction32 *oact); }
702417	AUE_NULL	MSTD { int freebsd32_sigreturn( \
703		    const struct freebsd32_ucontext *sigcntxp); }
704418	AUE_NULL	UNIMPL	__xstat
705419	AUE_NULL	UNIMPL	__xfstat
706420	AUE_NULL	UNIMPL	__xlstat
707421	AUE_NULL	MSTD	{ int freebsd32_getcontext( \
708				    struct freebsd32_ucontext *ucp); }
709422	AUE_NULL	MSTD	{ int freebsd32_setcontext( \
710				    const struct freebsd32_ucontext *ucp); }
711423	AUE_NULL	MSTD	{ int freebsd32_swapcontext( \
712				    struct freebsd32_ucontext *oucp, \
713				    const struct freebsd32_ucontext *ucp); }
714424	AUE_NULL	UNIMPL	swapoff
715425	AUE_NULL	UNIMPL	__acl_get_link
716426	AUE_NULL	UNIMPL	__acl_set_link
717427	AUE_NULL	UNIMPL	__acl_delete_link
718428	AUE_NULL	UNIMPL	__acl_aclcheck_link
719; XXX implement
720429	AUE_NULL	UNIMPL	sigwait
721430	AUE_NULL	MNOPROTO { int thr_create(ucontext_t *ctx, long *id, \
722				    int flag s); }
723431	AUE_NULL	MNOPROTO { void thr_exit(long *state); }
724432	AUE_NULL	MNOPROTO { int thr_self(long *id); }
725433	AUE_NULL	MNOPROTO { int thr_kill(long id, int sig); }
726434	AUE_NULL	MNOPROTO { int _umtx_lock(struct umtx *umtx); }
727435	AUE_NULL	MNOPROTO { int _umtx_unlock(struct umtx *umtx); }
728436	AUE_NULL	MNOPROTO { int jail_attach(int jid); }
729437	AUE_NULL	UNIMPL	extattr_list_fd
730438	AUE_NULL	UNIMPL	extattr_list_file
731439	AUE_NULL	UNIMPL	extattr_list_link
732440	AUE_NULL	UNIMPL	kse_switchin
733441	AUE_NULL	UNIMPL	ksem_timedwait
734442	AUE_NULL	MNOPROTO { int thr_suspend( \
735				    const struct timespec *timeout); }
736443	AUE_NULL	MNOPROTO { int thr_wake(long id); }
737444	AUE_NULL	MNOPROTO { int kldunloadf(int fileid, int flags); }
738445	AUE_NULL	UNIMPL	audit
739446	AUE_NULL	UNIMPL	auditon
740447	AUE_NULL	UNIMPL	getauid
741448	AUE_NULL	UNIMPL	setauid
742449	AUE_NULL	UNIMPL	getaudit
743450	AUE_NULL	UNIMPL	setaudit
744451	AUE_NULL	UNIMPL	getaudit_addr
745452	AUE_NULL	UNIMPL	setaudit_addr
746453	AUE_NULL	UNIMPL	auditctl
747454	AUE_NULL	UNIMPL	_umtx_op
748