syscalls.master revision 119331
1 $FreeBSD: head/sys/compat/freebsd32/syscalls.master 119331 2003-08-22 22:51:48Z 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 <compat/freebsd32/freebsd32.h>
41#include <compat/freebsd32/freebsd32_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 freebsd32_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 freebsd32_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 freebsd32_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 freebsd32_access(char *path, int flags); }
9234	STD	BSD	{ int freebsd32_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 freebsd32_sigaltstack(struct sigaltstack32 *ss, \
114			    struct sigaltstack32 *oss); }
11554	MNOPROTO POSIX	{ int ioctl(int fd, u_long com, caddr_t data); }
11655	MNOPROTO BSD	{ int reboot(int opt); }
11756	NOPROTO	POSIX	{ int revoke(char *path); }
11857	NOPROTO	POSIX	{ int symlink(char *path, char *link); }
11958	NOPROTO	POSIX	{ int readlink(char *path, char *buf, int count); }
12059	STD	 POSIX	{ int freebsd32_execve(char *fname, u_int32_t *argv, \
121			    u_int32_t *envv); }
12260	MNOPROTO POSIX	{ int umask(int newmask); } umask umask_args int
12361	NOPROTO	BSD	{ int chroot(char *path); }
12462	OBSOL	POSIX	ofstat
12563	OBSOL	BSD	ogetkerninfo
12664	OBSOL	BSD	ogetpagesize
12765	OBSOL	BSD	omsync
12866	OBSOL	BSD	ovfork
12967	OBSOL	NOHIDE	vread
13068	OBSOL	NOHIDE	vwrite
13169	MNOPROTO BSD	{ int sbrk(int incr); }
13270	MNOPROTO BSD	{ int sstk(int incr); }
13371	OBSOL	BSD	ommap
13472	MNOPROTO BSD	{ int ovadvise(int anom); } vadvise ovadvise_args int
13573	MNOPROTO BSD	{ int munmap(void *addr, size_t len); }
13674	MNOPROTO BSD	{ int mprotect(const void *addr, size_t len, \
137			    int prot); }
13875	MNOPROTO BSD	{ int madvise(void *addr, size_t len, int behav); }
13976	OBSOL	NOHIDE	vhangup
14077	OBSOL	NOHIDE	vlimit
14178	MNOPROTO BSD	{ int mincore(const void *addr, size_t len, \
142			    char *vec); }
14379	MNOPROTO POSIX	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
14480	MNOPROTO POSIX	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
14581	MNOPROTO POSIX	{ int getpgrp(void); }
14682	MNOPROTO POSIX	{ int setpgid(int pid, int pgid); }
14783	STD	BSD	{ int freebsd32_setitimer(u_int which, \
148			    struct itimerval32 *itv, \
149			    struct itimerval32 *oitv); }
15084	OBSOL	BSD	owait
15185	OBSOL	BSD	oswapon
15286	OBSOL	BSD	ogetitimer
15387	OBSOL	BSD	ogethostname
15488	OBSOL	BSD	osethostname
15589	MNOPROTO BSD	{ int getdtablesize(void); }
15690	MNOPROTO POSIX	{ int dup2(u_int from, u_int to); }
15791	UNIMPL	BSD	getdopt
15892	MNOPROTO POSIX	{ int fcntl(int fd, int cmd, long arg); }
159; XXX should be		{ int fcntl(int fd, int cmd, ...); }
160; but we're not ready for varargs.
161; XXX man page says `int arg' too.
16293	STD	BSD	{ int freebsd32_select(int nd, fd_set *in, fd_set *ou, \
163			    fd_set *ex, struct timeval32 *tv); }
164; XXX need to override for big-endian - little-endian should work fine.
16594	UNIMPL	BSD	setdopt
16695	NOPROTO	POSIX	{ int fsync(int fd); }
16796	MNOPROTO BSD	{ int setpriority(int which, int who, int prio); }
16897	MNOPROTO BSD	{ int socket(int domain, int type, int protocol); }
16998	MNOPROTO BSD	{ int connect(int s, caddr_t name, int namelen); }
17099	MNOPROTO BSD	{ int accept(int s, caddr_t name, int *anamelen); } \
171			    accept accept_args int
172100	MNOPROTO BSD	{ int getpriority(int which, int who); }
173101	OBSOL	BSD	osend
174102	OBSOL	BSD	orecv
175103	OBSOL	BSD	osigreturn
176104	MNOPROTO BSD	{ int bind(int s, caddr_t name, int namelen); }
177105	MNOPROTO BSD	{ int setsockopt(int s, int level, int name, \
178			    caddr_t val, int valsize); }
179106	MNOPROTO BSD	{ int listen(int s, int backlog); }
180107	OBSOL	NOHIDE	vtimes
181108	OBSOL	BSD	osigvec
182109	OBSOL	BSD	osigblock
183110	OBSOL	BSD	osigsetmask
184111	OBSOL	POSIX	osigsuspend
185112	OBSOL	BSD	osigstack
186113	OBSOL	BSD	orecvmsg
187114	OBSOL	BSD	osendmsg
188115	OBSOL	NOHIDE	vtrace
189116	STD	BSD	{ int freebsd32_gettimeofday(struct timeval32 *tp, \
190			    struct timezone *tzp); }
191117	STD	BSD	{ int freebsd32_getrusage(int who, \
192			    struct rusage32 *rusage); }
193118	MNOPROTO BSD	{ int getsockopt(int s, int level, int name, \
194			    caddr_t val, int *avalsize); }
195119	UNIMPL	NOHIDE	resuba (BSD/OS 2.x)
196120	STD	BSD	{ int freebsd32_readv(int fd, struct iovec32 *iovp, \
197			    u_int iovcnt); }
198121	STD	BSD	{ int freebsd32_writev(int fd, struct iovec32 *iovp, \
199			    u_int iovcnt); }
200122	STD	BSD	{ int freebsd32_settimeofday(struct timeval32 *tv, \
201			    struct timezone *tzp); }
202123	NOPROTO	BSD	{ int fchown(int fd, int uid, int gid); }
203124	NOPROTO	BSD	{ int fchmod(int fd, int mode); }
204125	MNOPROTO BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
205			    int flags, caddr_t from, int *fromlenaddr); } \
206			    recvfrom recvfrom_args int
207126	MNOPROTO BSD	{ int setreuid(int ruid, int euid); }
208127	MNOPROTO BSD	{ int setregid(int rgid, int egid); }
209128	NOPROTO	POSIX	{ int rename(char *from, char *to); }
210129	OBSOL	BSD	otruncate
211130	OBSOL	BSD	ftruncate
212131	MNOPROTO BSD	{ int flock(int fd, int how); }
213132	NOPROTO	POSIX	{ int mkfifo(char *path, int mode); }
214133	MNOPROTO BSD	{ int sendto(int s, caddr_t buf, size_t len, \
215			    int flags, caddr_t to, int tolen); }
216134	MNOPROTO BSD	{ int shutdown(int s, int how); }
217135	MNOPROTO BSD	{ int socketpair(int domain, int type, int protocol, \
218			    int *rsv); }
219136	NOPROTO	POSIX	{ int mkdir(char *path, int mode); }
220137	NOPROTO	POSIX	{ int rmdir(char *path); }
221138	STD	BSD	{ int freebsd32_utimes(char *path, \
222			    struct timeval32 *tptr); }
223139	OBSOL	NOHIDE	4.2 sigreturn
224140	STD	BSD	{ int freebsd32_adjtime(struct timeval32 *delta, \
225			    struct timeval32 *olddelta); }
226141	OBSOL	BSD	ogetpeername
227142	OBSOL	BSD	ogethostid
228143	OBSOL	BSD	sethostid
229144	OBSOL	BSD	getrlimit
230145	OBSOL	BSD	setrlimit
231146	OBSOL	BSD	killpg
232147	MNOPROTO POSIX	{ int setsid(void); }
233148	NOPROTO	BSD	{ int quotactl(char *path, int cmd, int uid, \
234			    caddr_t arg); }
235149	OBSOL BSD	oquota
236150	OBSOL BSD	ogetsockname
237
238; Syscalls 151-180 inclusive are reserved for vendor-specific
239; system calls.  (This includes various calls added for compatibity
240; with other Unix variants.)
241; Some of these calls are now supported by BSD...
242151	UNIMPL	NOHIDE	sem_lock (BSD/OS 2.x)
243152	UNIMPL	NOHIDE	sem_wakeup (BSD/OS 2.x)
244153	UNIMPL	NOHIDE	asyncdaemon (BSD/OS 2.x)
245154	UNIMPL	NOHIDE	nosys
246; 155 is initialized by the NFS code, if present.
247155	UNIMPL	NOHIDE	nfssvc
248156	NOPROTO	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
249			    long *basep); }
250157	STD	BSD	{ int freebsd32_statfs(char *path, \
251			    struct statfs32 *buf); }
252158	STD	BSD	{ int freebsd32_fstatfs(int fd, struct statfs32 *buf); }
253159	UNIMPL	NOHIDE	nosys
254160	UNIMPL	NOHIDE	nosys
255161	NOPROTO	BSD	{ int getfh(char *fname, struct fhandle *fhp); }
256162	MNOPROTO BSD	{ int getdomainname(char *domainname, int len); }
257163	MNOPROTO BSD	{ int setdomainname(char *domainname, int len); }
258164	MNOPROTO BSD	{ int uname(struct utsname *name); }
259165	NOPROTO	BSD	{ int sysarch(int op, char *parms); }
260166	MNOPROTO BSD	{ int rtprio(int function, pid_t pid, \
261			    struct rtprio *rtp); }
262167	UNIMPL	NOHIDE	nosys
263168	UNIMPL	NOHIDE	nosys
264169	STD	BSD	{ int freebsd32_semsys(int which, int a2, int a3, \
265			    int a4, int a5); }
266170	STD	BSD	{ int freebsd32_msgsys(int which, int a2, int a3, \
267			    int a4, int a5, int a6); }
268171	STD	BSD	{ int freebsd32_shmsys(int which, int a2, int a3, \
269			    int a4); }
270172	UNIMPL	NOHIDE	nosys
271173	STD POSIX	{ ssize_t freebsd32_pread(int fd, void *buf, \
272			    size_t nbyte, int pad, u_int32_t offsetlo, \
273			    u_int32_t offsethi); }
274; XXX note - bigendian is different
275174	STD	POSIX	{ ssize_t freebsd32_pwrite(int fd, const void *buf, \
276			    size_t nbyte, int pad, u_int32_t offsetlo, \
277			    u_int32_t offsethi); }
278; XXX note - bigendian is different
279175	UNIMPL	NOHIDE	nosys
280176	MNOPROTO BSD	{ int ntp_adjtime(struct timex *tp); }
281177	UNIMPL	NOHIDE	sfork (BSD/OS 2.x)
282178	UNIMPL	NOHIDE	getdescriptor (BSD/OS 2.x)
283179	UNIMPL	NOHIDE	setdescriptor (BSD/OS 2.x)
284180	UNIMPL	NOHIDE	nosys
285
286; Syscalls 181-199 are used by/reserved for BSD
287181	MNOPROTO POSIX	{ int setgid(gid_t gid); }
288182	MNOPROTO BSD	{ int setegid(gid_t egid); }
289183	MNOPROTO BSD	{ int seteuid(uid_t euid); }
290184	UNIMPL	BSD	lfs_bmapv
291185	UNIMPL	BSD	lfs_markv
292186	UNIMPL	BSD	lfs_segclean
293187	UNIMPL	BSD	lfs_segwait
294188	STD	POSIX	{ int freebsd32_stat(char *path, struct stat32 *ub); }
295189	STD	POSIX	{ int freebsd32_fstat(int fd, struct stat32 *ub); }
296190	STD	POSIX	{ int freebsd32_lstat(char *path, struct stat32 *ub); }
297191	NOPROTO	POSIX	{ int pathconf(char *path, int name); }
298192	MNOPROTO POSIX	{ int fpathconf(int fd, int name); }
299193	UNIMPL	NOHIDE	nosys
300194	MNOPROTO BSD	{ int getrlimit(u_int which, \
301			    struct rlimit *rlp); } \
302			    getrlimit __getrlimit_args int
303195	MNOPROTO BSD	{ int setrlimit(u_int which, \
304			    struct rlimit *rlp); } \
305			    setrlimit __setrlimit_args int
306196	NOPROTO	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
307			    long *basep); }
308197	STD BSD		{ caddr_t freebsd32_mmap(caddr_t addr, size_t len, \
309			    int prot, int flags, int fd, int pad, \
310			    u_int32_t poslo, u_int32_t poshi); }
311198	NOPROTO	NOHIDE	{ int nosys(void); } __syscall __syscall_args int
312; XXX note - bigendian is different
313199	STD	POSIX	{ off_t freebsd32_lseek(int fd, int pad, \
314			    u_int32_t offsetlo, u_int32_t offsethi, \
315			    int whence); }
316; XXX note - bigendian is different
317200	STD	BSD	{ int freebsd32_truncate(char *path, int pad, \
318			    u_int32_t lengthlo, u_int32_t lengthhi); }
319; XXX note - bigendian is different
320201	STD	BSD	{ int freebsd32_ftruncate(int fd, int pad, \
321			    u_int32_t lengthlo, u_int32_t lengthhi); }
322202	MSTD BSD	{ int freebsd32_sysctl(int *name, u_int namelen, \
323			    void *old, u_int32_t *oldlenp, void *new, \
324			    u_int32_t newlen); }
325203	MNOPROTO BSD	{ int mlock(const void *addr, size_t len); }
326204	MNOPROTO BSD	{ int munlock(const void *addr, size_t len); }
327205	NOPROTO	BSD	{ int undelete(char *path); }
328206	NOPROTO	BSD	{ int futimes(int fd, struct timeval *tptr); }
329207	MNOPROTO BSD	{ int getpgid(pid_t pid); }
330208	UNIMPL	NOHIDE	newreboot (NetBSD)
331209	MNOPROTO BSD	{ int poll(struct pollfd *fds, u_int nfds, \
332			    int timeout); }
333
334;
335; The following are reserved for loadable syscalls
336;
337210	UNIMPL	NOHIDE
338211	UNIMPL	NOHIDE
339212	UNIMPL	NOHIDE
340213	UNIMPL	NOHIDE
341214	UNIMPL	NOHIDE
342215	UNIMPL	NOHIDE
343216	UNIMPL	NOHIDE
344217	UNIMPL	NOHIDE
345218	UNIMPL	NOHIDE
346219	UNIMPL	NOHIDE
347
348;
349; The following were introduced with NetBSD/4.4Lite-2
350; They are initialized by thier respective modules/sysinits
351220	MNOPROTO	BSD	{ int __semctl(int semid, int semnum, int cmd, \
352			    union semun *arg); }
353221	MNOPROTO	BSD	{ int semget(key_t key, int nsems, int semflg); }
354222	MNOPROTO	BSD	{ int semop(int semid, struct sembuf *sops, \
355			    u_int nsops); }
356223	UNIMPL	NOHIDE	semconfig
357224	MNOPROTO	BSD	{ int msgctl(int msqid, int cmd, \
358			    struct msqid_ds *buf); }
359225	MNOPROTO	BSD	{ int msgget(key_t key, int msgflg); }
360226	MNOPROTO	BSD	{ int msgsnd(int msqid, void *msgp, size_t msgsz, \
361			    int msgflg); }
362227	MNOPROTO	BSD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
363			    long msgtyp, int msgflg); }
364228	MNOPROTO	BSD	{ int shmat(int shmid, void *shmaddr, int shmflg); }
365229	MNOPROTO	BSD	{ int shmctl(int shmid, int cmd, \
366			    struct shmid_ds *buf); }
367230	MNOPROTO	BSD	{ int shmdt(void *shmaddr); }
368231	MNOPROTO	BSD	{ int shmget(key_t key, int size, int shmflg); }
369;
370232	MNOPROTO POSIX	{ int clock_gettime(clockid_t clock_id, \
371			    struct timespec *tp); }
372233	MNOPROTO POSIX	{ int clock_settime(clockid_t clock_id, \
373			    const struct timespec *tp); }
374234	MNOPROTO POSIX	{ int clock_getres(clockid_t clock_id, \
375			    struct timespec *tp); }
376235	UNIMPL	NOHIDE	timer_create
377236	UNIMPL	NOHIDE	timer_delete
378237	UNIMPL	NOHIDE	timer_settime
379238	UNIMPL	NOHIDE	timer_gettime
380239	UNIMPL	NOHIDE	timer_getoverrun
381240	MNOPROTO POSIX	{ int nanosleep(const struct timespec *rqtp, \
382			    struct timespec *rmtp); }
383241	UNIMPL	NOHIDE	nosys
384242	UNIMPL	NOHIDE	nosys
385243	UNIMPL	NOHIDE	nosys
386244	UNIMPL	NOHIDE	nosys
387245	UNIMPL	NOHIDE	nosys
388246	UNIMPL	NOHIDE	nosys
389247	UNIMPL	NOHIDE	nosys
390248	UNIMPL	NOHIDE	nosys
391249	UNIMPL	NOHIDE	nosys
392; syscall numbers initially used in OpenBSD
393250	MNOPROTO BSD	{ int minherit(void *addr, size_t len, int inherit); }
394251	MNOPROTO BSD	{ int rfork(int flags); }
395252	MNOPROTO BSD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
396			    int timeout); }
397253	NOPROTO	BSD	{ int issetugid(void); }
398254	NOPROTO	BSD	{ int lchown(char *path, int uid, int gid); }
399255	UNIMPL	NOHIDE	nosys
400256	UNIMPL	NOHIDE	nosys
401257	UNIMPL	NOHIDE	nosys
402258	UNIMPL	NOHIDE	nosys
403259	UNIMPL	NOHIDE	nosys
404260	UNIMPL	NOHIDE	nosys
405261	UNIMPL	NOHIDE	nosys
406262	UNIMPL	NOHIDE	nosys
407263	UNIMPL	NOHIDE	nosys
408264	UNIMPL	NOHIDE	nosys
409265	UNIMPL	NOHIDE	nosys
410266	UNIMPL	NOHIDE	nosys
411267	UNIMPL	NOHIDE	nosys
412268	UNIMPL	NOHIDE	nosys
413269	UNIMPL	NOHIDE	nosys
414270	UNIMPL	NOHIDE	nosys
415271	UNIMPL	NOHIDE	nosys
416272	NOPROTO	BSD	{ int getdents(int fd, char *buf, size_t count); }
417273	UNIMPL	NOHIDE	nosys
418274	NOPROTO	BSD	{ int lchmod(char *path, mode_t mode); }
419275	NOPROTO BSD	{ int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int
420276	NOPROTO	BSD	{ int lutimes(char *path, struct timeval *tptr); }
421277	MNOPROTO BSD	{ int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int
422278	NOPROTO	BSD	{ int nstat(char *path, struct nstat *ub); }
423279	MNOPROTO BSD	{ int nfstat(int fd, struct nstat *sb); }
424280	NOPROTO	BSD	{ int nlstat(char *path, struct nstat *ub); }
425281	UNIMPL	NOHIDE	nosys
426282	UNIMPL	NOHIDE	nosys
427283	UNIMPL	NOHIDE	nosys
428284	UNIMPL	NOHIDE	nosys
429285	UNIMPL	NOHIDE	nosys
430286	UNIMPL	NOHIDE	nosys
431287	UNIMPL	NOHIDE	nosys
432288	UNIMPL	NOHIDE	nosys
433289	UNIMPL	NOHIDE	nosys
434290	UNIMPL	NOHIDE	nosys
435291	UNIMPL	NOHIDE	nosys
436292	UNIMPL	NOHIDE	nosys
437293	UNIMPL	NOHIDE	nosys
438294	UNIMPL	NOHIDE	nosys
439295	UNIMPL	NOHIDE	nosys
440296	UNIMPL	NOHIDE	nosys
441; XXX 297 is 300 in NetBSD 
442297	NOPROTO	BSD	{ int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
443298	NOPROTO	BSD	{ int fhopen(const struct fhandle *u_fhp, int flags); }
444299	NOPROTO	BSD 	{ int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
445; syscall numbers for FreeBSD
446300	MNOPROTO BSD	{ int modnext(int modid); }
447301	MNOPROTO BSD	{ int modstat(int modid, struct module_stat* stat); }
448302	MNOPROTO BSD	{ int modfnext(int modid); }
449303	MNOPROTO BSD	{ int modfind(const char *name); }
450304	MNOPROTO BSD	{ int kldload(const char *file); }
451305	MNOPROTO BSD	{ int kldunload(int fileid); }
452306	MNOPROTO BSD	{ int kldfind(const char *file); }
453307	MNOPROTO BSD	{ int kldnext(int fileid); }
454308	MNOPROTO BSD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
455309	MNOPROTO BSD	{ int kldfirstmod(int fileid); }
456310	MNOPROTO BSD	{ int getsid(pid_t pid); }
457311	MNOPROTO BSD	{ int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
458312	MNOPROTO BSD	{ int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
459313	OBSOL	NOHIDE	signanosleep
460314	UNIMPL	NOHIDE	aio_return
461315	UNIMPL	NOHIDE	aio_suspend
462316	UNIMPL	NOHIDE	aio_cancel
463317	UNIMPL	NOHIDE	aio_error
464318	UNIMPL	NOHIDE	aio_read
465319	UNIMPL	NOHIDE	aio_write
466320	UNIMPL	NOHIDE	lio_listio
467321	MNOPROTO BSD	{ int yield(void); }
468322	OBSOL	NOHIDE	thr_sleep
469323	OBSOL	NOHIDE	thr_wakeup
470324	MNOPROTO BSD	{ int mlockall(int how); }
471325	MNOPROTO BSD	{ int munlockall(void); }
472326	NOPROTO	BSD	{ int __getcwd(u_char *buf, u_int buflen); }
473
474327	MNOPROTO POSIX	{ int sched_setparam (pid_t pid, const struct sched_param *param); }
475328	MNOPROTO POSIX	{ int sched_getparam (pid_t pid, struct sched_param *param); }
476
477329	MNOPROTO POSIX	{ int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
478330	MNOPROTO POSIX	{ int sched_getscheduler (pid_t pid); }
479
480331	MNOPROTO POSIX	{ int sched_yield (void); }
481332	MNOPROTO POSIX	{ int sched_get_priority_max (int policy); }
482333	MNOPROTO POSIX	{ int sched_get_priority_min (int policy); }
483334	MNOPROTO POSIX	{ int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
484335	NOPROTO	BSD	{ int utrace(const void *addr, size_t len); }
485; XXX note - bigendian is different
486336	MCOMPAT4 BSD	{ int freebsd32_sendfile(int fd, int s, \
487			    u_int32_t offsetlo,u_int32_t offsethi, \
488			    size_t nbytes, struct sf_hdtr *hdtr, \
489			    off_t *sbytes, int flags); }
490337	NOPROTO	BSD	{ int kldsym(int fileid, int cmd, void *data); }
491338	MNOPROTO BSD	{ int jail(struct jail *jail); }
492339	UNIMPL	BSD	pioctl
493340	MNOPROTO POSIX	{ int sigprocmask(int how, const sigset_t *set, \
494			    sigset_t *oset); }
495341	MNOPROTO POSIX	{ int sigsuspend(const sigset_t *sigmask); }
496342	COMPAT4 POSIX	{ int freebsd32_sigaction(int sig, \
497			    struct sigaction32 *act, \
498			    struct sigaction32 *oact); }
499343	MNOPROTO POSIX	{ int sigpending(sigset_t *set); }
500344	MCOMPAT4 BSD	{ int freebsd32_sigreturn( \
501			    const struct __ucontext *sigcntxp); }
502345	UNIMPL	NOHIDE	sigtimedwait
503346	UNIMPL	NOHIDE	sigwaitinfo
504347	MNOPROTO BSD	{ int __acl_get_file(const char *path, \
505			    acl_type_t type, struct acl *aclp); }
506348	MNOPROTO BSD	{ int __acl_set_file(const char *path, \
507			    acl_type_t type, struct acl *aclp); }
508349	MNOPROTO BSD	{ int __acl_get_fd(int filedes, acl_type_t type, \
509			    struct acl *aclp); }
510350	MNOPROTO BSD	{ int __acl_set_fd(int filedes, acl_type_t type, \
511			    struct acl *aclp); }
512351	MNOPROTO BSD	{ int __acl_delete_file(const char *path, \
513			    acl_type_t type); }
514352	MNOPROTO BSD	{ int __acl_delete_fd(int filedes, acl_type_t type); }
515353	MNOPROTO BSD	{ int __acl_aclcheck_file(const char *path, \
516			    acl_type_t type, struct acl *aclp); }
517354	MNOPROTO BSD	{ int __acl_aclcheck_fd(int filedes, acl_type_t type, \
518			    struct acl *aclp); }
519355	NOPROTO	BSD	{ int extattrctl(const char *path, int cmd, \
520			    const char *filename, int attrnamespace, \
521			    const char *attrname); }
522356	NOPROTO	BSD	{ int extattr_set_file(const char *path, \
523			    int attrnamespace, const char *attrname, \
524			    void *data, size_t nbytes); }
525357	NOPROTO	BSD	{ ssize_t extattr_get_file(const char *path, \
526			    int attrnamespace, const char *attrname, \
527			    void *data, size_t nbytes); }
528358	NOPROTO	BSD	{ int extattr_delete_file(const char *path, \
529			    int attrnamespace, const char *attrname); }
530359	UNIMPL	NOHIDE	aio_waitcomplete
531360	MNOPROTO BSD	{ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
532361	MNOPROTO BSD	{ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
533362	MNOPROTO BSD	{ int kqueue(void); }
534363	MSTD BSD	{ int freebsd32_kevent(int fd, \
535			    const struct kevent *changelist, int nchanges, \
536			    struct kevent *eventlist, int nevents, \
537			    const struct timespec *timeout); }
538364	UNIMPL	NOHIDE	__cap_get_proc
539365	UNIMPL	NOHIDE	__cap_set_proc
540366	UNIMPL	NOHIDE	__cap_get_fd
541367	UNIMPL	NOHIDE	__cap_get_file
542368	UNIMPL	NOHIDE	__cap_set_fd
543369	UNIMPL	NOHIDE	__cap_set_file
544370	UNIMPL	NOHIDE	lkmressys
545371	NOPROTO	BSD	{ int extattr_set_fd(int fd, int attrnamespace, \
546			    const char *attrname, void *data, \
547			    size_t nbytes); }
548372	NOPROTO	BSD	{ ssize_t extattr_get_fd(int fd, int attrnamespace, \
549			    const char *attrname, void *data, size_t nbytes); }
550373	NOPROTO	BSD	{ int extattr_delete_fd(int fd, int attrnamespace, \
551			    const char *attrname); }
552374	MNOPROTO BSD	{ int __setugid(int flag); }
553375	UNIMPL	BSD	nfsclnt
554376	NOPROTO	BSD	{ int eaccess(char *path, int flags); }
555377	UNIMPL	BSD	afs_syscall
556378	NOPROTO	BSD	{ int nmount(struct iovec *iovp, unsigned int iovcnt, \
557			    int flags); }
558379	NOPROTO	BSD	{ int kse_exit(void); }
559380	NOPROTO	BSD	{ int kse_wakeup(struct kse_mailbox *mbx); }
560381	NOPROTO	BSD	{ int kse_create(struct kse_mailbox *mbx, \
561			    int newgroup); }
562382	NOPROTO	BSD	{ int kse_thr_interrupt(struct kse_thr_mailbox *tmbx); }
563383	NOPROTO	BSD	{ int kse_release(void); }
564384	UNIMPL	BSD	__mac_get_proc
565385	UNIMPL	BSD	__mac_set_proc
566386	UNIMPL	BSD	__mac_get_fd
567387	UNIMPL	BSD	__mac_get_file
568388	UNIMPL	BSD	__mac_set_fd
569389	UNIMPL	BSD	__mac_set_file
570390	NOPROTO	BSD	{ int kenv(int what, const char *name, char *value, \
571			    int len); }
572391	NOPROTO	BSD	{ int lchflags(const char *path, int flags); }
573392	NOPROTO	BSD	{ int uuidgen(struct uuid *store, int count); }
574393	MSTD	BSD	{ int freebsd32_sendfile(int fd, int s, \
575			    u_int32_t offsetlo, u_int32_t offsethi, \
576			    size_t nbytes, struct sf_hdtr *hdtr, \
577			    off_t *sbytes, int flags); }
578394	UNIMPL	NOHIDE	mac_syscall
579395	UNIMPL	NOHIDE	nosys
580396	UNIMPL	NOHIDE	nosys
581397	UNIMPL	NOHIDE	nosys
582398	UNIMPL	NOHIDE	nosys
583399	UNIMPL	NOHIDE	nosys
584400	UNIMPL	NOHIDE	ksem_close
585401	UNIMPL	NOHIDE	ksem_post
586402	UNIMPL	NOHIDE	ksem_wait
587403	UNIMPL	NOHIDE	ksem_trywait
588404	UNIMPL	NOHIDE	ksem_init
589405	UNIMPL	NOHIDE	ksem_open
590406	UNIMPL	NOHIDE	ksem_unlink
591407	UNIMPL	NOHIDE	ksem_getvalue
592408	UNIMPL	NOHIDE	ksem_destroy
593409	UNIMPL	BSD	__mac_get_pid
594410	UNIMPL	BSD	__mac_get_link
595411	UNIMPL	BSD	__mac_set_link
596412	UNIMPL	BSD	extattr_set_link
597413	UNIMPL	BSD	extattr_get_link
598414	UNIMPL	BSD	extattr_delete_link
599415	UNIMPL	BSD	__mac_execve
600416	STD POSIX	{ int freebsd32_sigaction(int sig, \
601			    struct sigaction32 *act, \
602			    struct sigaction32 *oact); }
603417	MSTD BSD	{ int freebsd32_sigreturn( \
604			    const struct freebsd32_ucontext *sigcntxp); }
605418	UNIMPL	BSD	__xstat
606419	UNIMPL	BSD	__xfstat
607420	UNIMPL	BSD	__xlstat
608421	UNIMPL	BSD	getcontext
609422	UNIMPL	BSD	setcontext
610423	UNIMPL	BSD	swapcontext
611424	UNIMPL	BSD	swapoff
612425	UNIMPL	BSD	__acl_get_link
613426	UNIMPL	BSD	__acl_set_link
614427	UNIMPL	BSD	__acl_delete_link
615428	UNIMPL	BSD	__acl_aclcheck_link
616429	UNIMPL	NOHIDE	sigwait
617430	MNOPROTO BSD	{ int thr_create(ucontext_t *ctx, thr_id_t *id, \
618			    int flag s); }
619431	MNOPROTO BSD	{ void thr_exit(void); }
620432	MNOPROTO BSD	{ int thr_self(thr_id_t *id); }
621433	MNOPROTO BSD	{ int thr_kill(thr_id_t id, int sig); }
622434	MNOPROTO BSD	{ int _umtx_lock(struct umtx *umtx); }
623435	MNOPROTO BSD	{ int _umtx_unlock(struct umtx *umtx); }
624436	MNOPROTO BSD	{ int jail_attach(int jid); }
625
626