syscalls.master revision 105490
1 $FreeBSD: head/sys/compat/freebsd32/syscalls.master 105490 2002-10-19 22:25:31Z peter $
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 namespc 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;	namespc one of POSIX, BSD, NOHIDE
14;	name	psuedo-prototype of syscall routine
15;		If one of the following alts is different, then all appear:
16;	altname	name of system call if different
17;	alttag	name of args struct tag if different from [o]`name'"_args"
18;	altrtyp	return type if not int (bogus - syscalls always return int)
19;		for UNIMPL/OBSOL, name continues with comments
20
21; types:
22;	[M]	e.g. like MSTD -- means the system call is MP-safe.  If no
23;		M prefix is used, the syscall wrapper will obtain the Giant
24;		lock for the syscall.
25;	STD	always included
26;	COMPAT	included on COMPAT #ifdef
27;	LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
28;	OBSOL	obsolete, not included in system, only specifies name
29;	UNIMPL	not implemented, placeholder only
30;	NOSTD	implemented but as a lkm that can be statically
31;			compiled in sysent entry will be filled with lkmsys
32;			so the SYSCALL_MODULE macro works
33
34; #ifdef's, etc. may be included, and are copied to the output files.
35
36#include <sys/param.h>
37#include <sys/sysent.h>
38#include <sys/sysproto.h>
39#include <sys/mount.h>
40#include <ia64/ia32/ia32.h>
41#include <ia64/ia32/ia32_proto.h>
42
43; Reserved/unimplemented system calls in the range 0-150 inclusive
44; are reserved for use in future Berkeley releases.
45; Additional system calls implemented in vendor and other
46; redistributions should be placed in the reserved range at the end
47; of the current calls.
48
490	MNOPROTO NOHIDE	{ int nosys(void); } syscall nosys_args int
501	MNOPROTO NOHIDE	{ void sys_exit(int rval); } exit sys_exit_args void
512	MNOPROTO POSIX	{ int fork(void); }
523	MNOPROTO POSIX	{ ssize_t read(int fd, void *buf, size_t nbyte); }
534	MNOPROTO POSIX	{ ssize_t write(int fd, const void *buf, size_t nbyte); }
545	STD	POSIX	{ int ia32_open(char *path, int flags, int mode); }
55; XXX should be		{ int open(const char *path, int flags, ...); }
56; but we're not ready for `const' or varargs.
57; XXX man page says `mode_t mode'.
586	MNOPROTO POSIX	{ int close(int fd); }
597	MSTD BSD	{ int ia32_wait4(int pid, int *status, int options, \
60			    struct rusage32 *rusage); }
618	OBSOL	BSD	old creat
629	NOPROTO	POSIX	{ int link(char *path, char *link); }
6310	NOPROTO	POSIX	{ int unlink(char *path); }
6411	OBSOL	NOHIDE	execv
6512	NOPROTO	POSIX	{ int chdir(char *path); }
6613	NOPROTO	BSD	{ int fchdir(int fd); }
6714	NOPROTO	POSIX	{ int mknod(char *path, int mode, int dev); }
6815	NOPROTO	POSIX	{ int chmod(char *path, int mode); }
6916	NOPROTO	POSIX	{ int chown(char *path, int uid, int gid); }
7017	MNOPROTO BSD	{ int obreak(char *nsize); } break obreak_args int
7118	STD	BSD	{ int ia32_getfsstat(struct statfs32 *buf, \
72			    long bufsize, int flags); }
7319	OBSOL	POSIX	olseek
7420	MNOPROTO POSIX	{ pid_t getpid(void); }
7521	NOPROTO	BSD	{ int mount(char *type, char *path, int flags, \
76			    caddr_t data); }
77; XXX `path' should have type `const char *' but we're not ready for that.
7822	NOPROTO	BSD	{ int unmount(char *path, int flags); }
7923	MNOPROTO POSIX	{ int setuid(uid_t uid); }
8024	MNOPROTO POSIX	{ uid_t getuid(void); }
8125	MNOPROTO POSIX	{ uid_t geteuid(void); }
8226	NOPROTO	BSD	{ int ptrace(int req, pid_t pid, caddr_t addr, \
83			    int data); }
8427	UNIMPL	BSD	recvmsg
8528	MNOPROTO BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
8629	MNOPROTO BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
87			    int flags, caddr_t from, int *fromlenaddr); }
8830	MNOPROTO BSD	{ int accept(int s, caddr_t name, int *anamelen); }
8931	MNOPROTO BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
9032	MNOPROTO BSD	{ int getsockname(int fdes, caddr_t asa, int *alen); }
9133	STD	POSIX	{ int ia32_access(char *path, int flags); }
9234	STD	BSD	{ int ia32_chflags(char *path, int flags); }
9335	NOPROTO	BSD	{ int fchflags(int fd, int flags); }
9436	NOPROTO	BSD	{ int sync(void); }
9537	MNOPROTO POSIX	{ int kill(int pid, int signum); }
9638	UNIMPL	POSIX	ostat
9739	MNOPROTO POSIX	{ pid_t getppid(void); }
9840	UNIMPL	POSIX	olstat
9941	NOPROTO	POSIX	{ int dup(u_int fd); }
10042	NOPROTO	POSIX	{ int pipe(void); }
10143	MNOPROTO POSIX	{ gid_t getegid(void); }
10244	MNOPROTO BSD	{ int profil(caddr_t samples, size_t size, \
103			    size_t offset, u_int scale); }
10445	NOPROTO	BSD	{ int ktrace(const char *fname, int ops, int facs, \
105			    int pid); }
10646	UNIMPL	POSIX	osigaction
10747	MNOPROTO POSIX	{ gid_t getgid(void); }
10848	UNIMPL	POSIX	osigprocmask
10949	MNOPROTO BSD	{ int getlogin(char *namebuf, u_int namelen); }
11050	MNOPROTO BSD	{ int setlogin(char *namebuf); }
11151	MNOPROTO BSD	{ int acct(char *path); }
11252	MNOPROTO POSIX	{ int sigpending(void); }
11353	STD	BSD	{ int ia32_sigaltstack(struct sigaltstack32 *ss, struct sigaltstack32 *oss); }
11454	MNOPROTO POSIX	{ int ioctl(int fd, u_long com, caddr_t data); }
11555	MNOPROTO BSD	{ int reboot(int opt); }
11656	NOPROTO	POSIX	{ int revoke(char *path); }
11757	NOPROTO	POSIX	{ int symlink(char *path, char *link); }
11858	NOPROTO	POSIX	{ int readlink(char *path, char *buf, int count); }
11959	STD	 POSIX	{ int ia32_execve(char *fname, u_int32_t *argv, u_int32_t *envv); }
12060	MNOPROTO POSIX	{ int umask(int newmask); } umask umask_args int
12161	NOPROTO	BSD	{ int chroot(char *path); }
12262	OBSOL	POSIX	ofstat
12363	OBSOL	BSD	ogetkerninfo
12464	OBSOL	BSD	ogetpagesize
12565	OBSOL	BSD	omsync
12666	OBSOL	BSD	ovfork
12767	OBSOL	NOHIDE	vread
12868	OBSOL	NOHIDE	vwrite
12969	MNOPROTO BSD	{ int sbrk(int incr); }
13070	MNOPROTO BSD	{ int sstk(int incr); }
13171	OBSOL	BSD	ommap
13272	MNOPROTO BSD	{ int ovadvise(int anom); } vadvise ovadvise_args int
13373	MNOPROTO BSD	{ int munmap(void *addr, size_t len); }
13474	MNOPROTO BSD	{ int mprotect(const void *addr, size_t len, int prot); }
13575	MNOPROTO BSD	{ int madvise(void *addr, size_t len, int behav); }
13676	OBSOL	NOHIDE	vhangup
13777	OBSOL	NOHIDE	vlimit
13878	MNOPROTO BSD	{ int mincore(const void *addr, size_t len, \
139			    char *vec); }
14079	MNOPROTO POSIX	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
14180	MNOPROTO POSIX	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
14281	MNOPROTO POSIX	{ int getpgrp(void); }
14382	MNOPROTO POSIX	{ int setpgid(int pid, int pgid); }
14483	STD	BSD	{ int ia32_setitimer(u_int which, \
145			    struct itimerval32 *itv, \
146			    struct itimerval32 *oitv); }
14784	OBSOL	BSD	owait
14885	OBSOL	BSD	oswapon
14986	OBSOL	BSD	ogetitimer
15087	OBSOL	BSD	ogethostname
15188	OBSOL	BSD	osethostname
15289	MNOPROTO BSD	{ int getdtablesize(void); }
15390	MNOPROTO POSIX	{ int dup2(u_int from, u_int to); }
15491	UNIMPL	BSD	getdopt
15592	MNOPROTO POSIX	{ int fcntl(int fd, int cmd, long arg); }
156; XXX should be		{ int fcntl(int fd, int cmd, ...); }
157; but we're not ready for varargs.
158; XXX man page says `int arg' too.
15993	STD	BSD	{ int ia32_select(int nd, fd_set *in, fd_set *ou, \
160			    fd_set *ex, struct timeval32 *tv); }
161; XXX need to override for big-endian - little-endian should work fine.
16294	UNIMPL	BSD	setdopt
16395	NOPROTO	POSIX	{ int fsync(int fd); }
16496	MNOPROTO BSD	{ int setpriority(int which, int who, int prio); }
16597	MNOPROTO BSD	{ int socket(int domain, int type, int protocol); }
16698	MNOPROTO BSD	{ int connect(int s, caddr_t name, int namelen); }
16799	MNOPROTO BSD	{ int accept(int s, caddr_t name, int *anamelen); } \
168			    accept accept_args int
169100	MNOPROTO BSD	{ int getpriority(int which, int who); }
170101	OBSOL	BSD	osend
171102	OBSOL	BSD	orecv
172103	OBSOL	BSD	osigreturn
173104	MNOPROTO BSD	{ int bind(int s, caddr_t name, int namelen); }
174105	MNOPROTO BSD	{ int setsockopt(int s, int level, int name, \
175			    caddr_t val, int valsize); }
176106	MNOPROTO BSD	{ int listen(int s, int backlog); }
177107	OBSOL	NOHIDE	vtimes
178108	OBSOL	BSD	osigvec
179109	OBSOL	BSD	osigblock
180110	OBSOL	BSD	osigsetmask
181111	OBSOL	POSIX	osigsuspend
182112	OBSOL	BSD	osigstack
183113	OBSOL	BSD	orecvmsg
184114	OBSOL	BSD	osendmsg
185115	OBSOL	NOHIDE	vtrace
186116	STD	BSD	{ int ia32_gettimeofday(struct timeval32 *tp, \
187			    struct timezone *tzp); }
188117	STD	BSD	{ int ia32_getrusage(int who, struct rusage32 *rusage); }
189118	MNOPROTO BSD	{ int getsockopt(int s, int level, int name, \
190			    caddr_t val, int *avalsize); }
191119	UNIMPL	NOHIDE	resuba (BSD/OS 2.x)
192120	STD	BSD	{ int ia32_readv(int fd, struct iovec32 *iovp, u_int iovcnt); }
193121	STD	BSD	{ int ia32_writev(int fd, struct iovec32 *iovp, \
194			    u_int iovcnt); }
195122	STD	BSD	{ int ia32_settimeofday(struct timeval32 *tv, \
196			    struct timezone *tzp); }
197123	NOPROTO	BSD	{ int fchown(int fd, int uid, int gid); }
198124	NOPROTO	BSD	{ int fchmod(int fd, int mode); }
199125	MNOPROTO BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
200			    int flags, caddr_t from, int *fromlenaddr); } \
201			    recvfrom recvfrom_args int
202126	MNOPROTO BSD	{ int setreuid(int ruid, int euid); }
203127	MNOPROTO BSD	{ int setregid(int rgid, int egid); }
204128	NOPROTO	POSIX	{ int rename(char *from, char *to); }
205129	OBSOL	BSD	otruncate
206130	OBSOL	BSD	ftruncate
207131	MNOPROTO BSD	{ int flock(int fd, int how); }
208132	NOPROTO	POSIX	{ int mkfifo(char *path, int mode); }
209133	MNOPROTO BSD	{ int sendto(int s, caddr_t buf, size_t len, \
210			    int flags, caddr_t to, int tolen); }
211134	MNOPROTO BSD	{ int shutdown(int s, int how); }
212135	MNOPROTO BSD	{ int socketpair(int domain, int type, int protocol, \
213			    int *rsv); }
214136	NOPROTO	POSIX	{ int mkdir(char *path, int mode); }
215137	NOPROTO	POSIX	{ int rmdir(char *path); }
216138	STD	BSD	{ int ia32_utimes(char *path, \
217			    struct timeval32 *tptr); }
218139	OBSOL	NOHIDE	4.2 sigreturn
219140	STD	BSD	{ int ia32_adjtime(struct timeval32 *delta, \
220			    struct timeval32 *olddelta); }
221141	OBSOL	BSD	ogetpeername
222142	OBSOL	BSD	ogethostid
223143	OBSOL	BSD	sethostid
224144	OBSOL	BSD	getrlimit
225145	OBSOL	BSD	setrlimit
226146	OBSOL	BSD	killpg
227147	MNOPROTO POSIX	{ int setsid(void); }
228148	NOPROTO	BSD	{ int quotactl(char *path, int cmd, int uid, \
229			    caddr_t arg); }
230149	OBSOL BSD	oquota
231150	OBSOL BSD	ogetsockname
232
233; Syscalls 151-180 inclusive are reserved for vendor-specific
234; system calls.  (This includes various calls added for compatibity
235; with other Unix variants.)
236; Some of these calls are now supported by BSD...
237151	UNIMPL	NOHIDE	sem_lock (BSD/OS 2.x)
238152	UNIMPL	NOHIDE	sem_wakeup (BSD/OS 2.x)
239153	UNIMPL	NOHIDE	asyncdaemon (BSD/OS 2.x)
240154	UNIMPL	NOHIDE	nosys
241; 155 is initialized by the NFS code, if present.
242155	UNIMPL	NOHIDE	nfssvc
243156	NOPROTO	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
244			    long *basep); }
245157	STD	BSD	{ int ia32_statfs(char *path, struct statfs32 *buf); }
246158	STD	BSD	{ int ia32_fstatfs(int fd, struct statfs32 *buf); }
247159	UNIMPL	NOHIDE	nosys
248160	UNIMPL	NOHIDE	nosys
249161	NOPROTO	BSD	{ int getfh(char *fname, struct fhandle *fhp); }
250162	MNOPROTO BSD	{ int getdomainname(char *domainname, int len); }
251163	MNOPROTO BSD	{ int setdomainname(char *domainname, int len); }
252164	MNOPROTO BSD	{ int uname(struct utsname *name); }
253165	NOPROTO	BSD	{ int sysarch(int op, char *parms); }
254166	MNOPROTO BSD	{ int rtprio(int function, pid_t pid, \
255			    struct rtprio *rtp); }
256167	UNIMPL	NOHIDE	nosys
257168	UNIMPL	NOHIDE	nosys
258169	STD	BSD	{ int ia32_semsys(int which, int a2, int a3, int a4, \
259			    int a5); }
260170	STD	BSD	{ int ia32_msgsys(int which, int a2, int a3, int a4, \
261			    int a5, int a6); }
262171	STD	BSD	{ int ia32_shmsys(int which, int a2, int a3, int a4); }
263172	UNIMPL	NOHIDE	nosys
264173	STD POSIX	{ ssize_t ia32_pread(int fd, void *buf, size_t nbyte, \
265			    int pad, u_int32_t offsetlo, u_int32_t offsethi); }
266; XXX note - bigendian is different
267174	STD	POSIX	{ ssize_t ia32_pwrite(int fd, const void *buf, \
268			    size_t nbyte, int pad, u_int32_t offsetlo, \
269			    u_int32_t offsethi); }
270; XXX note - bigendian is different
271175	UNIMPL	NOHIDE	nosys
272176	MNOPROTO BSD	{ int ntp_adjtime(struct timex *tp); }
273177	UNIMPL	NOHIDE	sfork (BSD/OS 2.x)
274178	UNIMPL	NOHIDE	getdescriptor (BSD/OS 2.x)
275179	UNIMPL	NOHIDE	setdescriptor (BSD/OS 2.x)
276180	UNIMPL	NOHIDE	nosys
277
278; Syscalls 181-199 are used by/reserved for BSD
279181	MNOPROTO POSIX	{ int setgid(gid_t gid); }
280182	MNOPROTO BSD	{ int setegid(gid_t egid); }
281183	MNOPROTO BSD	{ int seteuid(uid_t euid); }
282184	UNIMPL	BSD	lfs_bmapv
283185	UNIMPL	BSD	lfs_markv
284186	UNIMPL	BSD	lfs_segclean
285187	UNIMPL	BSD	lfs_segwait
286188	STD	POSIX	{ int ia32_stat(char *path, struct stat32 *ub); }
287189	STD	POSIX	{ int ia32_fstat(int fd, struct stat32 *ub); }
288190	STD	POSIX	{ int ia32_lstat(char *path, struct stat32 *ub); }
289191	NOPROTO	POSIX	{ int pathconf(char *path, int name); }
290192	MNOPROTO POSIX	{ int fpathconf(int fd, int name); }
291193	UNIMPL	NOHIDE	nosys
292194	MNOPROTO BSD	{ int getrlimit(u_int which, \
293			    struct rlimit *rlp); } \
294			    getrlimit __getrlimit_args int
295195	MNOPROTO BSD	{ int setrlimit(u_int which, \
296			    struct rlimit *rlp); } \
297			    setrlimit __setrlimit_args int
298196	NOPROTO	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
299			    long *basep); }
300197	STD BSD		{ caddr_t ia32_mmap(caddr_t addr, size_t len, \
301			    int prot, int flags, int fd, int pad, \
302			    u_int32_t poslo, u_int32_t poshi); }
303198	NOPROTO	NOHIDE	{ int nosys(void); } __syscall __syscall_args int
304; XXX note - bigendian is different
305199	STD	POSIX	{ off_t ia32_lseek(int fd, int pad, \
306			    u_int32_t offsetlo, u_int32_t offsethi, \
307			    int whence); }
308; XXX note - bigendian is different
309200	STD	BSD	{ int ia32_truncate(char *path, int pad, \
310			    u_int32_t lengthlo, u_int32_t lengthhi); }
311; XXX note - bigendian is different
312201	STD	BSD	{ int ia32_ftruncate(int fd, int pad, \
313			    u_int32_t lengthlo, u_int32_t lengthhi); }
314202	MSTD BSD	{ int ia32_sysctl(int *name, u_int namelen, \
315			    void *old, u_int32_t *oldlenp, void *new, \
316			    u_int32_t newlen); }
317203	MNOPROTO BSD	{ int mlock(const void *addr, size_t len); }
318204	MNOPROTO BSD	{ int munlock(const void *addr, size_t len); }
319205	NOPROTO	BSD	{ int undelete(char *path); }
320206	NOPROTO	BSD	{ int futimes(int fd, struct timeval *tptr); }
321207	MNOPROTO BSD	{ int getpgid(pid_t pid); }
322208	UNIMPL	NOHIDE	newreboot (NetBSD)
323209	MNOPROTO BSD	{ int poll(struct pollfd *fds, u_int nfds, \
324			    int timeout); }
325
326;
327; The following are reserved for loadable syscalls
328;
329210	UNIMPL	NOHIDE
330211	UNIMPL	NOHIDE
331212	UNIMPL	NOHIDE
332213	UNIMPL	NOHIDE
333214	UNIMPL	NOHIDE
334215	UNIMPL	NOHIDE
335216	UNIMPL	NOHIDE
336217	UNIMPL	NOHIDE
337218	UNIMPL	NOHIDE
338219	UNIMPL	NOHIDE
339
340;
341; The following were introduced with NetBSD/4.4Lite-2
342; They are initialized by thier respective modules/sysinits
343220	MNOPROTO	BSD	{ int __semctl(int semid, int semnum, int cmd, \
344			    union semun *arg); }
345221	MNOPROTO	BSD	{ int semget(key_t key, int nsems, int semflg); }
346222	MNOPROTO	BSD	{ int semop(int semid, struct sembuf *sops, \
347			    u_int nsops); }
348223	UNIMPL	NOHIDE	semconfig
349224	MNOPROTO	BSD	{ int msgctl(int msqid, int cmd, \
350			    struct msqid_ds *buf); }
351225	MNOPROTO	BSD	{ int msgget(key_t key, int msgflg); }
352226	MNOPROTO	BSD	{ int msgsnd(int msqid, void *msgp, size_t msgsz, \
353			    int msgflg); }
354227	MNOPROTO	BSD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
355			    long msgtyp, int msgflg); }
356228	MNOPROTO	BSD	{ int shmat(int shmid, void *shmaddr, int shmflg); }
357229	MNOPROTO	BSD	{ int shmctl(int shmid, int cmd, \
358			    struct shmid_ds *buf); }
359230	MNOPROTO	BSD	{ int shmdt(void *shmaddr); }
360231	MNOPROTO	BSD	{ int shmget(key_t key, int size, int shmflg); }
361;
362232	MNOPROTO POSIX	{ int clock_gettime(clockid_t clock_id, \
363			    struct timespec *tp); }
364233	MNOPROTO POSIX	{ int clock_settime(clockid_t clock_id, \
365			    const struct timespec *tp); }
366234	MNOPROTO POSIX	{ int clock_getres(clockid_t clock_id, \
367			    struct timespec *tp); }
368235	UNIMPL	NOHIDE	timer_create
369236	UNIMPL	NOHIDE	timer_delete
370237	UNIMPL	NOHIDE	timer_settime
371238	UNIMPL	NOHIDE	timer_gettime
372239	UNIMPL	NOHIDE	timer_getoverrun
373240	MNOPROTO POSIX	{ int nanosleep(const struct timespec *rqtp, \
374			    struct timespec *rmtp); }
375241	UNIMPL	NOHIDE	nosys
376242	UNIMPL	NOHIDE	nosys
377243	UNIMPL	NOHIDE	nosys
378244	UNIMPL	NOHIDE	nosys
379245	UNIMPL	NOHIDE	nosys
380246	UNIMPL	NOHIDE	nosys
381247	UNIMPL	NOHIDE	nosys
382248	UNIMPL	NOHIDE	nosys
383249	UNIMPL	NOHIDE	nosys
384; syscall numbers initially used in OpenBSD
385250	MNOPROTO BSD	{ int minherit(void *addr, size_t len, int inherit); }
386251	MNOPROTO BSD	{ int rfork(int flags); }
387252	MNOPROTO BSD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
388			    int timeout); }
389253	NOPROTO	BSD	{ int issetugid(void); }
390254	NOPROTO	BSD	{ int lchown(char *path, int uid, int gid); }
391255	UNIMPL	NOHIDE	nosys
392256	UNIMPL	NOHIDE	nosys
393257	UNIMPL	NOHIDE	nosys
394258	UNIMPL	NOHIDE	nosys
395259	UNIMPL	NOHIDE	nosys
396260	UNIMPL	NOHIDE	nosys
397261	UNIMPL	NOHIDE	nosys
398262	UNIMPL	NOHIDE	nosys
399263	UNIMPL	NOHIDE	nosys
400264	UNIMPL	NOHIDE	nosys
401265	UNIMPL	NOHIDE	nosys
402266	UNIMPL	NOHIDE	nosys
403267	UNIMPL	NOHIDE	nosys
404268	UNIMPL	NOHIDE	nosys
405269	UNIMPL	NOHIDE	nosys
406270	UNIMPL	NOHIDE	nosys
407271	UNIMPL	NOHIDE	nosys
408272	NOPROTO	BSD	{ int getdents(int fd, char *buf, size_t count); }
409273	UNIMPL	NOHIDE	nosys
410274	NOPROTO	BSD	{ int lchmod(char *path, mode_t mode); }
411275	NOPROTO BSD	{ int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int
412276	NOPROTO	BSD	{ int lutimes(char *path, struct timeval *tptr); }
413277	MNOPROTO BSD	{ int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int
414278	NOPROTO	BSD	{ int nstat(char *path, struct nstat *ub); }
415279	MNOPROTO BSD	{ int nfstat(int fd, struct nstat *sb); }
416280	NOPROTO	BSD	{ int nlstat(char *path, struct nstat *ub); }
417281	UNIMPL	NOHIDE	nosys
418282	UNIMPL	NOHIDE	nosys
419283	UNIMPL	NOHIDE	nosys
420284	UNIMPL	NOHIDE	nosys
421285	UNIMPL	NOHIDE	nosys
422286	UNIMPL	NOHIDE	nosys
423287	UNIMPL	NOHIDE	nosys
424288	UNIMPL	NOHIDE	nosys
425289	UNIMPL	NOHIDE	nosys
426290	UNIMPL	NOHIDE	nosys
427291	UNIMPL	NOHIDE	nosys
428292	UNIMPL	NOHIDE	nosys
429293	UNIMPL	NOHIDE	nosys
430294	UNIMPL	NOHIDE	nosys
431295	UNIMPL	NOHIDE	nosys
432296	UNIMPL	NOHIDE	nosys
433; XXX 297 is 300 in NetBSD 
434297	NOPROTO	BSD	{ int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
435298	NOPROTO	BSD	{ int fhopen(const struct fhandle *u_fhp, int flags); }
436299	NOPROTO	BSD 	{ int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
437; syscall numbers for FreeBSD
438300	MNOPROTO BSD	{ int modnext(int modid); }
439301	MNOPROTO BSD	{ int modstat(int modid, struct module_stat* stat); }
440302	MNOPROTO BSD	{ int modfnext(int modid); }
441303	MNOPROTO BSD	{ int modfind(const char *name); }
442304	MNOPROTO BSD	{ int kldload(const char *file); }
443305	MNOPROTO BSD	{ int kldunload(int fileid); }
444306	MNOPROTO BSD	{ int kldfind(const char *file); }
445307	MNOPROTO BSD	{ int kldnext(int fileid); }
446308	MNOPROTO BSD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
447309	MNOPROTO BSD	{ int kldfirstmod(int fileid); }
448310	MNOPROTO BSD	{ int getsid(pid_t pid); }
449311	MNOPROTO BSD	{ int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
450312	MNOPROTO BSD	{ int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
451313	OBSOL	NOHIDE	signanosleep
452314	UNIMPL	NOHIDE	aio_return
453315	UNIMPL	NOHIDE	aio_suspend
454316	UNIMPL	NOHIDE	aio_cancel
455317	UNIMPL	NOHIDE	aio_error
456318	UNIMPL	NOHIDE	aio_read
457319	UNIMPL	NOHIDE	aio_write
458320	UNIMPL	NOHIDE	lio_listio
459321	MNOPROTO BSD	{ int yield(void); }
460322	OBSOL	NOHIDE	thr_sleep
461323	OBSOL	NOHIDE	thr_wakeup
462324	MNOPROTO BSD	{ int mlockall(int how); }
463325	MNOPROTO BSD	{ int munlockall(void); }
464326	NOPROTO	BSD	{ int __getcwd(u_char *buf, u_int buflen); }
465
466327	MNOPROTO POSIX	{ int sched_setparam (pid_t pid, const struct sched_param *param); }
467328	MNOPROTO POSIX	{ int sched_getparam (pid_t pid, struct sched_param *param); }
468
469329	MNOPROTO POSIX	{ int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
470330	MNOPROTO POSIX	{ int sched_getscheduler (pid_t pid); }
471
472331	MNOPROTO POSIX	{ int sched_yield (void); }
473332	MNOPROTO POSIX	{ int sched_get_priority_max (int policy); }
474333	MNOPROTO POSIX	{ int sched_get_priority_min (int policy); }
475334	MNOPROTO POSIX	{ int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
476335	NOPROTO	BSD	{ int utrace(const void *addr, size_t len); }
477; XXX note - bigendian is different
478336	MCOMPAT4 BSD	{ int ia32_sendfile(int fd, int s, u_int32_t offsetlo,\
479			    u_int32_t offsethi, size_t nbytes, \
480			    struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
481337	NOPROTO	BSD	{ int kldsym(int fileid, int cmd, void *data); }
482338	MNOPROTO BSD	{ int jail(struct jail *jail); }
483339	UNIMPL	BSD	pioctl
484340	MNOPROTO POSIX	{ int sigprocmask(int how, const sigset_t *set, \
485			    sigset_t *oset); }
486341	MNOPROTO POSIX	{ int sigsuspend(const sigset_t *sigmask); }
487342	STD POSIX	{ int ia32_sigaction(int sig, \
488			    struct sigaction32 *act, \
489			    struct sigaction32 *oact); }
490343	MNOPROTO POSIX	{ int sigpending(sigset_t *set); }
491344	MNOPROTO BSD	{ int sigreturn(const struct __ucontext *sigcntxp); }
492345	UNIMPL	NOHIDE	sigtimedwait
493346	UNIMPL	NOHIDE	sigwaitinfo
494347	MNOPROTO BSD	{ int __acl_get_file(const char *path, \
495			    acl_type_t type, struct acl *aclp); }
496348	MNOPROTO BSD	{ int __acl_set_file(const char *path, \
497			    acl_type_t type, struct acl *aclp); }
498349	MNOPROTO BSD	{ int __acl_get_fd(int filedes, acl_type_t type, \
499			    struct acl *aclp); }
500350	MNOPROTO BSD	{ int __acl_set_fd(int filedes, acl_type_t type, \
501			    struct acl *aclp); }
502351	MNOPROTO BSD	{ int __acl_delete_file(const char *path, \
503			    acl_type_t type); }
504352	MNOPROTO BSD	{ int __acl_delete_fd(int filedes, acl_type_t type); }
505353	MNOPROTO BSD	{ int __acl_aclcheck_file(const char *path, \
506			    acl_type_t type, struct acl *aclp); }
507354	MNOPROTO BSD	{ int __acl_aclcheck_fd(int filedes, acl_type_t type, \
508			    struct acl *aclp); }
509355	NOPROTO	BSD	{ int extattrctl(const char *path, int cmd, \
510			    const char *filename, int attrnamespace, \
511			    const char *attrname); }
512356	NOPROTO	BSD	{ int extattr_set_file(const char *path, \
513			    int attrnamespace, const char *attrname, \
514			    void *data, size_t nbytes); }
515357	NOPROTO	BSD	{ ssize_t extattr_get_file(const char *path, \
516			    int attrnamespace, const char *attrname, \
517			    void *data, size_t nbytes); }
518358	NOPROTO	BSD	{ int extattr_delete_file(const char *path, \
519			    int attrnamespace, const char *attrname); }
520359	UNIMPL	NOHIDE	aio_waitcomplete
521360	MNOPROTO BSD	{ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
522361	MNOPROTO BSD	{ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
523362	MNOPROTO BSD	{ int kqueue(void); }
524363	MNOPROTO BSD	{ int kevent(int fd, \
525			    const struct kevent *changelist, int nchanges, \
526			    struct kevent *eventlist, int nevents, \
527			    const struct timespec *timeout); }
528364	UNIMPL	NOHIDE	__cap_get_proc
529365	UNIMPL	NOHIDE	__cap_set_proc
530366	UNIMPL	NOHIDE	__cap_get_fd
531367	UNIMPL	NOHIDE	__cap_get_file
532368	UNIMPL	NOHIDE	__cap_set_fd
533369	UNIMPL	NOHIDE	__cap_set_file
534370	UNIMPL	NOHIDE	lkmressys
535371	NOPROTO	BSD	{ int extattr_set_fd(int fd, int attrnamespace, \
536			    const char *attrname, void *data, \
537			    size_t nbytes); }
538372	NOPROTO	BSD	{ ssize_t extattr_get_fd(int fd, int attrnamespace, \
539			    const char *attrname, void *data, size_t nbytes); }
540373	NOPROTO	BSD	{ int extattr_delete_fd(int fd, int attrnamespace, \
541			    const char *attrname); }
542374	MNOPROTO BSD	{ int __setugid(int flag); }
543375	UNIMPL	BSD	nfsclnt
544376	NOPROTO	BSD	{ int eaccess(char *path, int flags); }
545377	UNIMPL	BSD	afs_syscall
546378	NOPROTO	BSD	{ int nmount(struct iovec *iovp, unsigned int iovcnt, \
547			    int flags); }
548379	NOPROTO	BSD	{ int kse_exit(void); }
549380	NOPROTO	BSD	{ int kse_wakeup(struct kse_mailbox *mbx); }
550381	NOPROTO	BSD	{ int kse_create(struct kse_mailbox *mbx, \
551			    int newgroup); }
552382	NOPROTO	BSD	{ int kse_thr_interrupt(struct kse_thr_mailbox *tmbx); }
553383	NOPROTO	BSD	{ int kse_release(void); }
554384	UNIMPL	BSD	__mac_get_proc
555385	UNIMPL	BSD	__mac_set_proc
556386	UNIMPL	BSD	__mac_get_fd
557387	UNIMPL	BSD	__mac_get_file
558388	UNIMPL	BSD	__mac_set_fd
559389	UNIMPL	BSD	__mac_set_file
560390	NOPROTO	BSD	{ int kenv(int what, const char *name, char *value, \
561			    int len); }
562391	NOPROTO	BSD	{ int lchflags(const char *path, int flags); }
563392	NOPROTO	BSD	{ int uuidgen(struct uuid *store, int count); }
564393	MSTD	BSD	{ int ia32_sendfile(int fd, int s, u_int32_t offsetlo, \
565			    u_int32_t offsethi, size_t nbytes, \
566			    struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
567394	UNIMPL	NOHIDE	mac_syscall
568395	UNIMPL	NOHIDE	nosys
569396	UNIMPL	NOHIDE	nosys
570397	UNIMPL	NOHIDE	nosys
571398	UNIMPL	NOHIDE	nosys
572399	UNIMPL	NOHIDE	nosys
573400	UNIMPL	NOHIDE	ksem_close
574401	UNIMPL	NOHIDE	ksem_post
575402	UNIMPL	NOHIDE	ksem_wait
576403	UNIMPL	NOHIDE	ksem_trywait
577404	UNIMPL	NOHIDE	ksem_init
578405	UNIMPL	NOHIDE	ksem_open
579406	UNIMPL	NOHIDE	ksem_unlink
580407	UNIMPL	NOHIDE	ksem_getvalue
581408	UNIMPL	NOHIDE	ksem_destroy
582409	UNIMPL	BSD	__mac_get_pid
583410	UNIMPL	BSD	__mac_get_link
584411	UNIMPL	BSD	__mac_set_link
585412	UNIMPL	BSD	extattr_set_link
586413	UNIMPL	BSD	extattr_get_link
587414	UNIMPL	BSD	extattr_delete_link
588415	UNIMPL	BSD	__execve_mac
589416	UNIMPL	BSD	newsigreturn
590417	UNIMPL	BSD	newsigaction
591418	UNIMPL	BSD	__xstat
592419	UNIMPL	BSD	__xfstat
593420	UNIMPL	BSD	__xlstat
594