syscalls.master revision 127482
1 $FreeBSD: head/sys/compat/freebsd32/syscalls.master 127482 2004-03-27 14:30:43Z mtm $
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;	type	one of [M]STD, [M]OBSOL, [M]UNIMPL, [M]COMPAT, [M]CPT_NOA,
11;		[M]LIBCOMPAT, [M]NODEF,  [M]NOARGS,  [M]NOPROTO,  [M]NOIMPL,
12;		[M]NOSTD
13;	name	psuedo-prototype of syscall routine
14;		If one of the following alts is different, then all appear:
15;	altname	name of system call if different
16;	alttag	name of args struct tag if different from [o]`name'"_args"
17;	altrtyp	return type if not int (bogus - syscalls always return int)
18;		for UNIMPL/OBSOL, name continues with comments
19
20; types:
21;	[M]	e.g. like MSTD -- means the system call is MP-safe.  If no
22;		M prefix is used, the syscall wrapper will obtain the Giant
23;		lock for the syscall.
24;	STD	always included
25;	COMPAT	included on COMPAT #ifdef
26;	LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
27;	OBSOL	obsolete, not included in system, only specifies name
28;	UNIMPL	not implemented, placeholder only
29;	NOSTD	implemented but as a lkm that can be statically
30;			compiled in sysent entry will be filled with lkmsys
31;			so the SYSCALL_MODULE macro works
32
33; #ifdef's, etc. may be included, and are copied to the output files.
34
35#include <sys/param.h>
36#include <sys/sysent.h>
37#include <sys/sysproto.h>
38#include <sys/mount.h>
39#include <compat/freebsd32/freebsd32.h>
40#include <compat/freebsd32/freebsd32_proto.h>
41
42; Reserved/unimplemented system calls in the range 0-150 inclusive
43; are reserved for use in future Berkeley releases.
44; Additional system calls implemented in vendor and other
45; redistributions should be placed in the reserved range at the end
46; of the current calls.
47
480	MNOPROTO { int nosys(void); } syscall nosys_args int
491	MNOPROTO { void sys_exit(int rval); } exit sys_exit_args void
502	MNOPROTO { int fork(void); }
513	MNOPROTO { ssize_t read(int fd, void *buf, size_t nbyte); }
524	MNOPROTO { ssize_t write(int fd, const void *buf, size_t nbyte); }
535	NOPROTO	{ int open(char *path, int flags, int mode); }
546	MNOPROTO { int close(int fd); }
557	MSTD	{ int freebsd32_wait4(int pid, int *status, int options, \
56		    struct rusage32 *rusage); }
578	OBSOL	old creat
589	NOPROTO	{ int link(char *path, char *link); }
5910	NOPROTO	{ int unlink(char *path); }
6011	OBSOL	execv
6112	NOPROTO	{ int chdir(char *path); }
6213	NOPROTO	{ int fchdir(int fd); }
6314	NOPROTO	{ int mknod(char *path, int mode, int dev); }
6415	NOPROTO	{ int chmod(char *path, int mode); }
6516	NOPROTO	{ int chown(char *path, int uid, int gid); }
6617	MNOPROTO { int obreak(char *nsize); } break obreak_args int
6718	STD	{ int freebsd32_getfsstat(struct statfs32 *buf, long bufsize, \
68		    int flags); }
6919	OBSOL	olseek
7020	MNOPROTO { pid_t getpid(void); }
7121	NOPROTO	{ int mount(char *type, char *path, int flags, \
72		    caddr_t data); }
7322	NOPROTO	{ int unmount(char *path, int flags); }
7423	MNOPROTO { int setuid(uid_t uid); }
7524	MNOPROTO { uid_t getuid(void); }
7625	MNOPROTO { uid_t geteuid(void); }
7726	MNOPROTO { int ptrace(int req, pid_t pid, caddr_t addr, int data); }
78; XXX implement
7927	UNIMPL	recvmsg
8028	MNOPROTO { int sendmsg(int s, caddr_t msg, int flags); }
8129	MNOPROTO { int recvfrom(int s, caddr_t buf, size_t len, int flags, \
82		    caddr_t from, int *fromlenaddr); }
8330	MNOPROTO { int accept(int s, caddr_t name, int *anamelen); }
8431	MNOPROTO { int getpeername(int fdes, caddr_t asa, int *alen); }
8532	MNOPROTO { int getsockname(int fdes, caddr_t asa, int *alen); }
8633	NOPROTO	{ int access(char *path, int flags); }
8734	NOPROTO	{ int chflags(char *path, int flags); }
8835	NOPROTO	{ int fchflags(int fd, int flags); }
8936	NOPROTO	{ int sync(void); }
9037	MNOPROTO { int kill(int pid, int signum); }
9138	UNIMPL	ostat
9239	MNOPROTO { pid_t getppid(void); }
9340	UNIMPL	olstat
9441	MNOPROTO { int dup(u_int fd); }
9542	MNOPROTO { int pipe(void); }
9643	MNOPROTO { gid_t getegid(void); }
9744	MNOPROTO { int profil(caddr_t samples, size_t size, size_t offset, \
98		    u_int scale); }
9945	MNOPROTO { int ktrace(const char *fname, int ops, int facs, int pid); }
10046	UNIMPL	osigaction
10147	MNOPROTO { gid_t getgid(void); }
10248	UNIMPL	osigprocmask
10349	MNOPROTO { int getlogin(char *namebuf, u_int namelen); }
10450	MNOPROTO { int setlogin(char *namebuf); }
10551	MNOPROTO { int acct(char *path); }
10652	OBSOL	osigpending
10753	MSTD	{ int freebsd32_sigaltstack(struct sigaltstack32 *ss, \
108		    struct sigaltstack32 *oss); }
10954	MNOPROTO { int ioctl(int fd, u_long com, caddr_t data); }
11055	MNOPROTO { int reboot(int opt); }
11156	NOPROTO	{ int revoke(char *path); }
11257	NOPROTO	{ int symlink(char *path, char *link); }
11358	NOPROTO	{ int readlink(char *path, char *buf, int count); }
11459	STD	 { int freebsd32_execve(char *fname, u_int32_t *argv, \
115		    u_int32_t *envv); }
11660	MNOPROTO { int umask(int newmask); } umask umask_args int
11761	NOPROTO	{ int chroot(char *path); }
11862	OBSOL	ofstat
11963	OBSOL	ogetkerninfo
12064	OBSOL	ogetpagesize
121; XXX implement (not OBSOL at all)
12265	OBSOL	omsync
12366	MNOPROTO { int vfork(void); }
12467	OBSOL	vread
12568	OBSOL	vwrite
12669	MNOPROTO { int sbrk(int incr); }
12770	MNOPROTO { int sstk(int incr); }
12871	OBSOL	ommap
12972	MNOPROTO { int ovadvise(int anom); } vadvise ovadvise_args int
13073	MNOPROTO { int munmap(void *addr, size_t len); }
13174	MNOPROTO { int mprotect(const void *addr, size_t len, int prot); }
13275	MNOPROTO { int madvise(void *addr, size_t len, int behav); }
13376	OBSOL	vhangup
13477	OBSOL	vlimit
13578	MNOPROTO { int mincore(const void *addr, size_t len, char *vec); }
13679	MNOPROTO { int getgroups(u_int gidsetsize, gid_t *gidset); }
13780	MNOPROTO { int setgroups(u_int gidsetsize, gid_t *gidset); }
13881	MNOPROTO { int getpgrp(void); }
13982	MNOPROTO { int setpgid(int pid, int pgid); }
14083	STD	{ int freebsd32_setitimer(u_int which, \
141		    struct itimerval32 *itv, struct itimerval32 *oitv); }
14284	OBSOL	owait
143; XXX implement
14485	OBSOL	oswapon
14586	STD	{ int freebsd32_getitimer(u_int which, \
146		    struct itimerval32 *itv); }
14787	OBSOL	ogethostname
14888	OBSOL	osethostname
14989	MNOPROTO { int getdtablesize(void); }
15090	MNOPROTO { int dup2(u_int from, u_int to); }
15191	UNIMPL	getdopt
15292	MNOPROTO { int fcntl(int fd, int cmd, long arg); }
15393	STD	{ int freebsd32_select(int nd, fd_set *in, fd_set *ou, \
154		    fd_set *ex, struct timeval32 *tv); }
155; XXX need to override for big-endian - little-endian should work fine.
15694	UNIMPL	setdopt
15795	NOPROTO	{ int fsync(int fd); }
15896	MNOPROTO { int setpriority(int which, int who, int prio); }
15997	MNOPROTO { int socket(int domain, int type, int protocol); }
16098	MNOPROTO { int connect(int s, caddr_t name, int namelen); }
16199	OBSOL	oaccept
162100	MNOPROTO { int getpriority(int which, int who); }
163101	OBSOL	osend
164102	OBSOL	orecv
165103	OBSOL	osigreturn
166104	MNOPROTO { int bind(int s, caddr_t name, int namelen); }
167105	MNOPROTO { int setsockopt(int s, int level, int name, caddr_t val, \
168		    int valsize); }
169106	MNOPROTO { int listen(int s, int backlog); }
170107	OBSOL	vtimes
171108	OBSOL	osigvec
172109	OBSOL	osigblock
173110	OBSOL	osigsetmask
174111	OBSOL	osigsuspend
175112	OBSOL	osigstack
176113	OBSOL	orecvmsg
177114	OBSOL	osendmsg
178115	OBSOL	vtrace
179116	MSTD	{ int freebsd32_gettimeofday(struct timeval32 *tp, \
180		    struct timezone *tzp); }
181117	STD	{ int freebsd32_getrusage(int who, struct rusage32 *rusage); }
182118	MNOPROTO { int getsockopt(int s, int level, int name, caddr_t val, \
183		    int *avalsize); }
184119	UNIMPL	resuba (BSD/OS 2.x)
185120	STD	{ int freebsd32_readv(int fd, struct iovec32 *iovp, \
186		    u_int iovcnt); }
187121	STD	{ int freebsd32_writev(int fd, struct iovec32 *iovp, \
188		    u_int iovcnt); }
189122	STD	{ int freebsd32_settimeofday(struct timeval32 *tv, \
190		    struct timezone *tzp); }
191123	NOPROTO	{ int fchown(int fd, int uid, int gid); }
192124	NOPROTO	{ int fchmod(int fd, int mode); }
193125	OBSOL	orecvfrom
194126	MNOPROTO { int setreuid(int ruid, int euid); }
195127	MNOPROTO { int setregid(int rgid, int egid); }
196128	NOPROTO	{ int rename(char *from, char *to); }
197129	OBSOL	otruncate
198130	OBSOL	ftruncate
199131	MNOPROTO { int flock(int fd, int how); }
200132	NOPROTO	{ int mkfifo(char *path, int mode); }
201133	MNOPROTO { int sendto(int s, caddr_t buf, size_t len, int flags, \
202		    caddr_t to, int tolen); }
203134	MNOPROTO { int shutdown(int s, int how); }
204135	MNOPROTO { int socketpair(int domain, int type, int protocol, \
205		    int *rsv); }
206136	NOPROTO	{ int mkdir(char *path, int mode); }
207137	NOPROTO	{ int rmdir(char *path); }
208138	STD	{ int freebsd32_utimes(char *path, struct timeval32 *tptr); }
209139	OBSOL	4.2 sigreturn
210140	STD	{ int freebsd32_adjtime(struct timeval32 *delta, \
211		    struct timeval32 *olddelta); }
212141	OBSOL	ogetpeername
213142	OBSOL	ogethostid
214143	OBSOL	sethostid
215144	OBSOL	getrlimit
216145	OBSOL	setrlimit
217146	OBSOL	killpg
218147	MNOPROTO { int setsid(void); }
219148	NOPROTO	{ int quotactl(char *path, int cmd, int uid, caddr_t arg); }
220149	OBSOL oquota
221150	OBSOL ogetsockname
222
223; Syscalls 151-180 inclusive are reserved for vendor-specific
224; system calls.  (This includes various calls added for compatibity
225; with other Unix variants.)
226; Some of these calls are now supported by BSD...
227151	UNIMPL	sem_lock (BSD/OS 2.x)
228152	UNIMPL	sem_wakeup (BSD/OS 2.x)
229153	UNIMPL	asyncdaemon (BSD/OS 2.x)
230154	UNIMPL	nosys
231; 155 is initialized by the NFS code, if present.
232; XXX this is a problem!!!
233155	UNIMPL	nfssvc
234156	OBSOL	ogetdirentries
235157	STD	{ int freebsd32_statfs(char *path, struct statfs32 *buf); }
236158	STD	{ int freebsd32_fstatfs(int fd, struct statfs32 *buf); }
237159	UNIMPL	nosys
238160	UNIMPL	nosys
239161	NOPROTO	{ int getfh(char *fname, struct fhandle *fhp); }
240162	MNOPROTO { int getdomainname(char *domainname, int len); }
241163	MNOPROTO { int setdomainname(char *domainname, int len); }
242164	MNOPROTO { int uname(struct utsname *name); }
243165	MNOPROTO { int sysarch(int op, char *parms); }
244166	MNOPROTO { int rtprio(int function, pid_t pid, \
245		    struct rtprio *rtp); }
246167	UNIMPL	nosys
247168	UNIMPL	nosys
248169	STD	{ int freebsd32_semsys(int which, int a2, int a3, int a4, \
249		    int a5); }
250170	STD	{ int freebsd32_msgsys(int which, int a2, int a3, int a4, \
251		    int a5, int a6); }
252171	STD	{ int freebsd32_shmsys(int which, int a2, int a3, int a4); }
253172	UNIMPL	nosys
254173	STD { ssize_t freebsd32_pread(int fd, void *buf, size_t nbyte, \
255		    int pad, u_int32_t offsetlo, u_int32_t offsethi); }
256; XXX note - bigendian is different
257174	STD	{ ssize_t freebsd32_pwrite(int fd, const void *buf, \
258		    size_t nbyte, int pad, u_int32_t offsetlo, \
259		    u_int32_t offsethi); }
260; XXX note - bigendian is different
261175	UNIMPL	nosys
262176	MNOPROTO { int ntp_adjtime(struct timex *tp); }
263177	UNIMPL	sfork (BSD/OS 2.x)
264178	UNIMPL	getdescriptor (BSD/OS 2.x)
265179	UNIMPL	setdescriptor (BSD/OS 2.x)
266180	UNIMPL	nosys
267
268; Syscalls 181-199 are used by/reserved for BSD
269181	MNOPROTO { int setgid(gid_t gid); }
270182	MNOPROTO { int setegid(gid_t egid); }
271183	MNOPROTO { int seteuid(uid_t euid); }
272184	UNIMPL	lfs_bmapv
273185	UNIMPL	lfs_markv
274186	UNIMPL	lfs_segclean
275187	UNIMPL	lfs_segwait
276188	STD	{ int freebsd32_stat(char *path, struct stat32 *ub); }
277189	MSTD	{ int freebsd32_fstat(int fd, struct stat32 *ub); }
278190	STD	{ int freebsd32_lstat(char *path, struct stat32 *ub); }
279191	NOPROTO	{ int pathconf(char *path, int name); }
280192	MNOPROTO { int fpathconf(int fd, int name); }
281193	UNIMPL	nosys
282194	MNOPROTO { int getrlimit(u_int which, struct rlimit *rlp); } \
283		    getrlimit __getrlimit_args int
284195	MNOPROTO { int setrlimit(u_int which, struct rlimit *rlp); } \
285		    setrlimit __setrlimit_args int
286196	NOPROTO	{ int getdirentries(int fd, char *buf, u_int count, \
287		    long *basep); }
288197	STD 	{ caddr_t freebsd32_mmap(caddr_t addr, size_t len, int prot, \
289		    int flags, int fd, int pad, u_int32_t poslo, \
290		    u_int32_t poshi); }
291198	NOPROTO	{ int nosys(void); } __syscall __syscall_args int
292; XXX note - bigendian is different
293199	STD	{ off_t freebsd32_lseek(int fd, int pad, u_int32_t offsetlo, \
294		    u_int32_t offsethi, int whence); }
295; XXX note - bigendian is different
296200	STD	{ int freebsd32_truncate(char *path, int pad, \
297		    u_int32_t lengthlo, u_int32_t lengthhi); }
298; XXX note - bigendian is different
299201	STD	{ int freebsd32_ftruncate(int fd, int pad, \
300		    u_int32_t lengthlo, u_int32_t lengthhi); }
301202	MSTD { int freebsd32_sysctl(int *name, u_int namelen, void *old, \
302		    u_int32_t *oldlenp, void *new, u_int32_t newlen); }
303203	MNOPROTO { int mlock(const void *addr, size_t len); }
304204	MNOPROTO { int munlock(const void *addr, size_t len); }
305205	NOPROTO	{ int undelete(char *path); }
306206	NOPROTO	{ int futimes(int fd, struct timeval *tptr); }
307207	MNOPROTO { int getpgid(pid_t pid); }
308208	UNIMPL	newreboot (NetBSD)
309209	MNOPROTO { int poll(struct pollfd *fds, u_int nfds, int timeout); }
310
311;
312; The following are reserved for loadable syscalls
313;
314210	UNIMPL
315211	UNIMPL
316212	UNIMPL
317213	UNIMPL
318214	UNIMPL
319215	UNIMPL
320216	UNIMPL
321217	UNIMPL
322218	UNIMPL
323219	UNIMPL
324
325;
326; The following were introduced with NetBSD/4.4Lite-2
327; They are initialized by thier respective modules/sysinits
328; XXX PROBLEM!!
329220	MNOPROTO { int __semctl(int semid, int semnum, int cmd, \
330		    union semun *arg); }
331221	MNOPROTO { int semget(key_t key, int nsems, int semflg); }
332222	MNOPROTO { int semop(int semid, struct sembuf *sops, u_int nsops); }
333223	UNIMPL	semconfig
334224	MNOPROTO { int msgctl(int msqid, int cmd, struct msqid_ds *buf); }
335225	MNOPROTO { int msgget(key_t key, int msgflg); }
336226	MNOPROTO { int msgsnd(int msqid, void *msgp, size_t msgsz, \
337		    int msgflg); }
338227	MNOPROTO { int msgrcv(int msqid, void *msgp, size_t msgsz, \
339		    long msgtyp, int msgflg); }
340228	MNOPROTO { int shmat(int shmid, void *shmaddr, int shmflg); }
341229	MNOPROTO { int shmctl(int shmid, int cmd, struct shmid_ds *buf); }
342230	MNOPROTO { int shmdt(void *shmaddr); }
343231	MNOPROTO { int shmget(key_t key, int size, int shmflg); }
344;
345232	MNOPROTO { int clock_gettime(clockid_t clock_id, struct timespec *tp); }
346233	MNOPROTO { int clock_settime(clockid_t clock_id, \
347		    const struct timespec *tp); }
348234	MNOPROTO { int clock_getres(clockid_t clock_id, struct timespec *tp); }
349235	UNIMPL	timer_create
350236	UNIMPL	timer_delete
351237	UNIMPL	timer_settime
352238	UNIMPL	timer_gettime
353239	UNIMPL	timer_getoverrun
354240	MNOPROTO { int nanosleep(const struct timespec *rqtp, \
355		    struct timespec *rmtp); }
356241	UNIMPL	nosys
357242	UNIMPL	nosys
358243	UNIMPL	nosys
359244	UNIMPL	nosys
360245	UNIMPL	nosys
361246	UNIMPL	nosys
362247	UNIMPL	nosys
363248	UNIMPL	nosys
364249	UNIMPL	nosys
365; syscall numbers initially used in OpenBSD
366250	MNOPROTO { int minherit(void *addr, size_t len, int inherit); }
367251	MNOPROTO { int rfork(int flags); }
368252	MNOPROTO { int openbsd_poll(struct pollfd *fds, u_int nfds, \
369		    int timeout); }
370253	MNOPROTO { int issetugid(void); }
371254	NOPROTO	{ int lchown(char *path, int uid, int gid); }
372255	UNIMPL	nosys
373256	UNIMPL	nosys
374257	UNIMPL	nosys
375258	UNIMPL	nosys
376259	UNIMPL	nosys
377260	UNIMPL	nosys
378261	UNIMPL	nosys
379262	UNIMPL	nosys
380263	UNIMPL	nosys
381264	UNIMPL	nosys
382265	UNIMPL	nosys
383266	UNIMPL	nosys
384267	UNIMPL	nosys
385268	UNIMPL	nosys
386269	UNIMPL	nosys
387270	UNIMPL	nosys
388271	UNIMPL	nosys
389272	NOPROTO	{ int getdents(int fd, char *buf, size_t count); }
390273	UNIMPL	nosys
391274	NOPROTO	{ int lchmod(char *path, mode_t mode); }
392275	NOPROTO { int lchown(char *path, uid_t uid, gid_t gid); } \
393		    netbsd_lchown lchown_args int
394276	NOPROTO	{ int lutimes(char *path, struct timeval *tptr); }
395277	MNOPROTO { int msync(void *addr, size_t len, int flags); } \
396		    netbsd_msync msync_args int
397278	NOPROTO	{ int nstat(char *path, struct nstat *ub); }
398279	MNOPROTO { int nfstat(int fd, struct nstat *sb); }
399280	NOPROTO	{ int nlstat(char *path, struct nstat *ub); }
400281	UNIMPL	nosys
401282	UNIMPL	nosys
402283	UNIMPL	nosys
403284	UNIMPL	nosys
404285	UNIMPL	nosys
405286	UNIMPL	nosys
406287	UNIMPL	nosys
407288	UNIMPL	nosys
408289	UNIMPL	nosys
409290	UNIMPL	nosys
410291	UNIMPL	nosys
411292	UNIMPL	nosys
412293	UNIMPL	nosys
413294	UNIMPL	nosys
414295	UNIMPL	nosys
415296	UNIMPL	nosys
416; XXX 297 is 300 in NetBSD 
417297	NOPROTO	{ int fhstatfs(const struct fhandle *u_fhp, \
418		    struct statfs *buf); }
419298	NOPROTO	{ int fhopen(const struct fhandle *u_fhp, int flags); }
420299	NOPROTO	{ int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
421; syscall numbers for FreeBSD
422300	MNOPROTO { int modnext(int modid); }
423301	MNOPROTO { int modstat(int modid, struct module_stat* stat); }
424302	MNOPROTO { int modfnext(int modid); }
425303	MNOPROTO { int modfind(const char *name); }
426304	MNOPROTO { int kldload(const char *file); }
427305	MNOPROTO { int kldunload(int fileid); }
428306	MNOPROTO { int kldfind(const char *file); }
429307	MNOPROTO { int kldnext(int fileid); }
430308	MNOPROTO { int kldstat(int fileid, struct kld_file_stat* stat); }
431309	MNOPROTO { int kldfirstmod(int fileid); }
432310	MNOPROTO { int getsid(pid_t pid); }
433311	MNOPROTO { int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
434312	MNOPROTO { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
435313	OBSOL	signanosleep
436314	UNIMPL	aio_return
437315	UNIMPL	aio_suspend
438316	UNIMPL	aio_cancel
439317	UNIMPL	aio_error
440318	UNIMPL	aio_read
441319	UNIMPL	aio_write
442320	UNIMPL	lio_listio
443321	MNOPROTO { int yield(void); }
444322	OBSOL	thr_sleep
445323	OBSOL	thr_wakeup
446324	MNOPROTO { int mlockall(int how); }
447325	MNOPROTO { int munlockall(void); }
448326	NOPROTO	{ int __getcwd(u_char *buf, u_int buflen); }
449
450327	MNOPROTO { int sched_setparam (pid_t pid, \
451		    const struct sched_param *param); }
452328	MNOPROTO { int sched_getparam (pid_t pid, struct sched_param *param); }
453
454329	MNOPROTO { int sched_setscheduler (pid_t pid, int policy, \
455		    const struct sched_param *param); }
456330	MNOPROTO { int sched_getscheduler (pid_t pid); }
457
458331	MNOPROTO { int sched_yield (void); }
459332	MNOPROTO { int sched_get_priority_max (int policy); }
460333	MNOPROTO { int sched_get_priority_min (int policy); }
461334	MNOPROTO { int sched_rr_get_interval (pid_t pid, \
462		    struct timespec *interval); }
463335	MNOPROTO { int utrace(const void *addr, size_t len); }
464; XXX note - bigendian is different
465336	MCOMPAT4 { int freebsd32_sendfile(int fd, int s, u_int32_t offsetlo, \
466		    u_int32_t offsethi, size_t nbytes, struct sf_hdtr *hdtr, \
467		    off_t *sbytes, int flags); }
468337	NOPROTO	{ int kldsym(int fileid, int cmd, void *data); }
469338	MNOPROTO { int jail(struct jail *jail); }
470339	UNIMPL	pioctl
471340	MNOPROTO { int sigprocmask(int how, const sigset_t *set, \
472		    sigset_t *oset); }
473341	MNOPROTO { int sigsuspend(const sigset_t *sigmask); }
474342	MCOMPAT4 { int freebsd32_sigaction(int sig, struct sigaction32 *act, \
475		    struct sigaction32 *oact); }
476343	MNOPROTO { int sigpending(sigset_t *set); }
477344	MCOMPAT4 { int freebsd32_sigreturn( \
478		    const struct freebsd4_freebsd32_ucontext *sigcntxp); }
479; XXX implement
480345	UNIMPL	sigtimedwait
481; XXX implement
482346	UNIMPL	sigwaitinfo
483347	MNOPROTO { int __acl_get_file(const char *path, acl_type_t type, \
484		    struct acl *aclp); }
485348	MNOPROTO { int __acl_set_file(const char *path, acl_type_t type, \
486		    struct acl *aclp); }
487349	MNOPROTO { int __acl_get_fd(int filedes, acl_type_t type, \
488		    struct acl *aclp); }
489350	MNOPROTO { int __acl_set_fd(int filedes, acl_type_t type, \
490		    struct acl *aclp); }
491351	MNOPROTO { int __acl_delete_file(const char *path, acl_type_t type); }
492352	MNOPROTO { int __acl_delete_fd(int filedes, acl_type_t type); }
493353	MNOPROTO { int __acl_aclcheck_file(const char *path, acl_type_t type, \
494		    struct acl *aclp); }
495354	MNOPROTO { int __acl_aclcheck_fd(int filedes, acl_type_t type, \
496		    struct acl *aclp); }
497355	NOPROTO	{ int extattrctl(const char *path, int cmd, \
498		    const char *filename, int attrnamespace, \
499		    const char *attrname); }
500356	NOPROTO	{ int extattr_set_file(const char *path, \
501		    int attrnamespace, const char *attrname, \
502		    void *data, size_t nbytes); }
503357	NOPROTO	{ ssize_t extattr_get_file(const char *path, \
504		    int attrnamespace, const char *attrname, \
505		    void *data, size_t nbytes); }
506358	NOPROTO	{ int extattr_delete_file(const char *path, \
507		    int attrnamespace, const char *attrname); }
508359	UNIMPL	aio_waitcomplete
509360	MNOPROTO { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
510361	MNOPROTO { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
511362	MNOPROTO { int kqueue(void); }
512363	MSTD { int freebsd32_kevent(int fd, \
513		    const struct kevent *changelist, int nchanges, \
514		    struct kevent *eventlist, int nevents, \
515		    const struct timespec *timeout); }
516364	UNIMPL	__cap_get_proc
517365	UNIMPL	__cap_set_proc
518366	UNIMPL	__cap_get_fd
519367	UNIMPL	__cap_get_file
520368	UNIMPL	__cap_set_fd
521369	UNIMPL	__cap_set_file
522370	UNIMPL	lkmressys
523371	NOPROTO	{ int extattr_set_fd(int fd, int attrnamespace, \
524		    const char *attrname, void *data, size_t nbytes); }
525372	NOPROTO	{ ssize_t extattr_get_fd(int fd, int attrnamespace, \
526		    const char *attrname, void *data, size_t nbytes); }
527373	NOPROTO	{ int extattr_delete_fd(int fd, int attrnamespace, \
528		    const char *attrname); }
529374	MNOPROTO { int __setugid(int flag); }
530375	UNIMPL	nfsclnt
531376	NOPROTO	{ int eaccess(char *path, int flags); }
532377	UNIMPL	afs_syscall
533378	NOPROTO	{ int nmount(struct iovec *iovp, unsigned int iovcnt, \
534		    int flags); }
535379	NOPROTO	{ int kse_exit(void); }
536380	NOPROTO	{ int kse_wakeup(struct kse_mailbox *mbx); }
537381	NOPROTO	{ int kse_create(struct kse_mailbox *mbx, int newgroup); }
538382	NOPROTO	{ int kse_thr_interrupt(struct kse_thr_mailbox *tmbx); }
539383	NOPROTO	{ int kse_release(void); }
540384	UNIMPL	__mac_get_proc
541385	UNIMPL	__mac_set_proc
542386	UNIMPL	__mac_get_fd
543387	UNIMPL	__mac_get_file
544388	UNIMPL	__mac_set_fd
545389	UNIMPL	__mac_set_file
546390	NOPROTO	{ int kenv(int what, const char *name, char *value, int len); }
547391	NOPROTO	{ int lchflags(const char *path, int flags); }
548392	NOPROTO	{ int uuidgen(struct uuid *store, int count); }
549393	MSTD	{ int freebsd32_sendfile(int fd, int s, u_int32_t offsetlo, \
550		    u_int32_t offsethi, size_t nbytes, struct sf_hdtr *hdtr, \
551		    off_t *sbytes, int flags); }
552394	UNIMPL	mac_syscall
553395	UNIMPL	nosys
554396	UNIMPL	nosys
555397	UNIMPL	nosys
556398	UNIMPL	nosys
557399	UNIMPL	nosys
558; XXX implement these?
559400	UNIMPL	ksem_close
560401	UNIMPL	ksem_post
561402	UNIMPL	ksem_wait
562403	UNIMPL	ksem_trywait
563404	UNIMPL	ksem_init
564405	UNIMPL	ksem_open
565406	UNIMPL	ksem_unlink
566407	UNIMPL	ksem_getvalue
567408	UNIMPL	ksem_destroy
568409	UNIMPL	__mac_get_pid
569410	UNIMPL	__mac_get_link
570411	UNIMPL	__mac_set_link
571412	UNIMPL	extattr_set_link
572413	UNIMPL	extattr_get_link
573414	UNIMPL	extattr_delete_link
574415	UNIMPL	__mac_execve
575416	STD { int freebsd32_sigaction(int sig, struct sigaction32 *act, \
576		    struct sigaction32 *oact); }
577417	MSTD { int freebsd32_sigreturn( \
578		    const struct freebsd32_ucontext *sigcntxp); }
579418	UNIMPL	__xstat
580419	UNIMPL	__xfstat
581420	UNIMPL	__xlstat
582; XXX implement
583421	UNIMPL	getcontext
584; XXX implement
585422	UNIMPL	setcontext
586; XXX implement
587423	UNIMPL	swapcontext
588424	UNIMPL	swapoff
589425	UNIMPL	__acl_get_link
590426	UNIMPL	__acl_set_link
591427	UNIMPL	__acl_delete_link
592428	UNIMPL	__acl_aclcheck_link
593; XXX implement
594429	UNIMPL	sigwait
595430	MNOPROTO { int thr_create(ucontext_t *ctx, thr_id_t *id, int flag s); }
596431	MNOPROTO { void thr_exit(void); }
597432	MNOPROTO { int thr_self(thr_id_t *id); }
598433	MNOPROTO { int thr_kill(thr_id_t id, int sig); }
599434	MNOPROTO { int _umtx_lock(struct umtx *umtx); }
600435	MNOPROTO { int _umtx_unlock(struct umtx *umtx); }
601436	MNOPROTO { int jail_attach(int jid); }
602437	UNIMPL	extattr_list_fd
603438	UNIMPL	extattr_list_file
604439	UNIMPL	extattr_list_link
605440	UNIMPL	kse_switchin
606441	UNIMPL	ksem_timedwait
607442     MNOPROTO { int thr_suspend(const struct timespec *timeout); }
608443     MNOPROTO { int thr_wake(thr_id_t id); }
609