syscalls.master revision 160797
1 $FreeBSD: head/sys/compat/freebsd32/syscalls.master 160797 2006-07-28 18:55:18Z jhb $
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 [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, [M]COMPAT4
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;	COMPAT4	included on COMPAT4 #ifdef (FreeBSD 4 compat)
32;	LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
33;	OBSOL	obsolete, not included in system, only specifies name
34;	UNIMPL	not implemented, placeholder only
35;	NOSTD	implemented but as a lkm that can be statically
36;		compiled in; sysent entry will be filled with lkmsys
37;		so the SYSCALL_MODULE macro works
38
39; #ifdef's, etc. may be included, and are copied to the output files.
40
41#include <sys/param.h>
42#include <sys/sysent.h>
43#include <sys/sysproto.h>
44#include <sys/mount.h>
45#include <compat/freebsd32/freebsd32.h>
46#include <compat/freebsd32/freebsd32_proto.h>
47
48; Reserved/unimplemented system calls in the range 0-150 inclusive
49; are reserved for use in future Berkeley releases.
50; Additional system calls implemented in vendor and other
51; redistributions should be placed in the reserved range at the end
52; of the current calls.
53
540	AUE_NULL	MNOPROTO { int nosys(void); } syscall nosys_args int
551	AUE_EXIT	MNOPROTO { void sys_exit(int rval); } exit \
56				    sys_exit_args void
572	AUE_FORK	MNOPROTO { int fork(void); }
583	AUE_READ	MNOPROTO { ssize_t read(int fd, void *buf, \
59				    size_t nbyte); }
604	AUE_WRITE	MNOPROTO { ssize_t write(int fd, const void *buf, \
61				    size_t nbyte); }
625	AUE_OPEN_RWTC	MNOPROTO { int open(char *path, int flags, \
63				    int mode); }
646	AUE_CLOSE	MNOPROTO { int close(int fd); }
657	AUE_WAIT4	MSTD	{ int freebsd32_wait4(int pid, int *status, \
66				    int options, struct rusage32 *rusage); }
678	AUE_CREAT	OBSOL	old creat
689	AUE_LINK	MNOPROTO { int link(char *path, char *link); }
6910	AUE_UNLINK	MNOPROTO { int unlink(char *path); }
7011	AUE_NULL	OBSOL	execv
7112	AUE_CHDIR	MNOPROTO	{ int chdir(char *path); }
7213	AUE_FCHDIR	MNOPROTO	{ int fchdir(int fd); }
7314	AUE_MKNOD	MNOPROTO	{ int mknod(char *path, int mode, int dev); }
7415	AUE_CHMOD	MNOPROTO	{ int chmod(char *path, int mode); }
7516	AUE_CHOWN	MNOPROTO	{ int chown(char *path, int uid, int gid); }
7617	AUE_NULL	MNOPROTO { int obreak(char *nsize); } break \
77				    obreak_args int
7818	AUE_GETFSSTAT	MCOMPAT4	{ int freebsd32_getfsstat( \
79				    struct statfs32 *buf, long bufsize, \
80				    int flags); }
8119	AUE_LSEEK	OBSOL	olseek
8220	AUE_GETPID	MNOPROTO { pid_t getpid(void); }
8321	AUE_MOUNT	MNOPROTO { int mount(char *type, char *path, \
84				    int flags, caddr_t data); }
8522	AUE_UMOUNT	MNOPROTO { int unmount(char *path, int flags); }
8623	AUE_SETUID	MNOPROTO { int setuid(uid_t uid); }
8724	AUE_GETUID	MNOPROTO { uid_t getuid(void); }
8825	AUE_GETEUID	MNOPROTO { uid_t geteuid(void); }
8926	AUE_PTRACE	MNOPROTO { int ptrace(int req, pid_t pid, \
90				    caddr_t addr, int data); }
91; XXX implement
9227	AUE_RECVMSG	MSTD	 { int freebsd32_recvmsg(int s, struct msghdr32 *msg, \
93				    int flags); }
9428	AUE_SENDMSG	MSTD	 { int freebsd32_sendmsg(int s, struct msghdr32 *msg, \
95				    int flags); }
9629	AUE_RECVFROM	MSTD	 { int freebsd32_recvfrom(int s, u_int32_t buf, \
97				    u_int32_t len, int flags, u_int32_t from, \
98				    u_int32_t fromlenaddr); }
9930	AUE_ACCEPT	MNOPROTO { int accept(int s, caddr_t name, \
100				    int *anamelen); }
10131	AUE_GETPEERNAME	MNOPROTO { int getpeername(int fdes, caddr_t asa, \
102				    int *alen); }
10332	AUE_GETSOCKNAME	MNOPROTO { int getsockname(int fdes, caddr_t asa, \
104				    int *alen); }
10533	AUE_ACCESS	MNOPROTO	{ int access(char *path, int flags); }
10634	AUE_CHFLAGS	MNOPROTO	{ int chflags(char *path, int flags); }
10735	AUE_FCHFLAGS	MNOPROTO	{ int fchflags(int fd, int flags); }
10836	AUE_SYNC	MNOPROTO	{ int sync(void); }
10937	AUE_KILL	MNOPROTO { int kill(int pid, int signum); }
11038	AUE_STAT	UNIMPL	ostat
11139	AUE_GETPPID	MNOPROTO { pid_t getppid(void); }
11240	AUE_LSTAT	UNIMPL	olstat
11341	AUE_DUP		MNOPROTO { int dup(u_int fd); }
11442	AUE_PIPE	MNOPROTO { int pipe(void); }
11543	AUE_GETEGID	MNOPROTO { gid_t getegid(void); }
11644	AUE_PROFILE	MNOPROTO { int profil(caddr_t samples, size_t size, \
117				    size_t offset, u_int scale); }
11845	AUE_KTRACE	MNOPROTO { int ktrace(const char *fname, int ops, \
119				    int facs, int pid); }
12046	AUE_SIGACTION	MCOMPAT	 { int freebsd32_sigaction( int signum, \
121				   struct osigaction32 *nsa, \
122				   struct osigaction32 *osa); }
12347	AUE_GETGID	MNOPROTO { gid_t getgid(void); }
12448	AUE_SIGPROCMASK	MCOMPAT	 { int freebsd32_sigprocmask(int how, \
125				   osigset_t mask); }
12649	AUE_GETLOGIN	MNOPROTO { int getlogin(char *namebuf, \
127				    u_int namelen); }
12850	AUE_SETLOGIN	MNOPROTO { int setlogin(char *namebuf); }
12951	AUE_ACCT	MNOPROTO { int acct(char *path); }
13052	AUE_SIGPENDING	MCOMPAT	 { int freebsd32_sigpending(void); }
13153	AUE_SIGPENDING	MSTD	{ int freebsd32_sigaltstack( \
132				    struct sigaltstack32 *ss, \
133				    struct sigaltstack32 *oss); }
13454	AUE_IOCTL	MNOPROTO { int ioctl(int fd, u_long com, \
135				    caddr_t data); }
13655	AUE_REBOOT	MNOPROTO { int reboot(int opt); }
13756	AUE_REVOKE	MNOPROTO	{ int revoke(char *path); }
13857	AUE_SYMLINK	MNOPROTO	{ int symlink(char *path, char *link); }
13958	AUE_READLINK	MNOPROTO	{ int readlink(char *path, char *buf, \
140				    int count); }
14159	AUE_EXECVE	MSTD	 { int freebsd32_execve(char *fname, \
142				    u_int32_t *argv, u_int32_t *envv); }
14360	AUE_UMASK	MNOPROTO { int umask(int newmask); } umask \
144				    umask_args int
14561	AUE_CHROOT	MNOPROTO	{ int chroot(char *path); }
14662	AUE_FSTAT	OBSOL	ofstat
14763	AUE_NULL	OBSOL	ogetkerninfo
14864	AUE_GETPAGESIZE	OBSOL	ogetpagesize
149; XXX implement (not OBSOL at all)
15065	AUE_MSYNC	MNOPROTO { int msync(void *addr, size_t len, \
151				    int flags); }
15266	AUE_VFORK	MNOPROTO { int vfork(void); }
15367	AUE_NULL	OBSOL	vread
15468	AUE_NULL	OBSOL	vwrite
15569	AUE_SBRK	MNOPROTO { int sbrk(int incr); }
15670	AUE_SSTK	MNOPROTO { int sstk(int incr); }
15771	AUE_MMAP	OBSOL	ommap
15872	AUE_O_VADVISE	MNOPROTO { int ovadvise(int anom); } vadvise \
159				    ovadvise_args int
16073	AUE_MUNMAP	MNOPROTO { int munmap(void *addr, size_t len); }
16174	AUE_MPROTECT	MNOPROTO { int mprotect(const void *addr, \
162				    size_t len, int prot); }
16375	AUE_MADVISE	MNOPROTO { int madvise(void *addr, size_t len, \
164				    int behav); }
16576	AUE_NULL	OBSOL	vhangup
16677	AUE_NULL	OBSOL	vlimit
16778	AUE_MINCORE	MNOPROTO { int mincore(const void *addr, size_t len, \
168				    char *vec); }
16979	AUE_GETGROUPS	MNOPROTO { int getgroups(u_int gidsetsize, \
170				    gid_t *gidset); }
17180	AUE_SETGROUPS	MNOPROTO { int setgroups(u_int gidsetsize, \
172				    gid_t *gidset); }
17381	AUE_GETPGRP	MNOPROTO { int getpgrp(void); }
17482	AUE_SETPGRP	MNOPROTO { int setpgid(int pid, int pgid); }
17583	AUE_SETITIMER	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_SWAPON	OBSOL	oswapon
18186	AUE_GETITIMER	MSTD	{ int freebsd32_getitimer(u_int which, \
182				    struct itimerval32 *itv); }
18387	AUE_O_GETHOSTNAME	OBSOL	ogethostname
18488	AUE_O_SETHOSTNAME	OBSOL	osethostname
18589	AUE_GETDTABLESIZE	MNOPROTO { int getdtablesize(void); }
18690	AUE_DUP2	MNOPROTO { int dup2(u_int from, u_int to); }
18791	AUE_NULL	UNIMPL	getdopt
18892	AUE_FCNTL	MNOPROTO { int fcntl(int fd, int cmd, long arg); }
18993	AUE_SELECT	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_FSYNC	MNOPROTO	{ int fsync(int fd); }
19596	AUE_SETPRIORITY	MNOPROTO { int setpriority(int which, int who, \
196				    int prio); }
19797	AUE_SOCKET	MNOPROTO { int socket(int domain, int type, \
198				    int protocol); }
19998	AUE_CONNECT	MNOPROTO { int connect(int s, caddr_t name, \
200				    int namelen); }
20199	AUE_NULL	OBSOL	oaccept
202100	AUE_GETPRIORITY	MNOPROTO { int getpriority(int which, int who); }
203101	AUE_NULL	OBSOL	osend
204102	AUE_NULL	OBSOL	orecv
205103	AUE_NULL	OBSOL	osigreturn
206104	AUE_BIND	MNOPROTO { int bind(int s, caddr_t name, \
207				    int namelen); }
208105	AUE_SETSOCKOPT	MNOPROTO { int setsockopt(int s, int level, \
209				    int name, caddr_t val, int valsize); }
210106	AUE_LISTEN	MNOPROTO { int listen(int s, int backlog); }
211107	AUE_NULL	OBSOL	vtimes
212108	AUE_O_SIGVEC	MCOMPAT	 { int freebsd32_sigvec(int signum, \
213				     struct sigvec32 *nsv, \
214				     struct sigvec32 *osv); }
215109	AUE_O_SIGBLOCK	MCOMPAT	 { int freebsd32_sigblock(int mask); }
216110	AUE_O_SIGSETMASK	MCOMPAT	 { int freebsd32_sigsetmask( int mask); }
217111	AUE_SIGSUSPEND	MCOMPAT	 { int freebsd32_sigsuspend( int mask); }
218112	AUE_O_SIGSTACK	MCOMPAT	 { int freebsd32_sigstack( \
219				     struct sigstack32 *nss, \
220				     struct sigstack32 *oss); }
221113	AUE_NULL	OBSOL	orecvmsg
222114	AUE_NULL	OBSOL	osendmsg
223115	AUE_NULL	OBSOL	vtrace
224116	AUE_GETTIMEOFDAY	MSTD	{ int freebsd32_gettimeofday( \
225				    struct timeval32 *tp, \
226				    struct timezone *tzp); }
227117	AUE_GETRUSAGE	MSTD	{ int freebsd32_getrusage(int who, \
228				    struct rusage32 *rusage); }
229118	AUE_GETSOCKOPT	MNOPROTO { int getsockopt(int s, int level, \
230				    int name, caddr_t val, int *avalsize); }
231119	AUE_NULL	UNIMPL	resuba (BSD/OS 2.x)
232120	AUE_READV	MSTD	{ int freebsd32_readv(int fd, \
233				    struct iovec32 *iovp, u_int iovcnt); }
234121	AUE_WRITEV	MSTD	{ int freebsd32_writev(int fd, \
235				    struct iovec32 *iovp, u_int iovcnt); }
236122	AUE_SETTIMEOFDAY	MSTD	{ int freebsd32_settimeofday( \
237				    struct timeval32 *tv, \
238				    struct timezone *tzp); }
239123	AUE_FCHOWN	MNOPROTO	{ int fchown(int fd, int uid, int gid); }
240124	AUE_FCHMOD	MNOPROTO	{ int fchmod(int fd, int mode); }
241125	AUE_RECVFROM	OBSOL	orecvfrom
242126	AUE_SETREUID	MNOPROTO { int setreuid(int ruid, int euid); }
243127	AUE_SETREGID	MNOPROTO { int setregid(int rgid, int egid); }
244128	AUE_RENAME	MNOPROTO	{ int rename(char *from, char *to); }
245129	AUE_NULL	OBSOL	otruncate
246130	AUE_NULL	OBSOL	ftruncate
247131	AUE_FLOCK	MNOPROTO { int flock(int fd, int how); }
248132	AUE_MKFIFO	MNOPROTO	{ int mkfifo(char *path, int mode); }
249133	AUE_SENDTO	MNOPROTO { int sendto(int s, caddr_t buf, \
250				    size_t len, int flags, caddr_t to, \
251				    int tolen); }
252134	AUE_SHUTDOWN	MNOPROTO { int shutdown(int s, int how); }
253135	AUE_SOCKETPAIR	MNOPROTO { int socketpair(int domain, int type, \
254				    int protocol, int *rsv); }
255136	AUE_MKDIR	MNOPROTO	{ int mkdir(char *path, int mode); }
256137	AUE_RMDIR	MNOPROTO	{ int rmdir(char *path); }
257138	AUE_UTIMES	MSTD	{ int freebsd32_utimes(char *path, \
258				    struct timeval32 *tptr); }
259139	AUE_NULL	OBSOL	4.2 sigreturn
260140	AUE_ADJTIME	MSTD	{ int freebsd32_adjtime( \
261				    struct timeval32 *delta, \
262				    struct timeval32 *olddelta); }
263141	AUE_NULL	OBSOL	ogetpeername
264142	AUE_NULL	OBSOL	ogethostid
265143	AUE_NULL	OBSOL	sethostid
266144	AUE_NULL	OBSOL	getrlimit
267145	AUE_NULL	OBSOL	setrlimit
268146	AUE_NULL	OBSOL	killpg
269147	AUE_SETSID	MNOPROTO { int setsid(void); }
270148	AUE_QUOTACTL	MNOPROTO	{ int quotactl(char *path, int cmd, int uid, \
271				    caddr_t arg); }
272149	AUE_NULL	OBSOL oquota
273150	AUE_NULL	OBSOL ogetsockname
274
275; Syscalls 151-180 inclusive are reserved for vendor-specific
276; system calls.  (This includes various calls added for compatibity
277; with other Unix variants.)
278; Some of these calls are now supported by BSD...
279151	AUE_NULL	UNIMPL	sem_lock (BSD/OS 2.x)
280152	AUE_NULL	UNIMPL	sem_wakeup (BSD/OS 2.x)
281153	AUE_NULL	UNIMPL	asyncdaemon (BSD/OS 2.x)
282154	AUE_NULL	UNIMPL	nosys
283; 155 is initialized by the NFS code, if present.
284; XXX this is a problem!!!
285155	AUE_NFSSVC	UNIMPL	nfssvc
286156	AUE_NULL	OBSOL	ogetdirentries
287157	AUE_STATFS	MCOMPAT4	{ int freebsd32_statfs(char *path, \
288				    struct statfs32 *buf); }
289158	AUE_FSTATFS	MCOMPAT4	{ int freebsd32_fstatfs(int fd, \
290				    struct statfs32 *buf); }
291159	AUE_NULL	UNIMPL	nosys
292160	AUE_NULL	UNIMPL	nosys
293161	AUE_NFS_GETFH	MNOPROTO	{ int getfh(char *fname, \
294				    struct fhandle *fhp); }
295162	AUE_O_GETDOMAINNAME	MNOPROTO { int getdomainname(char *domainname, \
296				    int len); }
297163	AUE_O_SETDOMAINNAME	MNOPROTO { int setdomainname(char *domainname, \
298				    int len); }
299164	AUE_NULL	MNOPROTO { int uname(struct utsname *name); }
300165	AUE_NULL	MNOPROTO { int sysarch(int op, char *parms); }
301166	AUE_NULL	MNOPROTO { int rtprio(int function, pid_t pid, \
302				    struct rtprio *rtp); }
303167	AUE_NULL	UNIMPL	nosys
304168	AUE_NULL	UNIMPL	nosys
305169	AUE_SEMSYS	MSTD	{ int freebsd32_semsys(int which, int a2, \
306				    int a3, int a4, int a5); }
307170	AUE_MSGSYS	MSTD	{ int freebsd32_msgsys(int which, int a2, \
308				    int a3, int a4, int a5, int a6); }
309171	AUE_SHMSYS	MSTD	{ int freebsd32_shmsys(uint32_t which, uint32_t a2, \
310				    uint32_t a3, uint32_t a4); }
311172	AUE_NULL	UNIMPL	nosys
312173	AUE_PREAD	MSTD	{ ssize_t freebsd32_pread(int fd, void *buf, \
313				    size_t nbyte, int pad, \
314				    u_int32_t offsetlo, u_int32_t offsethi); }
315; XXX note - bigendian is different
316174	AUE_PWRITE	MSTD	{ ssize_t freebsd32_pwrite(int fd, \
317				    const void *buf, size_t nbyte, int pad, \
318				    u_int32_t offsetlo, u_int32_t offsethi); }
319; XXX note - bigendian is different
320175	AUE_NULL	UNIMPL	nosys
321176	AUE_ADJTIME	MNOPROTO { int ntp_adjtime(struct timex *tp); }
322177	AUE_NULL	UNIMPL	sfork (BSD/OS 2.x)
323178	AUE_NULL	UNIMPL	getdescriptor (BSD/OS 2.x)
324179	AUE_NULL	UNIMPL	setdescriptor (BSD/OS 2.x)
325180	AUE_NULL	UNIMPL	nosys
326
327; Syscalls 181-199 are used by/reserved for BSD
328181	AUE_SETGID	MNOPROTO { int setgid(gid_t gid); }
329182	AUE_SETEGID	MNOPROTO { int setegid(gid_t egid); }
330183	AUE_SETEUID	MNOPROTO { int seteuid(uid_t euid); }
331184	AUE_NULL	UNIMPL	lfs_bmapv
332185	AUE_NULL	UNIMPL	lfs_markv
333186	AUE_NULL	UNIMPL	lfs_segclean
334187	AUE_NULL	UNIMPL	lfs_segwait
335188	AUE_STAT	MSTD	{ int freebsd32_stat(char *path, \
336				    struct stat32 *ub); }
337189	AUE_FSTAT	MSTD	{ int freebsd32_fstat(int fd, \
338				    struct stat32 *ub); }
339190	AUE_LSTAT	MSTD	{ int freebsd32_lstat(char *path, \
340				    struct stat32 *ub); }
341191	AUE_PATHCONF	MNOPROTO	{ int pathconf(char *path, int name); }
342192	AUE_FPATHCONF	MNOPROTO { int fpathconf(int fd, int name); }
343193	AUE_NULL	UNIMPL	nosys
344194	AUE_GETRLIMIT	MNOPROTO { int getrlimit(u_int which, \
345				    struct rlimit *rlp); } getrlimit \
346				    __getrlimit_args int
347195	AUE_SETRLIMIT	MNOPROTO { int setrlimit(u_int which, \
348				    struct rlimit *rlp); } setrlimit \
349				    __setrlimit_args int
350196	AUE_GETDIRENTRIES	MNOPROTO	{ int getdirentries(int fd, char *buf, \
351				    u_int count, long *basep); }
352197	AUE_MMAP	MSTD 	{ caddr_t freebsd32_mmap(caddr_t addr, \
353				    size_t len, int prot, int flags, int fd, \
354				    int pad, u_int32_t poslo, \
355				    u_int32_t poshi); }
356198	AUE_NULL	MNOPROTO	{ int nosys(void); } __syscall \
357				    __syscall_args int
358; XXX note - bigendian is different
359199	AUE_LSEEK	MSTD	{ off_t freebsd32_lseek(int fd, int pad, \
360				    u_int32_t offsetlo, u_int32_t offsethi, \
361				    int whence); }
362; XXX note - bigendian is different
363200	AUE_TRUNCATE	MSTD	{ int freebsd32_truncate(char *path, \
364				    int pad, u_int32_t lengthlo, \
365				    u_int32_t lengthhi); }
366; XXX note - bigendian is different
367201	AUE_FTRUNCATE	MSTD	{ int freebsd32_ftruncate(int fd, int pad, \
368				    u_int32_t lengthlo, u_int32_t lengthhi); }
369202	AUE_SYSCTL	MSTD	{ int freebsd32_sysctl(int *name, \
370				    u_int namelen, void *old, \
371				    u_int32_t *oldlenp, void *new, \
372				    u_int32_t newlen); }
373203	AUE_MLOCK	MNOPROTO { int mlock(const void *addr, \
374				    size_t len); }
375204	AUE_MUNLOCK	MNOPROTO { int munlock(const void *addr, \
376				    size_t len); }
377205	AUE_UNDELETE	MNOPROTO	{ int undelete(char *path); }
378206	AUE_FUTIMES	MSTD	{ int freebsd32_futimes(int fd, \
379				    struct timeval32 *tptr); }
380207	AUE_GETPGID	MNOPROTO { int getpgid(pid_t pid); }
381208	AUE_NULL	UNIMPL	newreboot (NetBSD)
382209	AUE_POLL	MNOPROTO { int poll(struct pollfd *fds, u_int nfds, \
383				    int timeout); }
384
385;
386; The following are reserved for loadable syscalls
387;
388210	AUE_NULL	UNIMPL
389211	AUE_NULL	UNIMPL
390212	AUE_NULL	UNIMPL
391213	AUE_NULL	UNIMPL
392214	AUE_NULL	UNIMPL
393215	AUE_NULL	UNIMPL
394216	AUE_NULL	UNIMPL
395217	AUE_NULL	UNIMPL
396218	AUE_NULL	UNIMPL
397219	AUE_NULL	UNIMPL
398
399;
400; The following were introduced with NetBSD/4.4Lite-2
401; They are initialized by thier respective modules/sysinits
402; XXX PROBLEM!!
403220	AUE_SEMCTL	MNOPROTO { int __semctl(int semid, int semnum, \
404				    int cmd, union semun *arg); }
405221	AUE_SEMGET	MNOPROTO { int semget(key_t key, int nsems, \
406				    int semflg); }
407222	AUE_SEMOP	MNOPROTO { int semop(int semid, struct sembuf *sops, \
408				    u_int nsops); }
409223	AUE_NULL	UNIMPL	semconfig
410224	AUE_MSGCTL	MNOPROTO { int msgctl(int msqid, int cmd, \
411				    struct msqid_ds *buf); }
412225	AUE_MSGGET	MNOPROTO { int msgget(key_t key, int msgflg); }
413226	AUE_MSGSND	MNOPROTO { int msgsnd(int msqid, void *msgp, \
414				    size_t msgsz, int msgflg); }
415227	AUE_MSGRCV	MNOPROTO { int msgrcv(int msqid, void *msgp, \
416				    size_t msgsz, long msgtyp, int msgflg); }
417228	AUE_SHMAT	MNOPROTO { int shmat(int shmid, void *shmaddr, \
418				    int shmflg); }
419229	AUE_SHMCTL	MSTD	 { int freebsd32_shmctl(int shmid, int cmd, \
420				    struct shmid_ds *buf); }
421230	AUE_SHMDT	MNOPROTO { int shmdt(void *shmaddr); }
422231	AUE_SHMGET	MNOPROTO { int shmget(key_t key, int size, \
423				    int shmflg); }
424;
425232	AUE_NULL	MSTD 	 { int freebsd32_clock_gettime(clockid_t clock_id, \
426				    struct timespec32 *tp); }
427233	AUE_CLOCK_SETTIME	MSTD	 { int freebsd32_clock_settime(clockid_t clock_id, \
428				    const struct timespec32 *tp); }
429234	AUE_NULL	MSTD	 { int freebsd32_clock_getres(clockid_t clock_id, \
430				    struct timespec32 *tp); }
431235	AUE_NULL	UNIMPL	timer_create
432236	AUE_NULL	UNIMPL	timer_delete
433237	AUE_NULL	UNIMPL	timer_settime
434238	AUE_NULL	UNIMPL	timer_gettime
435239	AUE_NULL	UNIMPL	timer_getoverrun
436240	AUE_NULL	MSTD	{ int freebsd32_nanosleep( \
437				    const struct timespec32 *rqtp, \
438				    struct timespec32 *rmtp); }
439241	AUE_NULL	UNIMPL	nosys
440242	AUE_NULL	UNIMPL	nosys
441243	AUE_NULL	UNIMPL	nosys
442244	AUE_NULL	UNIMPL	nosys
443245	AUE_NULL	UNIMPL	nosys
444246	AUE_NULL	UNIMPL	nosys
445247	AUE_NULL	UNIMPL	nosys
446248	AUE_NULL	UNIMPL	ntp_gettime
447249	AUE_NULL	UNIMPL	nosys
448; syscall numbers initially used in OpenBSD
449250	AUE_MINHERIT	MNOPROTO { int minherit(void *addr, size_t len, \
450				    int inherit); }
451251	AUE_RFORK	MNOPROTO { int rfork(int flags); }
452252	AUE_POLL	MNOPROTO { int openbsd_poll(struct pollfd *fds, \
453				    u_int nfds, int timeout); }
454253	AUE_ISSETUGID	MNOPROTO { int issetugid(void); }
455254	AUE_LCHOWN	MNOPROTO	{ int lchown(char *path, int uid, int gid); }
456255	AUE_NULL	UNIMPL	nosys
457256	AUE_NULL	UNIMPL	nosys
458257	AUE_NULL	UNIMPL	nosys
459258	AUE_NULL	UNIMPL	nosys
460259	AUE_NULL	UNIMPL	nosys
461260	AUE_NULL	UNIMPL	nosys
462261	AUE_NULL	UNIMPL	nosys
463262	AUE_NULL	UNIMPL	nosys
464263	AUE_NULL	UNIMPL	nosys
465264	AUE_NULL	UNIMPL	nosys
466265	AUE_NULL	UNIMPL	nosys
467266	AUE_NULL	UNIMPL	nosys
468267	AUE_NULL	UNIMPL	nosys
469268	AUE_NULL	UNIMPL	nosys
470269	AUE_NULL	UNIMPL	nosys
471270	AUE_NULL	UNIMPL	nosys
472271	AUE_NULL	UNIMPL	nosys
473272	AUE_O_GETDENTS	MNOPROTO	{ int getdents(int fd, char *buf, \
474				    size_t count); }
475273	AUE_NULL	UNIMPL	nosys
476274	AUE_LCHMOD	MNOPROTO	{ int lchmod(char *path, mode_t mode); }
477275	AUE_LCHOWN	MNOPROTO { int lchown(char *path, uid_t uid, \
478				    gid_t gid); } netbsd_lchown \
479				    lchown_args int
480276	AUE_LUTIMES	MSTD	{ int freebsd32_lutimes(char *path, \
481				    struct timeval32 *tptr); }
482277	AUE_MSYNC	MNOPROTO { int msync(void *addr, size_t len, \
483				    int flags); } netbsd_msync msync_args int
484278	AUE_STAT	MNOPROTO	{ int nstat(char *path, struct nstat *ub); }
485279	AUE_FSTAT	MNOPROTO { int nfstat(int fd, struct nstat *sb); }
486280	AUE_LSTAT	MNOPROTO	{ int nlstat(char *path, struct nstat *ub); }
487281	AUE_NULL	UNIMPL	nosys
488282	AUE_NULL	UNIMPL	nosys
489283	AUE_NULL	UNIMPL	nosys
490284	AUE_NULL	UNIMPL	nosys
491285	AUE_NULL	UNIMPL	nosys
492286	AUE_NULL	UNIMPL	nosys
493287	AUE_NULL	UNIMPL	nosys
494288	AUE_NULL	UNIMPL	nosys
495; 289 and 290 from NetBSD (OpenBSD: 267 and 268)
496289	AUE_PREADV	MSTD	{ ssize_t freebsd32_preadv(int fd, \
497					struct iovec32 *iovp, \
498					u_int iovcnt, off_t offset); }
499; XXX note - bigendian is different
500290	AUE_PWRITEV	MSTD	{ ssize_t freebsd32_pwritev(int fd, \
501					struct iovec32 *iovp, \
502					u_int iovcnt, off_t offset); }
503; XXX note - bigendian is different
504291	AUE_NULL	UNIMPL	nosys
505292	AUE_NULL	UNIMPL	nosys
506293	AUE_NULL	UNIMPL	nosys
507294	AUE_NULL	UNIMPL	nosys
508295	AUE_NULL	UNIMPL	nosys
509296	AUE_NULL	UNIMPL	nosys
510; XXX 297 is 300 in NetBSD 
511297	AUE_FHSTATFS	MCOMPAT4	{ int freebsd32_fhstatfs( \
512				    const struct fhandle *u_fhp, \
513				    struct statfs32 *buf); }
514298	AUE_FHOPEN	MNOPROTO	{ int fhopen(const struct fhandle *u_fhp, \
515			 	    int flags); }
516299	AUE_FHSTAT	MNOPROTO	{ int fhstat(const struct fhandle *u_fhp, \
517				    struct stat *sb); }
518; syscall numbers for FreeBSD
519300	AUE_NULL	MNOPROTO { int modnext(int modid); }
520301	AUE_NULL	MSTD	{ int freebsd32_modstat(int modid, \
521				    struct module_stat32* stat); }
522302	AUE_NULL	MNOPROTO { int modfnext(int modid); }
523303	AUE_NULL	MNOPROTO { int modfind(const char *name); }
524304	AUE_MODLOAD	MNOPROTO { int kldload(const char *file); }
525305	AUE_MODUNLOAD	MNOPROTO { int kldunload(int fileid); }
526306	AUE_NULL	MNOPROTO { int kldfind(const char *file); }
527307	AUE_NULL	MNOPROTO { int kldnext(int fileid); }
528308	AUE_NULL	MNOPROTO { int kldstat(int fileid, \
529				    struct kld_file_stat* stat); }
530309	AUE_NULL	MNOPROTO { int kldfirstmod(int fileid); }
531310	AUE_GETSID	MNOPROTO { int getsid(pid_t pid); }
532311	AUE_SETRESUID	MNOPROTO { int setresuid(uid_t ruid, uid_t euid, \
533				    uid_t suid); }
534312	AUE_SETRESGID	MNOPROTO { int setresgid(gid_t rgid, gid_t egid, \
535				    gid_t sgid); }
536313	AUE_NULL	OBSOL	signanosleep
537314	AUE_NULL	UNIMPL	aio_return
538315	AUE_NULL	UNIMPL	aio_suspend
539316	AUE_NULL	UNIMPL	aio_cancel
540317	AUE_NULL	UNIMPL	aio_error
541318	AUE_NULL	UNIMPL	aio_read
542319	AUE_NULL	UNIMPL	aio_write
543320	AUE_NULL	UNIMPL	lio_listio
544321	AUE_NULL	MNOPROTO { int yield(void); }
545322	AUE_NULL	OBSOL	thr_sleep
546323	AUE_NULL	OBSOL	thr_wakeup
547324	AUE_MLOCKALL	MNOPROTO { int mlockall(int how); }
548325	AUE_MUNLOCKALL	MNOPROTO { int munlockall(void); }
549326	AUE_NULL	MNOPROTO	{ int __getcwd(u_char *buf, u_int buflen); }
550
551327	AUE_NULL	MNOPROTO { int sched_setparam (pid_t pid, \
552				    const struct sched_param *param); }
553328	AUE_NULL	MNOPROTO { int sched_getparam (pid_t pid, \
554				    struct sched_param *param); }
555
556329	AUE_NULL	MNOPROTO { int sched_setscheduler (pid_t pid, \
557				    int policy, \
558				    const struct sched_param *param); }
559330	AUE_NULL	MNOPROTO { int sched_getscheduler (pid_t pid); }
560
561331	AUE_NULL	MNOPROTO { int sched_yield (void); }
562332	AUE_NULL	MNOPROTO { int sched_get_priority_max (int policy); }
563333	AUE_NULL	MNOPROTO { int sched_get_priority_min (int policy); }
564334	AUE_NULL	MNOPROTO { int sched_rr_get_interval (pid_t pid, \
565				    struct timespec *interval); }
566335	AUE_NULL	MNOPROTO { int utrace(const void *addr, size_t len); }
567; XXX note - bigendian is different
568336	AUE_SENDFILE	MCOMPAT4 { int freebsd32_sendfile(int fd, int s, \
569				    u_int32_t offsetlo, u_int32_t offsethi, \
570				    size_t nbytes, struct sf_hdtr32 *hdtr, \
571				    off_t *sbytes, int flags); }
572337	AUE_NULL	MNOPROTO	{ int kldsym(int fileid, int cmd, \
573				    void *data); }
574338	AUE_NULL	MNOPROTO { int jail(struct jail *jail); }
575339	AUE_NULL	UNIMPL	pioctl
576340	AUE_SIGPROCMASK	MNOPROTO { int sigprocmask(int how, \
577				    const sigset_t *set, sigset_t *oset); }
578341	AUE_SIGSUSPEND	MNOPROTO { int sigsuspend(const sigset_t *sigmask); }
579342	AUE_SIGACTION	MCOMPAT4 { int freebsd32_sigaction(int sig, \
580				    struct sigaction32 *act, \
581				    struct sigaction32 *oact); }
582343	AUE_SIGPENDING	MNOPROTO { int sigpending(sigset_t *set); }
583344	AUE_SIGRETURN	MCOMPAT4 { int freebsd32_sigreturn( \
584		    const struct freebsd4_freebsd32_ucontext *sigcntxp); }
585; XXX implement
586345	AUE_NULL	UNIMPL	sigtimedwait
587; XXX implement
588346	AUE_NULL	UNIMPL	sigwaitinfo
589347	AUE_JAIL	MNOPROTO { int __acl_get_file(const char *path, \
590				    acl_type_t type, struct acl *aclp); }
591348	AUE_NULL	MNOPROTO { int __acl_set_file(const char *path, \
592				    acl_type_t type, struct acl *aclp); }
593349	AUE_NULL	MNOPROTO { int __acl_get_fd(int filedes, \
594				    acl_type_t type, struct acl *aclp); }
595350	AUE_NULL	MNOPROTO { int __acl_set_fd(int filedes, \
596				    acl_type_t type, struct acl *aclp); }
597351	AUE_NULL	MNOPROTO { int __acl_delete_file(const char *path, \
598				    acl_type_t type); }
599352	AUE_NULL	MNOPROTO { int __acl_delete_fd(int filedes, \
600				    acl_type_t type); }
601353	AUE_NULL	MNOPROTO { int __acl_aclcheck_file(const char *path, \
602				    acl_type_t type, struct acl *aclp); }
603354	AUE_NULL	MNOPROTO { int __acl_aclcheck_fd(int filedes, \
604				    acl_type_t type, struct acl *aclp); }
605355	AUE_NULL	MNOPROTO	{ int extattrctl(const char *path, int cmd, \
606				    const char *filename, int attrnamespace, \
607				    const char *attrname); }
608356	AUE_NULL	MNOPROTO	{ int extattr_set_file(const char *path, \
609				    int attrnamespace, const char *attrname, \
610				    void *data, size_t nbytes); }
611357	AUE_NULL	MNOPROTO	{ ssize_t extattr_get_file(const char *path, \
612				    int attrnamespace, const char *attrname, \
613				    void *data, size_t nbytes); }
614358	AUE_NULL	MNOPROTO	{ int extattr_delete_file(const char *path, \
615				    int attrnamespace, \
616				    const char *attrname); }
617359	AUE_NULL	UNIMPL	aio_waitcomplete
618360	AUE_NULL	MNOPROTO { int getresuid(uid_t *ruid, uid_t *euid, \
619				    uid_t *suid); }
620361	AUE_NULL	MNOPROTO { int getresgid(gid_t *rgid, gid_t *egid, \
621				    gid_t *sgid); }
622362	AUE_NULL	MNOPROTO { int kqueue(void); }
623363	AUE_NULL	MSTD { int freebsd32_kevent(int fd, \
624				    const struct kevent32 *changelist, \
625				    int nchanges, \
626				    struct kevent32 *eventlist, int nevents, \
627				    const struct timespec32 *timeout); }
628364	AUE_NULL	UNIMPL	__cap_get_proc
629365	AUE_NULL	UNIMPL	__cap_set_proc
630366	AUE_NULL	UNIMPL	__cap_get_fd
631367	AUE_NULL	UNIMPL	__cap_get_file
632368	AUE_NULL	UNIMPL	__cap_set_fd
633369	AUE_NULL	UNIMPL	__cap_set_file
634370	AUE_NULL	UNIMPL	lkmressys
635371	AUE_NULL	MNOPROTO	{ int extattr_set_fd(int fd, \
636				    int attrnamespace, const char *attrname, \
637				    void *data, size_t nbytes); }
638372	AUE_NULL	MNOPROTO	{ ssize_t extattr_get_fd(int fd, \
639				    int attrnamespace, const char *attrname, \
640				    void *data, size_t nbytes); }
641373	AUE_NULL	MNOPROTO	{ int extattr_delete_fd(int fd, \
642				    int attrnamespace, \
643				    const char *attrname); }
644374	AUE_NULL	MNOPROTO { int __setugid(int flag); }
645375	AUE_NULL	UNIMPL	nfsclnt
646376	AUE_NULL	MNOPROTO	{ int eaccess(char *path, int flags); }
647377	AUE_NULL	UNIMPL	afs_syscall
648378	AUE_NULL	MNOPROTO { int nmount(struct iovec *iovp, \
649				    unsigned int iovcnt, int flags); }
650379	AUE_NULL	MNOPROTO	{ int kse_exit(void); }
651380	AUE_NULL	MNOPROTO	{ int kse_wakeup(struct kse_mailbox *mbx); }
652381	AUE_NULL	MNOPROTO	{ int kse_create(struct kse_mailbox *mbx, \
653				    int newgroup); }
654382	AUE_NULL	MNOPROTO	{ int kse_thr_interrupt( \
655				    struct kse_thr_mailbox *tmbx); }
656383	AUE_NULL	MNOPROTO	{ int kse_release(void); }
657384	AUE_NULL	UNIMPL	__mac_get_proc
658385	AUE_NULL	UNIMPL	__mac_set_proc
659386	AUE_NULL	UNIMPL	__mac_get_fd
660387	AUE_NULL	UNIMPL	__mac_get_file
661388	AUE_NULL	UNIMPL	__mac_set_fd
662389	AUE_NULL	UNIMPL	__mac_set_file
663390	AUE_NULL	MNOPROTO	{ int kenv(int what, const char *name, \
664				    char *value, int len); }
665391	AUE_LCHFLAGS	MNOPROTO	{ int lchflags(const char *path, int flags); }
666392	AUE_NULL	MNOPROTO { int uuidgen(struct uuid *store, \
667				    int count); }
668393	AUE_NULL	MSTD	{ int freebsd32_sendfile(int fd, int s, \
669				    u_int32_t offsetlo, u_int32_t offsethi, \
670				    size_t nbytes, struct sf_hdtr32 *hdtr, \
671				    off_t *sbytes, int flags); }
672394	AUE_NULL	UNIMPL	mac_syscall
673395	AUE_GETFSSTAT	MNOPROTO	{ int getfsstat(struct statfs *buf, \
674				    long bufsize, int flags); }
675396	AUE_STATFS	MNOPROTO	{ int statfs(char *path, \
676				    struct statfs *buf); }
677397	AUE_FSTATFS	MNOPROTO	{ int fstatfs(int fd, struct statfs *buf); }
678398	AUE_NULL	MNOPROTO	{ int fhstatfs(const struct fhandle *u_fhp, \
679				    struct statfs *buf); }
680399	AUE_NULL	UNIMPL	nosys
681; XXX implement these?
682400	AUE_NULL	UNIMPL	ksem_close
683401	AUE_NULL	UNIMPL	ksem_post
684402	AUE_NULL	UNIMPL	ksem_wait
685403	AUE_NULL	UNIMPL	ksem_trywait
686404	AUE_NULL	UNIMPL	ksem_init
687405	AUE_NULL	UNIMPL	ksem_open
688406	AUE_NULL	UNIMPL	ksem_unlink
689407	AUE_NULL	UNIMPL	ksem_getvalue
690408	AUE_NULL	UNIMPL	ksem_destroy
691409	AUE_NULL	UNIMPL	__mac_get_pid
692410	AUE_NULL	UNIMPL	__mac_get_link
693411	AUE_NULL	UNIMPL	__mac_set_link
694412	AUE_NULL	UNIMPL	extattr_set_link
695413	AUE_NULL	UNIMPL	extattr_get_link
696414	AUE_NULL	UNIMPL	extattr_delete_link
697415	AUE_NULL	UNIMPL	__mac_execve
698416	AUE_SIGACTION	MSTD { int freebsd32_sigaction(int sig, \
699				    struct sigaction32 *act, \
700				    struct sigaction32 *oact); }
701417	AUE_SIGRETURN	MSTD { int freebsd32_sigreturn( \
702		    const struct freebsd32_ucontext *sigcntxp); }
703418	AUE_NULL	UNIMPL	__xstat
704419	AUE_NULL	UNIMPL	__xfstat
705420	AUE_NULL	UNIMPL	__xlstat
706421	AUE_NULL	MSTD	{ int freebsd32_getcontext( \
707				    struct freebsd32_ucontext *ucp); }
708422	AUE_NULL	MSTD	{ int freebsd32_setcontext( \
709				    const struct freebsd32_ucontext *ucp); }
710423	AUE_NULL	MSTD	{ int freebsd32_swapcontext( \
711				    struct freebsd32_ucontext *oucp, \
712				    const struct freebsd32_ucontext *ucp); }
713424	AUE_SWAPOFF	UNIMPL	swapoff
714425	AUE_NULL	UNIMPL	__acl_get_link
715426	AUE_NULL	UNIMPL	__acl_set_link
716427	AUE_NULL	UNIMPL	__acl_delete_link
717428	AUE_NULL	UNIMPL	__acl_aclcheck_link
718; XXX implement
719429	AUE_SIGWAIT	UNIMPL	sigwait
720430	AUE_NULL	MNOPROTO { int thr_create(ucontext_t *ctx, long *id, \
721				    int flag s); }
722431	AUE_NULL	MNOPROTO { void thr_exit(long *state); }
723432	AUE_NULL	MNOPROTO { int thr_self(long *id); }
724433	AUE_NULL	MNOPROTO { int thr_kill(long id, int sig); }
725434	AUE_NULL	MNOPROTO { int _umtx_lock(struct umtx *umtx); }
726435	AUE_NULL	MNOPROTO { int _umtx_unlock(struct umtx *umtx); }
727436	AUE_NULL	MNOPROTO { int jail_attach(int jid); }
728437	AUE_NULL	UNIMPL	extattr_list_fd
729438	AUE_NULL	UNIMPL	extattr_list_file
730439	AUE_NULL	UNIMPL	extattr_list_link
731440	AUE_NULL	UNIMPL	kse_switchin
732441	AUE_NULL	UNIMPL	ksem_timedwait
733442	AUE_NULL	MNOPROTO { int thr_suspend( \
734				    const struct timespec *timeout); }
735443	AUE_NULL	MNOPROTO { int thr_wake(long id); }
736444	AUE_NULL	MNOPROTO { int kldunloadf(int fileid, int flags); }
737445	AUE_AUDIT	UNIMPL	audit
738446	AUE_AUDITON	UNIMPL	auditon
739447	AUE_GETAUID	UNIMPL	getauid
740448	AUE_SETAUID	UNIMPL	setauid
741449	AUE_GETAUDIT	UNIMPL	getaudit
742450	AUE_SETAUDIT	UNIMPL	setaudit
743451	AUE_GETAUDIT_ADDR	UNIMPL	getaudit_addr
744452	AUE_SETAUDIT_ADDR	UNIMPL	setaudit_addr
745453	AUE_AUDITCTL	UNIMPL	auditctl
746454	AUE_NULL	UNIMPL	_umtx_op
747455	AUE_NULL	UNIMPL	thr_new
748456	AUE_NULL	UNIMPL	sigqueue
749457	AUE_NULL	UNIMPL	kmq_open
750458	AUE_NULL	UNIMPL	kmq_setattr
751459	AUE_NULL	UNIMPL	kmq_timedreceive
752460	AUE_NULL	UNIMPL  kmq_timedsend
753461	AUE_NULL	UNIMPL	kmq_notify
754462	AUE_NULL	UNIMPL	kmq_unlink
755463	AUE_NULL	MNOPROTO { int abort2(const char *why, int nargs, void **args); }
756464	AUE_NULL	UNIMPL	thr_set_name
757465	AUE_NULL	UNIMPL	aio_fsync
758466	AUE_NULL	UNIMPL	thr_setscheduler
759467	AUE_NULL	UNIMPL	thr_getscheduler
760468	AUE_NULL	UNIMPL	thr_setschedparam
761