syscalls.master revision 151359
1 $FreeBSD: head/sys/compat/freebsd32/syscalls.master 151359 2005-10-15 05:57:06Z 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	UNIMPL	osigaction
12047	AUE_NULL	MNOPROTO { gid_t getgid(void); }
12148	AUE_NULL	UNIMPL	osigprocmask
12249	AUE_NULL	MNOPROTO { int getlogin(char *namebuf, \
123				    u_int namelen); }
12450	AUE_NULL	MNOPROTO { int setlogin(char *namebuf); }
12551	AUE_NULL	MNOPROTO { int acct(char *path); }
12652	AUE_NULL	OBSOL	osigpending
12753	AUE_NULL	MSTD	{ int freebsd32_sigaltstack( \
128				    struct sigaltstack32 *ss, \
129				    struct sigaltstack32 *oss); }
13054	AUE_NULL	MNOPROTO { int ioctl(int fd, u_long com, \
131				    caddr_t data); }
13255	AUE_NULL	MNOPROTO { int reboot(int opt); }
13356	AUE_NULL	MNOPROTO	{ int revoke(char *path); }
13457	AUE_NULL	MNOPROTO	{ int symlink(char *path, char *link); }
13558	AUE_NULL	MNOPROTO	{ int readlink(char *path, char *buf, \
136				    int count); }
13759	AUE_NULL	MSTD	 { int freebsd32_execve(char *fname, \
138				    u_int32_t *argv, u_int32_t *envv); }
13960	AUE_NULL	MNOPROTO { int umask(int newmask); } umask \
140				    umask_args int
14161	AUE_NULL	MNOPROTO	{ int chroot(char *path); }
14262	AUE_NULL	OBSOL	ofstat
14363	AUE_NULL	OBSOL	ogetkerninfo
14464	AUE_NULL	OBSOL	ogetpagesize
145; XXX implement (not OBSOL at all)
14665	AUE_NULL	MNOPROTO { int msync(void *addr, size_t len, \
147				    int flags); }
14866	AUE_NULL	MNOPROTO { int vfork(void); }
14967	AUE_NULL	OBSOL	vread
15068	AUE_NULL	OBSOL	vwrite
15169	AUE_NULL	MNOPROTO { int sbrk(int incr); }
15270	AUE_NULL	MNOPROTO { int sstk(int incr); }
15371	AUE_NULL	OBSOL	ommap
15472	AUE_NULL	MNOPROTO { int ovadvise(int anom); } vadvise \
155				    ovadvise_args int
15673	AUE_NULL	MNOPROTO { int munmap(void *addr, size_t len); }
15774	AUE_NULL	MNOPROTO { int mprotect(const void *addr, \
158				    size_t len, int prot); }
15975	AUE_NULL	MNOPROTO { int madvise(void *addr, size_t len, \
160				    int behav); }
16176	AUE_NULL	OBSOL	vhangup
16277	AUE_NULL	OBSOL	vlimit
16378	AUE_NULL	MNOPROTO { int mincore(const void *addr, size_t len, \
164				    char *vec); }
16579	AUE_NULL	MNOPROTO { int getgroups(u_int gidsetsize, \
166				    gid_t *gidset); }
16780	AUE_NULL	MNOPROTO { int setgroups(u_int gidsetsize, \
168				    gid_t *gidset); }
16981	AUE_NULL	MNOPROTO { int getpgrp(void); }
17082	AUE_NULL	MNOPROTO { int setpgid(int pid, int pgid); }
17183	AUE_NULL	MSTD	{ int freebsd32_setitimer(u_int which, \
172				    struct itimerval32 *itv, \
173				    struct itimerval32 *oitv); }
17484	AUE_NULL	OBSOL	owait
175; XXX implement
17685	AUE_NULL	OBSOL	oswapon
17786	AUE_NULL	MSTD	{ int freebsd32_getitimer(u_int which, \
178				    struct itimerval32 *itv); }
17987	AUE_NULL	OBSOL	ogethostname
18088	AUE_NULL	OBSOL	osethostname
18189	AUE_NULL	MNOPROTO { int getdtablesize(void); }
18290	AUE_NULL	MNOPROTO { int dup2(u_int from, u_int to); }
18391	AUE_NULL	UNIMPL	getdopt
18492	AUE_NULL	MNOPROTO { int fcntl(int fd, int cmd, long arg); }
18593	AUE_NULL	MSTD	{ 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_NULL	MNOPROTO	{ int fsync(int fd); }
19196	AUE_NULL	MNOPROTO { int setpriority(int which, int who, \
192				    int prio); }
19397	AUE_NULL	MNOPROTO { int socket(int domain, int type, \
194				    int protocol); }
19598	AUE_NULL	MNOPROTO { int connect(int s, caddr_t name, \
196				    int namelen); }
19799	AUE_NULL	OBSOL	oaccept
198100	AUE_NULL	MNOPROTO { int getpriority(int which, int who); }
199101	AUE_NULL	OBSOL	osend
200102	AUE_NULL	OBSOL	orecv
201103	AUE_NULL	OBSOL	osigreturn
202104	AUE_NULL	MNOPROTO { int bind(int s, caddr_t name, \
203				    int namelen); }
204105	AUE_NULL	MNOPROTO { int setsockopt(int s, int level, \
205				    int name, caddr_t val, int valsize); }
206106	AUE_NULL	MNOPROTO { int listen(int s, int backlog); }
207107	AUE_NULL	OBSOL	vtimes
208108	AUE_NULL	OBSOL	osigvec
209109	AUE_NULL	OBSOL	osigblock
210110	AUE_NULL	OBSOL	osigsetmask
211111	AUE_NULL	OBSOL	osigsuspend
212112	AUE_NULL	OBSOL	osigstack
213113	AUE_NULL	OBSOL	orecvmsg
214114	AUE_NULL	OBSOL	osendmsg
215115	AUE_NULL	OBSOL	vtrace
216116	AUE_NULL	MSTD	{ int freebsd32_gettimeofday( \
217				    struct timeval32 *tp, \
218				    struct timezone *tzp); }
219117	AUE_NULL	MSTD	{ int freebsd32_getrusage(int who, \
220				    struct rusage32 *rusage); }
221118	AUE_NULL	MNOPROTO { int getsockopt(int s, int level, \
222				    int name, caddr_t val, int *avalsize); }
223119	AUE_NULL	UNIMPL	resuba (BSD/OS 2.x)
224120	AUE_NULL	MSTD	{ int freebsd32_readv(int fd, \
225				    struct iovec32 *iovp, u_int iovcnt); }
226121	AUE_NULL	MSTD	{ int freebsd32_writev(int fd, \
227				    struct iovec32 *iovp, u_int iovcnt); }
228122	AUE_NULL	MSTD	{ int freebsd32_settimeofday( \
229				    struct timeval32 *tv, \
230				    struct timezone *tzp); }
231123	AUE_NULL	MNOPROTO	{ int fchown(int fd, int uid, int gid); }
232124	AUE_NULL	MNOPROTO	{ int fchmod(int fd, int mode); }
233125	AUE_NULL	OBSOL	orecvfrom
234126	AUE_NULL	MNOPROTO { int setreuid(int ruid, int euid); }
235127	AUE_NULL	MNOPROTO { int setregid(int rgid, int egid); }
236128	AUE_NULL	MNOPROTO	{ int rename(char *from, char *to); }
237129	AUE_NULL	OBSOL	otruncate
238130	AUE_NULL	OBSOL	ftruncate
239131	AUE_NULL	MNOPROTO { int flock(int fd, int how); }
240132	AUE_NULL	MNOPROTO	{ int mkfifo(char *path, int mode); }
241133	AUE_NULL	MNOPROTO { int sendto(int s, caddr_t buf, \
242				    size_t len, int flags, caddr_t to, \
243				    int tolen); }
244134	AUE_NULL	MNOPROTO { int shutdown(int s, int how); }
245135	AUE_NULL	MNOPROTO { int socketpair(int domain, int type, \
246				    int protocol, int *rsv); }
247136	AUE_NULL	MNOPROTO	{ int mkdir(char *path, int mode); }
248137	AUE_NULL	MNOPROTO	{ int rmdir(char *path); }
249138	AUE_NULL	MSTD	{ int freebsd32_utimes(char *path, \
250				    struct timeval32 *tptr); }
251139	AUE_NULL	OBSOL	4.2 sigreturn
252140	AUE_NULL	MSTD	{ int freebsd32_adjtime( \
253				    struct timeval32 *delta, \
254				    struct timeval32 *olddelta); }
255141	AUE_NULL	OBSOL	ogetpeername
256142	AUE_NULL	OBSOL	ogethostid
257143	AUE_NULL	OBSOL	sethostid
258144	AUE_NULL	OBSOL	getrlimit
259145	AUE_NULL	OBSOL	setrlimit
260146	AUE_NULL	OBSOL	killpg
261147	AUE_NULL	MNOPROTO { int setsid(void); }
262148	AUE_NULL	MNOPROTO	{ int quotactl(char *path, int cmd, int uid, \
263				    caddr_t arg); }
264149	AUE_NULL	OBSOL oquota
265150	AUE_NULL	OBSOL ogetsockname
266
267; Syscalls 151-180 inclusive are reserved for vendor-specific
268; system calls.  (This includes various calls added for compatibity
269; with other Unix variants.)
270; Some of these calls are now supported by BSD...
271151	AUE_NULL	UNIMPL	sem_lock (BSD/OS 2.x)
272152	AUE_NULL	UNIMPL	sem_wakeup (BSD/OS 2.x)
273153	AUE_NULL	UNIMPL	asyncdaemon (BSD/OS 2.x)
274154	AUE_NULL	UNIMPL	nosys
275; 155 is initialized by the NFS code, if present.
276; XXX this is a problem!!!
277155	AUE_NULL	UNIMPL	nfssvc
278156	AUE_NULL	OBSOL	ogetdirentries
279157	AUE_NULL	MCOMPAT4	{ int freebsd32_statfs(char *path, \
280				    struct statfs32 *buf); }
281158	AUE_NULL	MCOMPAT4	{ int freebsd32_fstatfs(int fd, \
282				    struct statfs32 *buf); }
283159	AUE_NULL	UNIMPL	nosys
284160	AUE_NULL	UNIMPL	nosys
285161	AUE_NULL	MNOPROTO	{ int getfh(char *fname, \
286				    struct fhandle *fhp); }
287162	AUE_NULL	MNOPROTO { int getdomainname(char *domainname, \
288				    int len); }
289163	AUE_NULL	MNOPROTO { int setdomainname(char *domainname, \
290				    int len); }
291164	AUE_NULL	MNOPROTO { int uname(struct utsname *name); }
292165	AUE_NULL	MNOPROTO { int sysarch(int op, char *parms); }
293166	AUE_NULL	MNOPROTO { int rtprio(int function, pid_t pid, \
294				    struct rtprio *rtp); }
295167	AUE_NULL	UNIMPL	nosys
296168	AUE_NULL	UNIMPL	nosys
297169	AUE_NULL	MSTD	{ int freebsd32_semsys(int which, int a2, \
298				    int a3, int a4, int a5); }
299170	AUE_NULL	MSTD	{ int freebsd32_msgsys(int which, int a2, \
300				    int a3, int a4, int a5, int a6); }
301171	AUE_NULL	MSTD	{ int freebsd32_shmsys(int which, int a2, \
302				    int a3, int a4); }
303172	AUE_NULL	UNIMPL	nosys
304173	AUE_NULL	MSTD	{ ssize_t freebsd32_pread(int fd, void *buf, \
305				    size_t nbyte, int pad, \
306				    u_int32_t offsetlo, u_int32_t offsethi); }
307; XXX note - bigendian is different
308174	AUE_NULL	MSTD	{ ssize_t freebsd32_pwrite(int fd, \
309				    const void *buf, size_t nbyte, int pad, \
310				    u_int32_t offsetlo, u_int32_t offsethi); }
311; XXX note - bigendian is different
312175	AUE_NULL	UNIMPL	nosys
313176	AUE_NULL	MNOPROTO { int ntp_adjtime(struct timex *tp); }
314177	AUE_NULL	UNIMPL	sfork (BSD/OS 2.x)
315178	AUE_NULL	UNIMPL	getdescriptor (BSD/OS 2.x)
316179	AUE_NULL	UNIMPL	setdescriptor (BSD/OS 2.x)
317180	AUE_NULL	UNIMPL	nosys
318
319; Syscalls 181-199 are used by/reserved for BSD
320181	AUE_NULL	MNOPROTO { int setgid(gid_t gid); }
321182	AUE_NULL	MNOPROTO { int setegid(gid_t egid); }
322183	AUE_NULL	MNOPROTO { int seteuid(uid_t euid); }
323184	AUE_NULL	UNIMPL	lfs_bmapv
324185	AUE_NULL	UNIMPL	lfs_markv
325186	AUE_NULL	UNIMPL	lfs_segclean
326187	AUE_NULL	UNIMPL	lfs_segwait
327188	AUE_NULL	MSTD	{ int freebsd32_stat(char *path, \
328				    struct stat32 *ub); }
329189	AUE_NULL	MSTD	{ int freebsd32_fstat(int fd, \
330				    struct stat32 *ub); }
331190	AUE_NULL	MSTD	{ int freebsd32_lstat(char *path, \
332				    struct stat32 *ub); }
333191	AUE_NULL	MNOPROTO	{ int pathconf(char *path, int name); }
334192	AUE_NULL	MNOPROTO { int fpathconf(int fd, int name); }
335193	AUE_NULL	UNIMPL	nosys
336194	AUE_NULL	MNOPROTO { int getrlimit(u_int which, \
337				    struct rlimit *rlp); } getrlimit \
338				    __getrlimit_args int
339195	AUE_NULL	MNOPROTO { int setrlimit(u_int which, \
340				    struct rlimit *rlp); } setrlimit \
341				    __setrlimit_args int
342196	AUE_NULL	MNOPROTO	{ int getdirentries(int fd, char *buf, \
343				    u_int count, long *basep); }
344197	AUE_NULL	MSTD 	{ caddr_t freebsd32_mmap(caddr_t addr, \
345				    size_t len, int prot, int flags, int fd, \
346				    int pad, u_int32_t poslo, \
347				    u_int32_t poshi); }
348198	AUE_NULL	MNOPROTO	{ int nosys(void); } __syscall \
349				    __syscall_args int
350; XXX note - bigendian is different
351199	AUE_NULL	MSTD	{ off_t freebsd32_lseek(int fd, int pad, \
352				    u_int32_t offsetlo, u_int32_t offsethi, \
353				    int whence); }
354; XXX note - bigendian is different
355200	AUE_NULL	MSTD	{ int freebsd32_truncate(char *path, \
356				    int pad, u_int32_t lengthlo, \
357				    u_int32_t lengthhi); }
358; XXX note - bigendian is different
359201	AUE_NULL	MSTD	{ int freebsd32_ftruncate(int fd, int pad, \
360				    u_int32_t lengthlo, u_int32_t lengthhi); }
361202	AUE_NULL	MSTD	{ int freebsd32_sysctl(int *name, \
362				    u_int namelen, void *old, \
363				    u_int32_t *oldlenp, void *new, \
364				    u_int32_t newlen); }
365203	AUE_NULL	MNOPROTO { int mlock(const void *addr, \
366				    size_t len); }
367204	AUE_NULL	MNOPROTO { int munlock(const void *addr, \
368				    size_t len); }
369205	AUE_NULL	MNOPROTO	{ int undelete(char *path); }
370206	AUE_NULL	MNOPROTO	{ int futimes(int fd, struct timeval *tptr); }
371207	AUE_NULL	MNOPROTO { int getpgid(pid_t pid); }
372208	AUE_NULL	UNIMPL	newreboot (NetBSD)
373209	AUE_NULL	MNOPROTO { int poll(struct pollfd *fds, u_int nfds, \
374				    int timeout); }
375
376;
377; The following are reserved for loadable syscalls
378;
379210	AUE_NULL	UNIMPL
380211	AUE_NULL	UNIMPL
381212	AUE_NULL	UNIMPL
382213	AUE_NULL	UNIMPL
383214	AUE_NULL	UNIMPL
384215	AUE_NULL	UNIMPL
385216	AUE_NULL	UNIMPL
386217	AUE_NULL	UNIMPL
387218	AUE_NULL	UNIMPL
388219	AUE_NULL	UNIMPL
389
390;
391; The following were introduced with NetBSD/4.4Lite-2
392; They are initialized by thier respective modules/sysinits
393; XXX PROBLEM!!
394220	AUE_NULL	MNOPROTO { int __semctl(int semid, int semnum, \
395				    int cmd, union semun *arg); }
396221	AUE_NULL	MNOPROTO { int semget(key_t key, int nsems, \
397				    int semflg); }
398222	AUE_NULL	MNOPROTO { int semop(int semid, struct sembuf *sops, \
399				    u_int nsops); }
400223	AUE_NULL	UNIMPL	semconfig
401224	AUE_NULL	MNOPROTO { int msgctl(int msqid, int cmd, \
402				    struct msqid_ds *buf); }
403225	AUE_NULL	MNOPROTO { int msgget(key_t key, int msgflg); }
404226	AUE_NULL	MNOPROTO { int msgsnd(int msqid, void *msgp, \
405				    size_t msgsz, int msgflg); }
406227	AUE_NULL	MNOPROTO { int msgrcv(int msqid, void *msgp, \
407				    size_t msgsz, long msgtyp, int msgflg); }
408228	AUE_NULL	MNOPROTO { int shmat(int shmid, void *shmaddr, \
409				    int shmflg); }
410229	AUE_NULL	MNOPROTO { int shmctl(int shmid, int cmd, \
411				    struct shmid_ds *buf); }
412230	AUE_NULL	MNOPROTO { int shmdt(void *shmaddr); }
413231	AUE_NULL	MNOPROTO { int shmget(key_t key, int size, \
414				    int shmflg); }
415;
416232	AUE_NULL	MSTD 	 { int freebsd32_clock_gettime(clockid_t clock_id, \
417				    struct timespec32 *tp); }
418233	AUE_NULL	MSTD	 { int freebsd32_clock_settime(clockid_t clock_id, \
419				    const struct timespec32 *tp); }
420234	AUE_NULL	MSTD	 { int freebsd32_clock_getres(clockid_t clock_id, \
421				    struct timespec32 *tp); }
422235	AUE_NULL	UNIMPL	timer_create
423236	AUE_NULL	UNIMPL	timer_delete
424237	AUE_NULL	UNIMPL	timer_settime
425238	AUE_NULL	UNIMPL	timer_gettime
426239	AUE_NULL	UNIMPL	timer_getoverrun
427240	AUE_NULL	MSTD	{ int freebsd32_nanosleep( \
428				    const struct timespec32 *rqtp, \
429				    struct timespec32 *rmtp); }
430241	AUE_NULL	UNIMPL	nosys
431242	AUE_NULL	UNIMPL	nosys
432243	AUE_NULL	UNIMPL	nosys
433244	AUE_NULL	UNIMPL	nosys
434245	AUE_NULL	UNIMPL	nosys
435246	AUE_NULL	UNIMPL	nosys
436247	AUE_NULL	UNIMPL	nosys
437248	AUE_NULL	UNIMPL	ntp_gettime
438249	AUE_NULL	UNIMPL	nosys
439; syscall numbers initially used in OpenBSD
440250	AUE_NULL	MNOPROTO { int minherit(void *addr, size_t len, \
441				    int inherit); }
442251	AUE_NULL	MNOPROTO { int rfork(int flags); }
443252	AUE_NULL	MNOPROTO { int openbsd_poll(struct pollfd *fds, \
444				    u_int nfds, int timeout); }
445253	AUE_NULL	MNOPROTO { int issetugid(void); }
446254	AUE_NULL	MNOPROTO	{ int lchown(char *path, int uid, int gid); }
447255	AUE_NULL	UNIMPL	nosys
448256	AUE_NULL	UNIMPL	nosys
449257	AUE_NULL	UNIMPL	nosys
450258	AUE_NULL	UNIMPL	nosys
451259	AUE_NULL	UNIMPL	nosys
452260	AUE_NULL	UNIMPL	nosys
453261	AUE_NULL	UNIMPL	nosys
454262	AUE_NULL	UNIMPL	nosys
455263	AUE_NULL	UNIMPL	nosys
456264	AUE_NULL	UNIMPL	nosys
457265	AUE_NULL	UNIMPL	nosys
458266	AUE_NULL	UNIMPL	nosys
459267	AUE_NULL	UNIMPL	nosys
460268	AUE_NULL	UNIMPL	nosys
461269	AUE_NULL	UNIMPL	nosys
462270	AUE_NULL	UNIMPL	nosys
463271	AUE_NULL	UNIMPL	nosys
464272	AUE_NULL	MNOPROTO	{ int getdents(int fd, char *buf, \
465				    size_t count); }
466273	AUE_NULL	UNIMPL	nosys
467274	AUE_NULL	MNOPROTO	{ int lchmod(char *path, mode_t mode); }
468275	AUE_NULL	MNOPROTO { int lchown(char *path, uid_t uid, \
469				    gid_t gid); } netbsd_lchown \
470				    lchown_args int
471276	AUE_NULL	MNOPROTO	{ int lutimes(char *path, \
472				    struct timeval *tptr); }
473277	AUE_NULL	MNOPROTO { int msync(void *addr, size_t len, \
474				    int flags); } netbsd_msync msync_args int
475278	AUE_NULL	MNOPROTO	{ int nstat(char *path, struct nstat *ub); }
476279	AUE_NULL	MNOPROTO { int nfstat(int fd, struct nstat *sb); }
477280	AUE_NULL	MNOPROTO	{ int nlstat(char *path, struct nstat *ub); }
478281	AUE_NULL	UNIMPL	nosys
479282	AUE_NULL	UNIMPL	nosys
480283	AUE_NULL	UNIMPL	nosys
481284	AUE_NULL	UNIMPL	nosys
482285	AUE_NULL	UNIMPL	nosys
483286	AUE_NULL	UNIMPL	nosys
484287	AUE_NULL	UNIMPL	nosys
485288	AUE_NULL	UNIMPL	nosys
486; 289 and 290 from NetBSD (OpenBSD: 267 and 268)
487289	AUE_NULL	MSTD	{ ssize_t freebsd32_preadv(int fd, \
488					struct iovec32 *iovp, \
489					u_int iovcnt, off_t offset); }
490; XXX note - bigendian is different
491290	AUE_NULL	MSTD	{ ssize_t freebsd32_pwritev(int fd, \
492					struct iovec32 *iovp, \
493					u_int iovcnt, off_t offset); }
494; XXX note - bigendian is different
495291	AUE_NULL	UNIMPL	nosys
496292	AUE_NULL	UNIMPL	nosys
497293	AUE_NULL	UNIMPL	nosys
498294	AUE_NULL	UNIMPL	nosys
499295	AUE_NULL	UNIMPL	nosys
500296	AUE_NULL	UNIMPL	nosys
501; XXX 297 is 300 in NetBSD 
502297	AUE_NULL	MCOMPAT4	{ int freebsd32_fhstatfs( \
503				    const struct fhandle *u_fhp, \
504				    struct statfs32 *buf); }
505298	AUE_NULL	MNOPROTO	{ int fhopen(const struct fhandle *u_fhp, \
506			 	    int flags); }
507299	AUE_NULL	MNOPROTO	{ int fhstat(const struct fhandle *u_fhp, \
508				    struct stat *sb); }
509; syscall numbers for FreeBSD
510300	AUE_NULL	MNOPROTO { int modnext(int modid); }
511301	AUE_NULL	MSTD	{ int freebsd32_modstat(int modid, \
512				    struct module_stat32* stat); }
513302	AUE_NULL	MNOPROTO { int modfnext(int modid); }
514303	AUE_NULL	MNOPROTO { int modfind(const char *name); }
515304	AUE_NULL	MNOPROTO { int kldload(const char *file); }
516305	AUE_NULL	MNOPROTO { int kldunload(int fileid); }
517306	AUE_NULL	MNOPROTO { int kldfind(const char *file); }
518307	AUE_NULL	MNOPROTO { int kldnext(int fileid); }
519308	AUE_NULL	MNOPROTO { int kldstat(int fileid, \
520				    struct kld_file_stat* stat); }
521309	AUE_NULL	MNOPROTO { int kldfirstmod(int fileid); }
522310	AUE_NULL	MNOPROTO { int getsid(pid_t pid); }
523311	AUE_NULL	MNOPROTO { int setresuid(uid_t ruid, uid_t euid, \
524				    uid_t suid); }
525312	AUE_NULL	MNOPROTO { int setresgid(gid_t rgid, gid_t egid, \
526				    gid_t sgid); }
527313	AUE_NULL	OBSOL	signanosleep
528314	AUE_NULL	UNIMPL	aio_return
529315	AUE_NULL	UNIMPL	aio_suspend
530316	AUE_NULL	UNIMPL	aio_cancel
531317	AUE_NULL	UNIMPL	aio_error
532318	AUE_NULL	UNIMPL	aio_read
533319	AUE_NULL	UNIMPL	aio_write
534320	AUE_NULL	UNIMPL	lio_listio
535321	AUE_NULL	MNOPROTO { int yield(void); }
536322	AUE_NULL	OBSOL	thr_sleep
537323	AUE_NULL	OBSOL	thr_wakeup
538324	AUE_NULL	MNOPROTO { int mlockall(int how); }
539325	AUE_NULL	MNOPROTO { int munlockall(void); }
540326	AUE_NULL	MNOPROTO	{ int __getcwd(u_char *buf, u_int buflen); }
541
542327	AUE_NULL	MNOPROTO { int sched_setparam (pid_t pid, \
543				    const struct sched_param *param); }
544328	AUE_NULL	MNOPROTO { int sched_getparam (pid_t pid, \
545				    struct sched_param *param); }
546
547329	AUE_NULL	MNOPROTO { int sched_setscheduler (pid_t pid, \
548				    int policy, \
549				    const struct sched_param *param); }
550330	AUE_NULL	MNOPROTO { int sched_getscheduler (pid_t pid); }
551
552331	AUE_NULL	MNOPROTO { int sched_yield (void); }
553332	AUE_NULL	MNOPROTO { int sched_get_priority_max (int policy); }
554333	AUE_NULL	MNOPROTO { int sched_get_priority_min (int policy); }
555334	AUE_NULL	MNOPROTO { int sched_rr_get_interval (pid_t pid, \
556				    struct timespec *interval); }
557335	AUE_NULL	MNOPROTO { int utrace(const void *addr, size_t len); }
558; XXX note - bigendian is different
559336	AUE_NULL	MCOMPAT4 { int freebsd32_sendfile(int fd, int s, \
560				    u_int32_t offsetlo, u_int32_t offsethi, \
561				    size_t nbytes, struct sf_hdtr *hdtr, \
562				    off_t *sbytes, int flags); }
563337	AUE_NULL	MNOPROTO	{ int kldsym(int fileid, int cmd, \
564				    void *data); }
565338	AUE_NULL	MNOPROTO { int jail(struct jail *jail); }
566339	AUE_NULL	UNIMPL	pioctl
567340	AUE_NULL	MNOPROTO { int sigprocmask(int how, \
568				    const sigset_t *set, sigset_t *oset); }
569341	AUE_NULL	MNOPROTO { int sigsuspend(const sigset_t *sigmask); }
570342	AUE_NULL	MCOMPAT4 { int freebsd32_sigaction(int sig, \
571				    struct sigaction32 *act, \
572				    struct sigaction32 *oact); }
573343	AUE_NULL	MNOPROTO { int sigpending(sigset_t *set); }
574344	AUE_NULL	MCOMPAT4 { int freebsd32_sigreturn( \
575		    const struct freebsd4_freebsd32_ucontext *sigcntxp); }
576; XXX implement
577345	AUE_NULL	UNIMPL	sigtimedwait
578; XXX implement
579346	AUE_NULL	UNIMPL	sigwaitinfo
580347	AUE_NULL	MNOPROTO { int __acl_get_file(const char *path, \
581				    acl_type_t type, struct acl *aclp); }
582348	AUE_NULL	MNOPROTO { int __acl_set_file(const char *path, \
583				    acl_type_t type, struct acl *aclp); }
584349	AUE_NULL	MNOPROTO { int __acl_get_fd(int filedes, \
585				    acl_type_t type, struct acl *aclp); }
586350	AUE_NULL	MNOPROTO { int __acl_set_fd(int filedes, \
587				    acl_type_t type, struct acl *aclp); }
588351	AUE_NULL	MNOPROTO { int __acl_delete_file(const char *path, \
589				    acl_type_t type); }
590352	AUE_NULL	MNOPROTO { int __acl_delete_fd(int filedes, \
591				    acl_type_t type); }
592353	AUE_NULL	MNOPROTO { int __acl_aclcheck_file(const char *path, \
593				    acl_type_t type, struct acl *aclp); }
594354	AUE_NULL	MNOPROTO { int __acl_aclcheck_fd(int filedes, \
595				    acl_type_t type, struct acl *aclp); }
596355	AUE_NULL	NOPROTO	{ int extattrctl(const char *path, int cmd, \
597				    const char *filename, int attrnamespace, \
598				    const char *attrname); }
599356	AUE_NULL	NOPROTO	{ int extattr_set_file(const char *path, \
600				    int attrnamespace, const char *attrname, \
601				    void *data, size_t nbytes); }
602357	AUE_NULL	NOPROTO	{ ssize_t extattr_get_file(const char *path, \
603				    int attrnamespace, const char *attrname, \
604				    void *data, size_t nbytes); }
605358	AUE_NULL	NOPROTO	{ int extattr_delete_file(const char *path, \
606				    int attrnamespace, \
607				    const char *attrname); }
608359	AUE_NULL	UNIMPL	aio_waitcomplete
609360	AUE_NULL	MNOPROTO { int getresuid(uid_t *ruid, uid_t *euid, \
610				    uid_t *suid); }
611361	AUE_NULL	MNOPROTO { int getresgid(gid_t *rgid, gid_t *egid, \
612				    gid_t *sgid); }
613362	AUE_NULL	MNOPROTO { int kqueue(void); }
614363	AUE_NULL	MSTD { int freebsd32_kevent(int fd, \
615				    const struct kevent32 *changelist, \
616				    int nchanges, \
617				    struct kevent32 *eventlist, int nevents, \
618				    const struct timespec32 *timeout); }
619364	AUE_NULL	UNIMPL	__cap_get_proc
620365	AUE_NULL	UNIMPL	__cap_set_proc
621366	AUE_NULL	UNIMPL	__cap_get_fd
622367	AUE_NULL	UNIMPL	__cap_get_file
623368	AUE_NULL	UNIMPL	__cap_set_fd
624369	AUE_NULL	UNIMPL	__cap_set_file
625370	AUE_NULL	UNIMPL	lkmressys
626371	AUE_NULL	NOPROTO	{ int extattr_set_fd(int fd, \
627				    int attrnamespace, const char *attrname, \
628				    void *data, size_t nbytes); }
629372	AUE_NULL	NOPROTO	{ ssize_t extattr_get_fd(int fd, \
630				    int attrnamespace, const char *attrname, \
631				    void *data, size_t nbytes); }
632373	AUE_NULL	NOPROTO	{ int extattr_delete_fd(int fd, \
633				    int attrnamespace, \
634				    const char *attrname); }
635374	AUE_NULL	MNOPROTO { int __setugid(int flag); }
636375	AUE_NULL	UNIMPL	nfsclnt
637376	AUE_NULL	MNOPROTO	{ int eaccess(char *path, int flags); }
638377	AUE_NULL	UNIMPL	afs_syscall
639378	AUE_NULL	NOPROTO { int nmount(struct iovec *iovp, \
640				    unsigned int iovcnt, int flags); }
641379	AUE_NULL	MNOPROTO	{ int kse_exit(void); }
642380	AUE_NULL	MNOPROTO	{ int kse_wakeup(struct kse_mailbox *mbx); }
643381	AUE_NULL	MNOPROTO	{ int kse_create(struct kse_mailbox *mbx, \
644				    int newgroup); }
645382	AUE_NULL	MNOPROTO	{ int kse_thr_interrupt( \
646				    struct kse_thr_mailbox *tmbx); }
647383	AUE_NULL	MNOPROTO	{ int kse_release(void); }
648384	AUE_NULL	UNIMPL	__mac_get_proc
649385	AUE_NULL	UNIMPL	__mac_set_proc
650386	AUE_NULL	UNIMPL	__mac_get_fd
651387	AUE_NULL	UNIMPL	__mac_get_file
652388	AUE_NULL	UNIMPL	__mac_set_fd
653389	AUE_NULL	UNIMPL	__mac_set_file
654390	AUE_NULL	MNOPROTO	{ int kenv(int what, const char *name, \
655				    char *value, int len); }
656391	AUE_NULL	MNOPROTO	{ int lchflags(const char *path, int flags); }
657392	AUE_NULL	MNOPROTO { int uuidgen(struct uuid *store, \
658				    int count); }
659393	AUE_NULL	MSTD	{ int freebsd32_sendfile(int fd, int s, \
660				    u_int32_t offsetlo, u_int32_t offsethi, \
661				    size_t nbytes, struct sf_hdtr *hdtr, \
662				    off_t *sbytes, int flags); }
663394	AUE_NULL	UNIMPL	mac_syscall
664395	AUE_NULL	MNOPROTO	{ int getfsstat(struct statfs *buf, \
665				    long bufsize, int flags); }
666396	AUE_NULL	MNOPROTO	{ int statfs(char *path, \
667				    struct statfs *buf); }
668397	AUE_NULL	MNOPROTO	{ int fstatfs(int fd, struct statfs *buf); }
669398	AUE_NULL	MNOPROTO	{ int fhstatfs(const struct fhandle *u_fhp, \
670				    struct statfs *buf); }
671399	AUE_NULL	UNIMPL	nosys
672; XXX implement these?
673400	AUE_NULL	UNIMPL	ksem_close
674401	AUE_NULL	UNIMPL	ksem_post
675402	AUE_NULL	UNIMPL	ksem_wait
676403	AUE_NULL	UNIMPL	ksem_trywait
677404	AUE_NULL	UNIMPL	ksem_init
678405	AUE_NULL	UNIMPL	ksem_open
679406	AUE_NULL	UNIMPL	ksem_unlink
680407	AUE_NULL	UNIMPL	ksem_getvalue
681408	AUE_NULL	UNIMPL	ksem_destroy
682409	AUE_NULL	UNIMPL	__mac_get_pid
683410	AUE_NULL	UNIMPL	__mac_get_link
684411	AUE_NULL	UNIMPL	__mac_set_link
685412	AUE_NULL	UNIMPL	extattr_set_link
686413	AUE_NULL	UNIMPL	extattr_get_link
687414	AUE_NULL	UNIMPL	extattr_delete_link
688415	AUE_NULL	UNIMPL	__mac_execve
689416	AUE_NULL	MSTD { int freebsd32_sigaction(int sig, \
690				    struct sigaction32 *act, \
691				    struct sigaction32 *oact); }
692417	AUE_NULL	MSTD { int freebsd32_sigreturn( \
693		    const struct freebsd32_ucontext *sigcntxp); }
694418	AUE_NULL	UNIMPL	__xstat
695419	AUE_NULL	UNIMPL	__xfstat
696420	AUE_NULL	UNIMPL	__xlstat
697421	AUE_NULL	MSTD	{ int freebsd32_getcontext( \
698				    struct freebsd32_ucontext *ucp); }
699422	AUE_NULL	MSTD	{ int freebsd32_setcontext( \
700				    const struct freebsd32_ucontext *ucp); }
701423	AUE_NULL	MSTD	{ int freebsd32_swapcontext( \
702				    struct freebsd32_ucontext *oucp, \
703				    const struct freebsd32_ucontext *ucp); }
704424	AUE_NULL	UNIMPL	swapoff
705425	AUE_NULL	UNIMPL	__acl_get_link
706426	AUE_NULL	UNIMPL	__acl_set_link
707427	AUE_NULL	UNIMPL	__acl_delete_link
708428	AUE_NULL	UNIMPL	__acl_aclcheck_link
709; XXX implement
710429	AUE_NULL	UNIMPL	sigwait
711430	AUE_NULL	MNOPROTO { int thr_create(ucontext_t *ctx, long *id, \
712				    int flag s); }
713431	AUE_NULL	MNOPROTO { void thr_exit(long *state); }
714432	AUE_NULL	MNOPROTO { int thr_self(long *id); }
715433	AUE_NULL	MNOPROTO { int thr_kill(long id, int sig); }
716434	AUE_NULL	MNOPROTO { int _umtx_lock(struct umtx *umtx); }
717435	AUE_NULL	MNOPROTO { int _umtx_unlock(struct umtx *umtx); }
718436	AUE_NULL	MNOPROTO { int jail_attach(int jid); }
719437	AUE_NULL	UNIMPL	extattr_list_fd
720438	AUE_NULL	UNIMPL	extattr_list_file
721439	AUE_NULL	UNIMPL	extattr_list_link
722440	AUE_NULL	UNIMPL	kse_switchin
723441	AUE_NULL	UNIMPL	ksem_timedwait
724442	AUE_NULL	MNOPROTO { int thr_suspend( \
725				    const struct timespec *timeout); }
726443	AUE_NULL	MNOPROTO { int thr_wake(long id); }
727444	AUE_NULL	MNOPROTO { int kldunloadf(int fileid, int flags); }
728445	AUE_NULL	UNIMPL	audit
729446	AUE_NULL	UNIMPL	auditon
730447	AUE_NULL	UNIMPL	getauid
731448	AUE_NULL	UNIMPL	setauid
732449	AUE_NULL	UNIMPL	getaudit
733450	AUE_NULL	UNIMPL	setaudit
734451	AUE_NULL	UNIMPL	getaudit_addr
735452	AUE_NULL	UNIMPL	setaudit_addr
736453	AUE_NULL	UNIMPL	auditctl
737454	AUE_NULL	UNIMPL	_umtx_op
738