syscalls.master revision 163450
1 $FreeBSD: head/sys/compat/freebsd32/syscalls.master 163450 2006-10-17 02:28:26Z davidxu $
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 audit 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 STD, OBSOL, UNIMPL, COMPAT, CPT_NOA, LIBCOMPAT,
16;		NODEF, NOARGS, NOPROTO, NOIMPL, NOSTD, COMPAT4
17;	name	psuedo-prototype of syscall routine
18;		If one of the following alts is different, then all appear:
19;	altname	name of system call if different
20;	alttag	name of args struct tag if different from [o]`name'"_args"
21;	altrtyp	return type if not int (bogus - syscalls always return int)
22;		for UNIMPL/OBSOL, name continues with comments
23
24; types:
25;	STD	always included
26;	COMPAT	included on COMPAT #ifdef
27;	COMPAT4	included on COMPAT4 #ifdef (FreeBSD 4 compat)
28;	LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
29;	OBSOL	obsolete, not included in system, only specifies name
30;	UNIMPL	not implemented, placeholder only
31;	NOSTD	implemented but as a lkm that can be statically
32;		compiled in; sysent entry will be filled with lkmsys
33;		so the SYSCALL_MODULE macro works
34
35; #ifdef's, etc. may be included, and are copied to the output files.
36
37#include <sys/param.h>
38#include <sys/sysent.h>
39#include <sys/sysproto.h>
40#include <sys/mount.h>
41#include <compat/freebsd32/freebsd32.h>
42#include <compat/freebsd32/freebsd32_proto.h>
43
44; Reserved/unimplemented system calls in the range 0-150 inclusive
45; are reserved for use in future Berkeley releases.
46; Additional system calls implemented in vendor and other
47; redistributions should be placed in the reserved range at the end
48; of the current calls.
49
500	AUE_NULL	NOPROTO	{ int nosys(void); } syscall nosys_args int
511	AUE_EXIT	NOPROTO	{ void sys_exit(int rval); } exit \
52				    sys_exit_args void
532	AUE_FORK	NOPROTO	{ int fork(void); }
543	AUE_READ	NOPROTO	{ ssize_t read(int fd, void *buf, \
55				    size_t nbyte); }
564	AUE_WRITE	NOPROTO	{ ssize_t write(int fd, const void *buf, \
57				    size_t nbyte); }
585	AUE_OPEN_RWTC	NOPROTO	{ int open(char *path, int flags, \
59				    int mode); }
606	AUE_CLOSE	NOPROTO	{ int close(int fd); }
617	AUE_WAIT4	STD	{ int freebsd32_wait4(int pid, int *status, \
62				    int options, struct rusage32 *rusage); }
638	AUE_CREAT	OBSOL	old creat
649	AUE_LINK	NOPROTO	{ int link(char *path, char *link); }
6510	AUE_UNLINK	NOPROTO	{ int unlink(char *path); }
6611	AUE_NULL	OBSOL	execv
6712	AUE_CHDIR	NOPROTO	{ int chdir(char *path); }
6813	AUE_FCHDIR	NOPROTO	{ int fchdir(int fd); }
6914	AUE_MKNOD	NOPROTO	{ int mknod(char *path, int mode, int dev); }
7015	AUE_CHMOD	NOPROTO	{ int chmod(char *path, int mode); }
7116	AUE_CHOWN	NOPROTO	{ int chown(char *path, int uid, int gid); }
7217	AUE_NULL	NOPROTO	{ int obreak(char *nsize); } break \
73				    obreak_args int
7418	AUE_GETFSSTAT	COMPAT4	{ int freebsd32_getfsstat( \
75				    struct statfs32 *buf, long bufsize, \
76				    int flags); }
7719	AUE_LSEEK	OBSOL	olseek
7820	AUE_GETPID	NOPROTO	{ pid_t getpid(void); }
7921	AUE_MOUNT	NOPROTO	{ int mount(char *type, char *path, \
80				    int flags, caddr_t data); }
8122	AUE_UMOUNT	NOPROTO	{ int unmount(char *path, int flags); }
8223	AUE_SETUID	NOPROTO	{ int setuid(uid_t uid); }
8324	AUE_GETUID	NOPROTO	{ uid_t getuid(void); }
8425	AUE_GETEUID	NOPROTO	{ uid_t geteuid(void); }
8526	AUE_PTRACE	NOPROTO	{ int ptrace(int req, pid_t pid, \
86				    caddr_t addr, int data); }
87; XXX implement
8827	AUE_RECVMSG	STD	{ int freebsd32_recvmsg(int s, struct msghdr32 *msg, \
89				    int flags); }
9028	AUE_SENDMSG	STD	{ int freebsd32_sendmsg(int s, struct msghdr32 *msg, \
91				    int flags); }
9229	AUE_RECVFROM	STD	{ int freebsd32_recvfrom(int s, u_int32_t buf, \
93				    u_int32_t len, int flags, u_int32_t from, \
94				    u_int32_t fromlenaddr); }
9530	AUE_ACCEPT	NOPROTO	{ int accept(int s, caddr_t name, \
96				    int *anamelen); }
9731	AUE_GETPEERNAME	NOPROTO	{ int getpeername(int fdes, caddr_t asa, \
98				    int *alen); }
9932	AUE_GETSOCKNAME	NOPROTO	{ int getsockname(int fdes, caddr_t asa, \
100				    int *alen); }
10133	AUE_ACCESS	NOPROTO	{ int access(char *path, int flags); }
10234	AUE_CHFLAGS	NOPROTO	{ int chflags(char *path, int flags); }
10335	AUE_FCHFLAGS	NOPROTO	{ int fchflags(int fd, int flags); }
10436	AUE_SYNC	NOPROTO	{ int sync(void); }
10537	AUE_KILL	NOPROTO	{ int kill(int pid, int signum); }
10638	AUE_STAT	UNIMPL	ostat
10739	AUE_GETPPID	NOPROTO	{ pid_t getppid(void); }
10840	AUE_LSTAT	UNIMPL	olstat
10941	AUE_DUP		NOPROTO	{ int dup(u_int fd); }
11042	AUE_PIPE	NOPROTO	{ int pipe(void); }
11143	AUE_GETEGID	NOPROTO	{ gid_t getegid(void); }
11244	AUE_PROFILE	NOPROTO	{ int profil(caddr_t samples, size_t size, \
113				    size_t offset, u_int scale); }
11445	AUE_KTRACE	NOPROTO	{ int ktrace(const char *fname, int ops, \
115				    int facs, int pid); }
11646	AUE_SIGACTION	COMPAT	{ int freebsd32_sigaction( int signum, \
117				   struct osigaction32 *nsa, \
118				   struct osigaction32 *osa); }
11947	AUE_GETGID	NOPROTO	{ gid_t getgid(void); }
12048	AUE_SIGPROCMASK	COMPAT	{ int freebsd32_sigprocmask(int how, \
121				   osigset_t mask); }
12249	AUE_GETLOGIN	NOPROTO	{ int getlogin(char *namebuf, \
123				    u_int namelen); }
12450	AUE_SETLOGIN	NOPROTO	{ int setlogin(char *namebuf); }
12551	AUE_ACCT	NOPROTO	{ int acct(char *path); }
12652	AUE_SIGPENDING	COMPAT	{ int freebsd32_sigpending(void); }
12753	AUE_SIGALTSTACK	STD	{ int freebsd32_sigaltstack( \
128				    struct sigaltstack32 *ss, \
129				    struct sigaltstack32 *oss); }
13054	AUE_IOCTL	NOPROTO	{ int ioctl(int fd, u_long com, \
131				    caddr_t data); }
13255	AUE_REBOOT	NOPROTO	{ int reboot(int opt); }
13356	AUE_REVOKE	NOPROTO	{ int revoke(char *path); }
13457	AUE_SYMLINK	NOPROTO	{ int symlink(char *path, char *link); }
13558	AUE_READLINK	NOPROTO	{ int readlink(char *path, char *buf, \
136				    int count); }
13759	AUE_EXECVE	STD	{ int freebsd32_execve(char *fname, \
138				    u_int32_t *argv, u_int32_t *envv); }
13960	AUE_UMASK	NOPROTO	{ int umask(int newmask); } umask \
140				    umask_args int
14161	AUE_CHROOT	NOPROTO	{ int chroot(char *path); }
14262	AUE_FSTAT	OBSOL	ofstat
14363	AUE_NULL	OBSOL	ogetkerninfo
14464	AUE_NULL	OBSOL	ogetpagesize
145; XXX implement (not OBSOL at all)
14665	AUE_MSYNC	NOPROTO	{ int msync(void *addr, size_t len, \
147				    int flags); }
14866	AUE_VFORK	NOPROTO	{ int vfork(void); }
14967	AUE_NULL	OBSOL	vread
15068	AUE_NULL	OBSOL	vwrite
15169	AUE_SBRK	NOPROTO	{ int sbrk(int incr); }
15270	AUE_SSTK	NOPROTO	{ int sstk(int incr); }
15371	AUE_MMAP	OBSOL	ommap
15472	AUE_O_VADVISE	NOPROTO	{ int ovadvise(int anom); } vadvise \
155				    ovadvise_args int
15673	AUE_MUNMAP	NOPROTO	{ int munmap(void *addr, size_t len); }
15774	AUE_MPROTECT	NOPROTO	{ int mprotect(const void *addr, \
158				    size_t len, int prot); }
15975	AUE_MADVISE	NOPROTO	{ int madvise(void *addr, size_t len, \
160				    int behav); }
16176	AUE_NULL	OBSOL	vhangup
16277	AUE_NULL	OBSOL	vlimit
16378	AUE_MINCORE	NOPROTO	{ int mincore(const void *addr, size_t len, \
164				    char *vec); }
16579	AUE_GETGROUPS	NOPROTO	{ int getgroups(u_int gidsetsize, \
166				    gid_t *gidset); }
16780	AUE_SETGROUPS	NOPROTO	{ int setgroups(u_int gidsetsize, \
168				    gid_t *gidset); }
16981	AUE_GETPGRP	NOPROTO	{ int getpgrp(void); }
17082	AUE_SETPGRP	NOPROTO	{ int setpgid(int pid, int pgid); }
17183	AUE_SETITIMER	STD	{ int freebsd32_setitimer(u_int which, \
172				    struct itimerval32 *itv, \
173				    struct itimerval32 *oitv); }
17484	AUE_NULL	OBSOL	owait
175; XXX implement
17685	AUE_SWAPON	OBSOL	oswapon
17786	AUE_GETITIMER	STD	{ int freebsd32_getitimer(u_int which, \
178				    struct itimerval32 *itv); }
17987	AUE_O_GETHOSTNAME	OBSOL	ogethostname
18088	AUE_O_SETHOSTNAME	OBSOL	osethostname
18189	AUE_GETDTABLESIZE	NOPROTO	{ int getdtablesize(void); }
18290	AUE_DUP2	NOPROTO	{ int dup2(u_int from, u_int to); }
18391	AUE_NULL	UNIMPL	getdopt
18492	AUE_FCNTL	NOPROTO	{ int fcntl(int fd, int cmd, long arg); }
18593	AUE_SELECT	STD	{ int freebsd32_select(int nd, fd_set *in, \
186				    fd_set *ou, fd_set *ex, \
187				    struct timeval32 *tv); }
188; XXX need to override for big-endian - little-endian should work fine.
18994	AUE_NULL	UNIMPL	setdopt
19095	AUE_FSYNC	NOPROTO	{ int fsync(int fd); }
19196	AUE_SETPRIORITY	NOPROTO	{ int setpriority(int which, int who, \
192				    int prio); }
19397	AUE_SOCKET	NOPROTO	{ int socket(int domain, int type, \
194				    int protocol); }
19598	AUE_CONNECT	NOPROTO	{ int connect(int s, caddr_t name, \
196				    int namelen); }
19799	AUE_NULL	OBSOL	oaccept
198100	AUE_GETPRIORITY	NOPROTO	{ int getpriority(int which, int who); }
199101	AUE_NULL	OBSOL	osend
200102	AUE_NULL	OBSOL	orecv
201103	AUE_NULL	OBSOL	osigreturn
202104	AUE_BIND	NOPROTO	{ int bind(int s, caddr_t name, \
203				    int namelen); }
204105	AUE_SETSOCKOPT	NOPROTO	{ int setsockopt(int s, int level, \
205				    int name, caddr_t val, int valsize); }
206106	AUE_LISTEN	NOPROTO	{ int listen(int s, int backlog); }
207107	AUE_NULL	OBSOL	vtimes
208108	AUE_O_SIGVEC	COMPAT	{ int freebsd32_sigvec(int signum, \
209				     struct sigvec32 *nsv, \
210				     struct sigvec32 *osv); }
211109	AUE_O_SIGBLOCK	COMPAT	{ int freebsd32_sigblock(int mask); }
212110	AUE_O_SIGSETMASK	COMPAT	{ int freebsd32_sigsetmask( int mask); }
213111	AUE_SIGSUSPEND	COMPAT	{ int freebsd32_sigsuspend( int mask); }
214112	AUE_O_SIGSTACK	COMPAT	{ int freebsd32_sigstack( \
215				     struct sigstack32 *nss, \
216				     struct sigstack32 *oss); }
217113	AUE_NULL	OBSOL	orecvmsg
218114	AUE_NULL	OBSOL	osendmsg
219115	AUE_NULL	OBSOL	vtrace
220116	AUE_GETTIMEOFDAY	STD	{ int freebsd32_gettimeofday( \
221				    struct timeval32 *tp, \
222				    struct timezone *tzp); }
223117	AUE_GETRUSAGE	STD	{ int freebsd32_getrusage(int who, \
224				    struct rusage32 *rusage); }
225118	AUE_GETSOCKOPT	NOPROTO	{ int getsockopt(int s, int level, \
226				    int name, caddr_t val, int *avalsize); }
227119	AUE_NULL	UNIMPL	resuba (BSD/OS 2.x)
228120	AUE_READV	STD	{ int freebsd32_readv(int fd, \
229				    struct iovec32 *iovp, u_int iovcnt); }
230121	AUE_WRITEV	STD	{ int freebsd32_writev(int fd, \
231				    struct iovec32 *iovp, u_int iovcnt); }
232122	AUE_SETTIMEOFDAY	STD	{ int freebsd32_settimeofday( \
233				    struct timeval32 *tv, \
234				    struct timezone *tzp); }
235123	AUE_FCHOWN	NOPROTO	{ int fchown(int fd, int uid, int gid); }
236124	AUE_FCHMOD	NOPROTO	{ int fchmod(int fd, int mode); }
237125	AUE_RECVFROM	OBSOL	orecvfrom
238126	AUE_SETREUID	NOPROTO	{ int setreuid(int ruid, int euid); }
239127	AUE_SETREGID	NOPROTO	{ int setregid(int rgid, int egid); }
240128	AUE_RENAME	NOPROTO	{ int rename(char *from, char *to); }
241129	AUE_TRUNCATE	OBSOL	otruncate
242130	AUE_FTRUNCATE	OBSOL	ftruncate
243131	AUE_FLOCK	NOPROTO	{ int flock(int fd, int how); }
244132	AUE_MKFIFO	NOPROTO	{ int mkfifo(char *path, int mode); }
245133	AUE_SENDTO	NOPROTO	{ int sendto(int s, caddr_t buf, \
246				    size_t len, int flags, caddr_t to, \
247				    int tolen); }
248134	AUE_SHUTDOWN	NOPROTO	{ int shutdown(int s, int how); }
249135	AUE_SOCKETPAIR	NOPROTO	{ int socketpair(int domain, int type, \
250				    int protocol, int *rsv); }
251136	AUE_MKDIR	NOPROTO	{ int mkdir(char *path, int mode); }
252137	AUE_RMDIR	NOPROTO	{ int rmdir(char *path); }
253138	AUE_UTIMES	STD	{ int freebsd32_utimes(char *path, \
254				    struct timeval32 *tptr); }
255139	AUE_NULL	OBSOL	4.2 sigreturn
256140	AUE_ADJTIME	STD	{ int freebsd32_adjtime( \
257				    struct timeval32 *delta, \
258				    struct timeval32 *olddelta); }
259141	AUE_GETPEERNAME	OBSOL	ogetpeername
260142	AUE_SYSCTL	OBSOL	ogethostid
261143	AUE_SYSCTL	OBSOL	sethostid
262144	AUE_GETRLIMIT	OBSOL	getrlimit
263145	AUE_SETRLIMIT	OBSOL	setrlimit
264146	AUE_KILLPG	OBSOL	killpg
265147	AUE_SETSID	NOPROTO	{ int setsid(void); }
266148	AUE_QUOTACTL	NOPROTO	{ int quotactl(char *path, int cmd, int uid, \
267				    caddr_t arg); }
268149	AUE_O_QUOTA	OBSOL oquota
269150	AUE_GETSOCKNAME	OBSOL ogetsockname
270
271; Syscalls 151-180 inclusive are reserved for vendor-specific
272; system calls.  (This includes various calls added for compatibity
273; with other Unix variants.)
274; Some of these calls are now supported by BSD...
275151	AUE_NULL	UNIMPL	sem_lock (BSD/OS 2.x)
276152	AUE_NULL	UNIMPL	sem_wakeup (BSD/OS 2.x)
277153	AUE_NULL	UNIMPL	asyncdaemon (BSD/OS 2.x)
278154	AUE_NULL	UNIMPL	nosys
279; 155 is initialized by the NFS code, if present.
280; XXX this is a problem!!!
281155	AUE_NFS_SVC	UNIMPL	nfssvc
282156	AUE_GETDIRENTRIES	OBSOL	ogetdirentries
283157	AUE_STATFS	COMPAT4	{ int freebsd32_statfs(char *path, \
284				    struct statfs32 *buf); }
285158	AUE_FSTATFS	COMPAT4	{ int freebsd32_fstatfs(int fd, \
286				    struct statfs32 *buf); }
287159	AUE_NULL	UNIMPL	nosys
288160	AUE_LGETFH	UNIMPL	lgetfh
289161	AUE_NFS_GETFH	NOPROTO	{ int getfh(char *fname, \
290				    struct fhandle *fhp); }
291162	AUE_SYSCTL	NOPROTO	{ int getdomainname(char *domainname, \
292				    int len); }
293163	AUE_SYSCTL	NOPROTO	{ int setdomainname(char *domainname, \
294				    int len); }
295164	AUE_NULL	NOPROTO	{ int uname(struct utsname *name); }
296165	AUE_SYSARCH	NOPROTO	{ int sysarch(int op, char *parms); }
297166	AUE_RTPRIO	NOPROTO	{ int rtprio(int function, pid_t pid, \
298				    struct rtprio *rtp); }
299167	AUE_NULL	UNIMPL	nosys
300168	AUE_NULL	UNIMPL	nosys
301169	AUE_SEMSYS	STD	{ int freebsd32_semsys(int which, int a2, \
302				    int a3, int a4, int a5); }
303170	AUE_MSGSYS	STD	{ int freebsd32_msgsys(int which, int a2, \
304				    int a3, int a4, int a5, int a6); }
305171	AUE_SHMSYS	STD	{ int freebsd32_shmsys(uint32_t which, uint32_t a2, \
306				    uint32_t a3, uint32_t a4); }
307172	AUE_NULL	UNIMPL	nosys
308173	AUE_PREAD	STD	{ ssize_t freebsd32_pread(int fd, void *buf, \
309				    size_t nbyte, int pad, \
310				    u_int32_t offsetlo, u_int32_t offsethi); }
311; XXX note - bigendian is different
312174	AUE_PWRITE	STD	{ ssize_t freebsd32_pwrite(int fd, \
313				    const void *buf, size_t nbyte, int pad, \
314				    u_int32_t offsetlo, u_int32_t offsethi); }
315; XXX note - bigendian is different
316175	AUE_NULL	UNIMPL	nosys
317176	AUE_NTP_ADJTIME	NOPROTO	{ int ntp_adjtime(struct timex *tp); }
318177	AUE_NULL	UNIMPL	sfork (BSD/OS 2.x)
319178	AUE_NULL	UNIMPL	getdescriptor (BSD/OS 2.x)
320179	AUE_NULL	UNIMPL	setdescriptor (BSD/OS 2.x)
321180	AUE_NULL	UNIMPL	nosys
322
323; Syscalls 181-199 are used by/reserved for BSD
324181	AUE_SETGID	NOPROTO	{ int setgid(gid_t gid); }
325182	AUE_SETEGID	NOPROTO	{ int setegid(gid_t egid); }
326183	AUE_SETEUID	NOPROTO	{ int seteuid(uid_t euid); }
327184	AUE_NULL	UNIMPL	lfs_bmapv
328185	AUE_NULL	UNIMPL	lfs_markv
329186	AUE_NULL	UNIMPL	lfs_segclean
330187	AUE_NULL	UNIMPL	lfs_segwait
331188	AUE_STAT	STD	{ int freebsd32_stat(char *path, \
332				    struct stat32 *ub); }
333189	AUE_FSTAT	STD	{ int freebsd32_fstat(int fd, \
334				    struct stat32 *ub); }
335190	AUE_LSTAT	STD	{ int freebsd32_lstat(char *path, \
336				    struct stat32 *ub); }
337191	AUE_PATHCONF	NOPROTO	{ int pathconf(char *path, int name); }
338192	AUE_FPATHCONF	NOPROTO	{ int fpathconf(int fd, int name); }
339193	AUE_NULL	UNIMPL	nosys
340194	AUE_GETRLIMIT	NOPROTO	{ int getrlimit(u_int which, \
341				    struct rlimit *rlp); } getrlimit \
342				    __getrlimit_args int
343195	AUE_SETRLIMIT	NOPROTO	{ int setrlimit(u_int which, \
344				    struct rlimit *rlp); } setrlimit \
345				    __setrlimit_args int
346196	AUE_GETDIRENTRIES	NOPROTO	{ int getdirentries(int fd, char *buf, \
347				    u_int count, long *basep); }
348197	AUE_MMAP	STD 	{ caddr_t freebsd32_mmap(caddr_t addr, \
349				    size_t len, int prot, int flags, int fd, \
350				    int pad, u_int32_t poslo, \
351				    u_int32_t poshi); }
352198	AUE_NULL	NOPROTO	{ int nosys(void); } __syscall \
353				    __syscall_args int
354; XXX note - bigendian is different
355199	AUE_LSEEK	STD	{ off_t freebsd32_lseek(int fd, int pad, \
356				    u_int32_t offsetlo, u_int32_t offsethi, \
357				    int whence); }
358; XXX note - bigendian is different
359200	AUE_TRUNCATE	STD	{ int freebsd32_truncate(char *path, \
360				    int pad, u_int32_t lengthlo, \
361				    u_int32_t lengthhi); }
362; XXX note - bigendian is different
363201	AUE_FTRUNCATE	STD	{ int freebsd32_ftruncate(int fd, int pad, \
364				    u_int32_t lengthlo, u_int32_t lengthhi); }
365202	AUE_SYSCTL	STD	{ int freebsd32_sysctl(int *name, \
366				    u_int namelen, void *old, \
367				    u_int32_t *oldlenp, void *new, \
368				    u_int32_t newlen); }
369203	AUE_MLOCK	NOPROTO	{ int mlock(const void *addr, \
370				    size_t len); }
371204	AUE_MUNLOCK	NOPROTO	{ int munlock(const void *addr, \
372				    size_t len); }
373205	AUE_UNDELETE	NOPROTO	{ int undelete(char *path); }
374206	AUE_FUTIMES	STD	{ int freebsd32_futimes(int fd, \
375				    struct timeval32 *tptr); }
376207	AUE_GETPGID	NOPROTO	{ int getpgid(pid_t pid); }
377208	AUE_NULL	UNIMPL	newreboot (NetBSD)
378209	AUE_POLL	NOPROTO	{ int poll(struct pollfd *fds, u_int nfds, \
379				    int timeout); }
380
381;
382; The following are reserved for loadable syscalls
383;
384210	AUE_NULL	UNIMPL
385211	AUE_NULL	UNIMPL
386212	AUE_NULL	UNIMPL
387213	AUE_NULL	UNIMPL
388214	AUE_NULL	UNIMPL
389215	AUE_NULL	UNIMPL
390216	AUE_NULL	UNIMPL
391217	AUE_NULL	UNIMPL
392218	AUE_NULL	UNIMPL
393219	AUE_NULL	UNIMPL
394
395;
396; The following were introduced with NetBSD/4.4Lite-2
397; They are initialized by thier respective modules/sysinits
398; XXX PROBLEM!!
399220	AUE_SEMCTL	NOPROTO	{ int __semctl(int semid, int semnum, \
400				    int cmd, union semun *arg); }
401221	AUE_SEMGET	NOPROTO	{ int semget(key_t key, int nsems, \
402				    int semflg); }
403222	AUE_SEMOP	NOPROTO	{ int semop(int semid, struct sembuf *sops, \
404				    u_int nsops); }
405223	AUE_NULL	UNIMPL	semconfig
406224	AUE_MSGCTL	NOPROTO	{ int msgctl(int msqid, int cmd, \
407				    struct msqid_ds *buf); }
408225	AUE_MSGGET	NOPROTO	{ int msgget(key_t key, int msgflg); }
409226	AUE_MSGSND	NOPROTO	{ int msgsnd(int msqid, void *msgp, \
410				    size_t msgsz, int msgflg); }
411227	AUE_MSGRCV	NOPROTO	{ int msgrcv(int msqid, void *msgp, \
412				    size_t msgsz, long msgtyp, int msgflg); }
413228	AUE_SHMAT	NOPROTO	{ int shmat(int shmid, void *shmaddr, \
414				    int shmflg); }
415229	AUE_SHMCTL	STD	{ int freebsd32_shmctl(int shmid, int cmd, \
416				    struct shmid_ds *buf); }
417230	AUE_SHMDT	NOPROTO	{ int shmdt(void *shmaddr); }
418231	AUE_SHMGET	NOPROTO	{ int shmget(key_t key, int size, \
419				    int shmflg); }
420;
421232	AUE_NULL	STD 	{ int freebsd32_clock_gettime(clockid_t clock_id, \
422				    struct timespec32 *tp); }
423233	AUE_CLOCK_SETTIME	STD	{ int freebsd32_clock_settime(clockid_t clock_id, \
424				    const struct timespec32 *tp); }
425234	AUE_NULL	STD	{ int freebsd32_clock_getres(clockid_t clock_id, \
426				    struct timespec32 *tp); }
427235	AUE_NULL	UNIMPL	timer_create
428236	AUE_NULL	UNIMPL	timer_delete
429237	AUE_NULL	UNIMPL	timer_settime
430238	AUE_NULL	UNIMPL	timer_gettime
431239	AUE_NULL	UNIMPL	timer_getoverrun
432240	AUE_NULL	STD	{ int freebsd32_nanosleep( \
433				    const struct timespec32 *rqtp, \
434				    struct timespec32 *rmtp); }
435241	AUE_NULL	UNIMPL	nosys
436242	AUE_NULL	UNIMPL	nosys
437243	AUE_NULL	UNIMPL	nosys
438244	AUE_NULL	UNIMPL	nosys
439245	AUE_NULL	UNIMPL	nosys
440246	AUE_NULL	UNIMPL	nosys
441247	AUE_NULL	UNIMPL	nosys
442248	AUE_NULL	UNIMPL	ntp_gettime
443249	AUE_NULL	UNIMPL	nosys
444; syscall numbers initially used in OpenBSD
445250	AUE_MINHERIT	NOPROTO	{ int minherit(void *addr, size_t len, \
446				    int inherit); }
447251	AUE_RFORK	NOPROTO	{ int rfork(int flags); }
448252	AUE_POLL	NOPROTO	{ int openbsd_poll(struct pollfd *fds, \
449				    u_int nfds, int timeout); }
450253	AUE_ISSETUGID	NOPROTO	{ int issetugid(void); }
451254	AUE_LCHOWN	NOPROTO	{ int lchown(char *path, int uid, int gid); }
452255	AUE_NULL	UNIMPL	nosys
453256	AUE_NULL	UNIMPL	nosys
454257	AUE_NULL	UNIMPL	nosys
455258	AUE_NULL	UNIMPL	nosys
456259	AUE_NULL	UNIMPL	nosys
457260	AUE_NULL	UNIMPL	nosys
458261	AUE_NULL	UNIMPL	nosys
459262	AUE_NULL	UNIMPL	nosys
460263	AUE_NULL	UNIMPL	nosys
461264	AUE_NULL	UNIMPL	nosys
462265	AUE_NULL	UNIMPL	nosys
463266	AUE_NULL	UNIMPL	nosys
464267	AUE_NULL	UNIMPL	nosys
465268	AUE_NULL	UNIMPL	nosys
466269	AUE_NULL	UNIMPL	nosys
467270	AUE_NULL	UNIMPL	nosys
468271	AUE_NULL	UNIMPL	nosys
469272	AUE_O_GETDENTS	NOPROTO	{ int getdents(int fd, char *buf, \
470				    size_t count); }
471273	AUE_NULL	UNIMPL	nosys
472274	AUE_LCHMOD	NOPROTO	{ int lchmod(char *path, mode_t mode); }
473275	AUE_LCHOWN	NOPROTO	{ int lchown(char *path, uid_t uid, \
474				    gid_t gid); } netbsd_lchown \
475				    lchown_args int
476276	AUE_LUTIMES	STD	{ int freebsd32_lutimes(char *path, \
477				    struct timeval32 *tptr); }
478277	AUE_MSYNC	NOPROTO	{ int msync(void *addr, size_t len, \
479				    int flags); } netbsd_msync msync_args int
480278	AUE_STAT	NOPROTO	{ int nstat(char *path, struct nstat *ub); }
481279	AUE_FSTAT	NOPROTO	{ int nfstat(int fd, struct nstat *sb); }
482280	AUE_LSTAT	NOPROTO	{ int nlstat(char *path, struct nstat *ub); }
483281	AUE_NULL	UNIMPL	nosys
484282	AUE_NULL	UNIMPL	nosys
485283	AUE_NULL	UNIMPL	nosys
486284	AUE_NULL	UNIMPL	nosys
487285	AUE_NULL	UNIMPL	nosys
488286	AUE_NULL	UNIMPL	nosys
489287	AUE_NULL	UNIMPL	nosys
490288	AUE_NULL	UNIMPL	nosys
491; 289 and 290 from NetBSD (OpenBSD: 267 and 268)
492289	AUE_PREADV	STD	{ ssize_t freebsd32_preadv(int fd, \
493					struct iovec32 *iovp, \
494					u_int iovcnt, off_t offset); }
495; XXX note - bigendian is different
496290	AUE_PWRITEV	STD	{ ssize_t freebsd32_pwritev(int fd, \
497					struct iovec32 *iovp, \
498					u_int iovcnt, off_t offset); }
499; XXX note - bigendian is different
500291	AUE_NULL	UNIMPL	nosys
501292	AUE_NULL	UNIMPL	nosys
502293	AUE_NULL	UNIMPL	nosys
503294	AUE_NULL	UNIMPL	nosys
504295	AUE_NULL	UNIMPL	nosys
505296	AUE_NULL	UNIMPL	nosys
506; XXX 297 is 300 in NetBSD 
507297	AUE_FHSTATFS	COMPAT4	{ int freebsd32_fhstatfs( \
508				    const struct fhandle *u_fhp, \
509				    struct statfs32 *buf); }
510298	AUE_FHOPEN	NOPROTO	{ int fhopen(const struct fhandle *u_fhp, \
511			 	    int flags); }
512299	AUE_FHSTAT	NOPROTO	{ int fhstat(const struct fhandle *u_fhp, \
513				    struct stat *sb); }
514; syscall numbers for FreeBSD
515300	AUE_NULL	NOPROTO	{ int modnext(int modid); }
516301	AUE_NULL	STD	{ int freebsd32_modstat(int modid, \
517				    struct module_stat32* stat); }
518302	AUE_NULL	NOPROTO	{ int modfnext(int modid); }
519303	AUE_NULL	NOPROTO	{ int modfind(const char *name); }
520304	AUE_MODLOAD	NOPROTO	{ int kldload(const char *file); }
521305	AUE_MODUNLOAD	NOPROTO	{ int kldunload(int fileid); }
522306	AUE_NULL	NOPROTO	{ int kldfind(const char *file); }
523307	AUE_NULL	NOPROTO	{ int kldnext(int fileid); }
524308	AUE_NULL	NOPROTO	{ int kldstat(int fileid, \
525				    struct kld_file_stat* stat); }
526309	AUE_NULL	NOPROTO	{ int kldfirstmod(int fileid); }
527310	AUE_GETSID	NOPROTO	{ int getsid(pid_t pid); }
528311	AUE_SETRESUID	NOPROTO	{ int setresuid(uid_t ruid, uid_t euid, \
529				    uid_t suid); }
530312	AUE_SETRESGID	NOPROTO	{ int setresgid(gid_t rgid, gid_t egid, \
531				    gid_t sgid); }
532313	AUE_NULL	OBSOL	signanosleep
533314	AUE_NULL	UNIMPL	aio_return
534315	AUE_NULL	UNIMPL	aio_suspend
535316	AUE_NULL	UNIMPL	aio_cancel
536317	AUE_NULL	UNIMPL	aio_error
537318	AUE_NULL	UNIMPL	aio_read
538319	AUE_NULL	UNIMPL	aio_write
539320	AUE_NULL	UNIMPL	lio_listio
540321	AUE_NULL	NOPROTO	{ int yield(void); }
541322	AUE_NULL	OBSOL	thr_sleep
542323	AUE_NULL	OBSOL	thr_wakeup
543324	AUE_MLOCKALL	NOPROTO	{ int mlockall(int how); }
544325	AUE_MUNLOCKALL	NOPROTO	{ int munlockall(void); }
545326	AUE_GETCWD	NOPROTO	{ int __getcwd(u_char *buf, u_int buflen); }
546
547327	AUE_NULL	NOPROTO	{ int sched_setparam (pid_t pid, \
548				    const struct sched_param *param); }
549328	AUE_NULL	NOPROTO	{ int sched_getparam (pid_t pid, \
550				    struct sched_param *param); }
551
552329	AUE_NULL	NOPROTO	{ int sched_setscheduler (pid_t pid, \
553				    int policy, \
554				    const struct sched_param *param); }
555330	AUE_NULL	NOPROTO	{ int sched_getscheduler (pid_t pid); }
556
557331	AUE_NULL	NOPROTO	{ int sched_yield (void); }
558332	AUE_NULL	NOPROTO	{ int sched_get_priority_max (int policy); }
559333	AUE_NULL	NOPROTO	{ int sched_get_priority_min (int policy); }
560334	AUE_NULL	NOPROTO	{ int sched_rr_get_interval (pid_t pid, \
561				    struct timespec *interval); }
562335	AUE_NULL	NOPROTO	{ int utrace(const void *addr, size_t len); }
563; XXX note - bigendian is different
564336	AUE_SENDFILE	COMPAT4	{ int freebsd32_sendfile(int fd, int s, \
565				    u_int32_t offsetlo, u_int32_t offsethi, \
566				    size_t nbytes, struct sf_hdtr32 *hdtr, \
567				    off_t *sbytes, int flags); }
568337	AUE_NULL	NOPROTO	{ int kldsym(int fileid, int cmd, \
569				    void *data); }
570338	AUE_JAIL	NOPROTO	{ int jail(struct jail *jail); }
571339	AUE_NULL	UNIMPL	pioctl
572340	AUE_SIGPROCMASK	NOPROTO	{ int sigprocmask(int how, \
573				    const sigset_t *set, sigset_t *oset); }
574341	AUE_SIGSUSPEND	NOPROTO	{ int sigsuspend(const sigset_t *sigmask); }
575342	AUE_SIGACTION	COMPAT4	{ int freebsd32_sigaction(int sig, \
576				    struct sigaction32 *act, \
577				    struct sigaction32 *oact); }
578343	AUE_SIGPENDING	NOPROTO	{ int sigpending(sigset_t *set); }
579344	AUE_SIGRETURN	COMPAT4	{ int freebsd32_sigreturn( \
580		    const struct freebsd4_freebsd32_ucontext *sigcntxp); }
581345	AUE_SIGWAIT	STD	{ int freebsd32_sigtimedwait(const sigset_t *set, \
582				    siginfo_t *info, \
583				    const struct timespec *timeout); }
584346	AUE_NULL	STD	{ int freebsd32_sigwaitinfo(const sigset_t *set, \
585				    siginfo_t *info); }
586347	AUE_NULL	NOPROTO	{ int __acl_get_file(const char *path, \
587				    acl_type_t type, struct acl *aclp); }
588348	AUE_NULL	NOPROTO	{ int __acl_set_file(const char *path, \
589				    acl_type_t type, struct acl *aclp); }
590349	AUE_NULL	NOPROTO	{ int __acl_get_fd(int filedes, \
591				    acl_type_t type, struct acl *aclp); }
592350	AUE_NULL	NOPROTO	{ int __acl_set_fd(int filedes, \
593				    acl_type_t type, struct acl *aclp); }
594351	AUE_NULL	NOPROTO	{ int __acl_delete_file(const char *path, \
595				    acl_type_t type); }
596352	AUE_NULL	NOPROTO	{ int __acl_delete_fd(int filedes, \
597				    acl_type_t type); }
598353	AUE_NULL	NOPROTO	{ int __acl_aclcheck_file(const char *path, \
599				    acl_type_t type, struct acl *aclp); }
600354	AUE_NULL	NOPROTO	{ int __acl_aclcheck_fd(int filedes, \
601				    acl_type_t type, struct acl *aclp); }
602355	AUE_EXTATTRCTL	NOPROTO	{ int extattrctl(const char *path, int cmd, \
603				    const char *filename, int attrnamespace, \
604				    const char *attrname); }
605356	AUE_EXTATTR_SET_FILE	NOPROTO	{ int extattr_set_file( \
606				    const char *path, int attrnamespace, \
607				    const char *attrname, void *data, \
608				    size_t nbytes); }
609357	AUE_EXTATTR_GET_FILE	NOPROTO	{ ssize_t extattr_get_file( \
610				    const char *path, int attrnamespace, \
611				    const char *attrname, void *data, \
612				    size_t nbytes); }
613358	AUE_EXTATTR_DELETE_FILE	NOPROTO	{ int extattr_delete_file( \
614				    const char *path, int attrnamespace, \
615				    const char *attrname); }
616359	AUE_NULL	UNIMPL	aio_waitcomplete
617360	AUE_GETRESUID	NOPROTO	{ int getresuid(uid_t *ruid, uid_t *euid, \
618				    uid_t *suid); }
619361	AUE_GETRESGID	NOPROTO	{ int getresgid(gid_t *rgid, gid_t *egid, \
620				    gid_t *sgid); }
621362	AUE_KQUEUE	NOPROTO	{ int kqueue(void); }
622363	AUE_NULL	STD	{ int freebsd32_kevent(int fd, \
623				    const struct kevent32 *changelist, \
624				    int nchanges, \
625				    struct kevent32 *eventlist, int nevents, \
626				    const struct timespec32 *timeout); }
627364	AUE_NULL	UNIMPL	__cap_get_proc
628365	AUE_NULL	UNIMPL	__cap_set_proc
629366	AUE_NULL	UNIMPL	__cap_get_fd
630367	AUE_NULL	UNIMPL	__cap_get_file
631368	AUE_NULL	UNIMPL	__cap_set_fd
632369	AUE_NULL	UNIMPL	__cap_set_file
633370	AUE_NULL	UNIMPL	lkmressys
634371	AUE_EXTATTR_SET_FD	NOPROTO	{ int extattr_set_fd(int fd, \
635				    int attrnamespace, const char *attrname, \
636				    void *data, size_t nbytes); }
637372	AUE_EXTATTR_GET_FD	NOPROTO	{ ssize_t extattr_get_fd(int fd, \
638				    int attrnamespace, const char *attrname, \
639				    void *data, size_t nbytes); }
640373	AUE_EXTATTR_DELETE_FD	NOPROTO	{ int extattr_delete_fd(int fd, \
641				    int attrnamespace, \
642				    const char *attrname); }
643374	AUE_NULL	NOPROTO	{ int __setugid(int flag); }
644375	AUE_NULL	UNIMPL	nfsclnt
645376	AUE_EACCESS	NOPROTO	{ int eaccess(char *path, int flags); }
646377	AUE_NULL	UNIMPL	afs_syscall
647378	AUE_NMOUNT	NOPROTO	{ int nmount(struct iovec *iovp, \
648				    unsigned int iovcnt, int flags); }
649379	AUE_NULL	NOPROTO	{ int kse_exit(void); }
650380	AUE_NULL	NOPROTO	{ int kse_wakeup(struct kse_mailbox *mbx); }
651381	AUE_NULL	NOPROTO	{ int kse_create(struct kse_mailbox *mbx, \
652				    int newgroup); }
653382	AUE_NULL	NOPROTO	{ int kse_thr_interrupt( \
654				    struct kse_thr_mailbox *tmbx); }
655383	AUE_NULL	NOPROTO	{ int kse_release(void); }
656384	AUE_NULL	UNIMPL	__mac_get_proc
657385	AUE_NULL	UNIMPL	__mac_set_proc
658386	AUE_NULL	UNIMPL	__mac_get_fd
659387	AUE_NULL	UNIMPL	__mac_get_file
660388	AUE_NULL	UNIMPL	__mac_set_fd
661389	AUE_NULL	UNIMPL	__mac_set_file
662390	AUE_NULL	NOPROTO	{ int kenv(int what, const char *name, \
663				    char *value, int len); }
664391	AUE_LCHFLAGS	NOPROTO	{ int lchflags(const char *path, int flags); }
665392	AUE_NULL	NOPROTO	{ int uuidgen(struct uuid *store, \
666				    int count); }
667393	AUE_SENDFILE	STD	{ int freebsd32_sendfile(int fd, int s, \
668				    u_int32_t offsetlo, u_int32_t offsethi, \
669				    size_t nbytes, struct sf_hdtr32 *hdtr, \
670				    off_t *sbytes, int flags); }
671394	AUE_NULL	UNIMPL	mac_syscall
672395	AUE_GETFSSTAT	NOPROTO	{ int getfsstat(struct statfs *buf, \
673				    long bufsize, int flags); }
674396	AUE_STATFS	NOPROTO	{ int statfs(char *path, \
675				    struct statfs *buf); }
676397	AUE_FSTATFS	NOPROTO	{ int fstatfs(int fd, struct statfs *buf); }
677398	AUE_FHSTATFS	NOPROTO	{ int fhstatfs(const struct fhandle *u_fhp, \
678				    struct statfs *buf); }
679399	AUE_NULL	UNIMPL	nosys
680; XXX implement these?
681400	AUE_NULL	UNIMPL	ksem_close
682401	AUE_NULL	UNIMPL	ksem_post
683402	AUE_NULL	UNIMPL	ksem_wait
684403	AUE_NULL	UNIMPL	ksem_trywait
685404	AUE_NULL	UNIMPL	ksem_init
686405	AUE_NULL	UNIMPL	ksem_open
687406	AUE_NULL	UNIMPL	ksem_unlink
688407	AUE_NULL	UNIMPL	ksem_getvalue
689408	AUE_NULL	UNIMPL	ksem_destroy
690409	AUE_NULL	UNIMPL	__mac_get_pid
691410	AUE_NULL	UNIMPL	__mac_get_link
692411	AUE_NULL	UNIMPL	__mac_set_link
693412	AUE_EXTATTR_SET_LINK	UNIMPL	extattr_set_link
694413	AUE_EXTATTR_GET_LINK	UNIMPL	extattr_get_link
695414	AUE_EXTATTR_DELETE_LINK	UNIMPL	extattr_delete_link
696415	AUE_NULL	UNIMPL	__mac_execve
697416	AUE_SIGACTION	STD	{ int freebsd32_sigaction(int sig, \
698				    struct sigaction32 *act, \
699				    struct sigaction32 *oact); }
700417	AUE_SIGRETURN	STD	{ int freebsd32_sigreturn( \
701		    const struct freebsd32_ucontext *sigcntxp); }
702418	AUE_NULL	UNIMPL	__xstat
703419	AUE_NULL	UNIMPL	__xfstat
704420	AUE_NULL	UNIMPL	__xlstat
705421	AUE_NULL	STD	{ int freebsd32_getcontext( \
706				    struct freebsd32_ucontext *ucp); }
707422	AUE_NULL	STD	{ int freebsd32_setcontext( \
708				    const struct freebsd32_ucontext *ucp); }
709423	AUE_NULL	STD	{ int freebsd32_swapcontext( \
710				    struct freebsd32_ucontext *oucp, \
711				    const struct freebsd32_ucontext *ucp); }
712424	AUE_SWAPOFF	UNIMPL	swapoff
713425	AUE_NULL	UNIMPL	__acl_get_link
714426	AUE_NULL	UNIMPL	__acl_set_link
715427	AUE_NULL	UNIMPL	__acl_delete_link
716428	AUE_NULL	UNIMPL	__acl_aclcheck_link
717; XXX implement
718429	AUE_SIGWAIT	NOPROTO	{ int sigwait(const sigset_t *set, \
719				    int *sig); }
720430	AUE_NULL	UNIMPL	thr_create;
721431	AUE_NULL	NOPROTO	{ void thr_exit(long *state); }
722432	AUE_NULL	NOPROTO	{ int thr_self(long *id); }
723433	AUE_NULL	NOPROTO	{ int thr_kill(long id, int sig); }
724434	AUE_NULL	STD	{ int freebsd32_umtx_lock(struct umtx *umtx); }
725435	AUE_NULL	STD	{ int freebsd32_umtx_unlock(struct umtx *umtx); }
726436	AUE_NULL	NOPROTO	{ int jail_attach(int jid); }
727437	AUE_EXTATTR_LIST_FD	UNIMPL	extattr_list_fd
728438	AUE_EXTATTR_LIST_FILE	UNIMPL	extattr_list_file
729439	AUE_EXTATTR_LIST_LINK	UNIMPL	extattr_list_link
730440	AUE_NULL	UNIMPL	kse_switchin
731441	AUE_NULL	UNIMPL	ksem_timedwait
732442	AUE_NULL	STD	{ int freebsd32_thr_suspend( \
733				    const struct timespec32 *timeout); }
734443	AUE_NULL	NOPROTO	{ int thr_wake(long id); }
735444	AUE_MODUNLOAD	NOPROTO	{ int kldunloadf(int fileid, int flags); }
736445	AUE_AUDIT	UNIMPL	audit
737446	AUE_AUDITON	UNIMPL	auditon
738447	AUE_GETAUID	UNIMPL	getauid
739448	AUE_SETAUID	UNIMPL	setauid
740449	AUE_GETAUDIT	UNIMPL	getaudit
741450	AUE_SETAUDIT	UNIMPL	setaudit
742451	AUE_GETAUDIT_ADDR	UNIMPL	getaudit_addr
743452	AUE_SETAUDIT_ADDR	UNIMPL	setaudit_addr
744453	AUE_AUDITCTL	UNIMPL	auditctl
745454	AUE_NULL	STD	{ int freebsd32_umtx_op(void *obj, int op,\
746				    u_long val, void *uaddr, \
747				    void *uaddr2); }
748455	AUE_NULL	STD	{ int freebsd32_thr_new(	\
749				    struct thr_param32 *param,	\
750				    int param_size); }
751456	AUE_NULL	NOPROTO	{ int sigqueue(pid_t pid, int signum, \
752				    void *value); }
753457	AUE_NULL	UNIMPL	kmq_open
754458	AUE_NULL	UNIMPL	kmq_setattr
755459	AUE_NULL	UNIMPL	kmq_timedreceive
756460	AUE_NULL	UNIMPL  kmq_timedsend
757461	AUE_NULL	UNIMPL	kmq_notify
758462	AUE_NULL	UNIMPL	kmq_unlink
759463	AUE_NULL	NOPROTO	{ int abort2(const char *why, int nargs, void **args); }
760464	AUE_NULL 	NOPROTO	{ int thr_set_name(long id, const char *name); }
761465	AUE_NULL	UNIMPL	aio_fsync
762466	AUE_RTPRIO	NOPROTO	{ int rtprio_thread(int function, \
763				    lwpid_t lwpid, struct rtprio *rtp); }
764467	AUE_NULL	UNIMPL	nosys
765468	AUE_NULL	UNIMPL	nosys
766469	AUE_NULL	UNIMPL	__getpath_fromfd
767470	AUE_NULL	UNIMPL	__getpath_fromaddr
768