syscalls.master revision 123747
1 $FreeBSD: head/sys/compat/freebsd32/syscalls.master 123747 2003-12-23 03:21:06Z 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	NOPROTO	POSIX	{ int 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	MNOPROTO BSD	{ int ptrace(int req, pid_t pid, caddr_t addr, \
83			    int data); }
84; XXX implement
8527	UNIMPL	BSD	recvmsg
8628	MNOPROTO BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
8729	MNOPROTO BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
88			    int flags, caddr_t from, int *fromlenaddr); }
8930	MNOPROTO BSD	{ int accept(int s, caddr_t name, int *anamelen); }
9031	MNOPROTO BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
9132	MNOPROTO BSD	{ int getsockname(int fdes, caddr_t asa, int *alen); }
9233	NOPROTO	POSIX	{ int access(char *path, int flags); }
9334	NOPROTO	BSD	{ int chflags(char *path, int flags); }
9435	NOPROTO	BSD	{ int fchflags(int fd, int flags); }
9536	NOPROTO	BSD	{ int sync(void); }
9637	MNOPROTO POSIX	{ int kill(int pid, int signum); }
9738	UNIMPL	POSIX	ostat
9839	MNOPROTO POSIX	{ pid_t getppid(void); }
9940	UNIMPL	POSIX	olstat
10041	MNOPROTO POSIX	{ int dup(u_int fd); }
10142	MNOPROTO POSIX	{ int pipe(void); }
10243	MNOPROTO POSIX	{ gid_t getegid(void); }
10344	MNOPROTO BSD	{ int profil(caddr_t samples, size_t size, \
104			    size_t offset, u_int scale); }
10545	MNOPROTO BSD	{ int ktrace(const char *fname, int ops, int facs, \
106			    int pid); }
10746	UNIMPL	POSIX	osigaction
10847	MNOPROTO POSIX	{ gid_t getgid(void); }
10948	UNIMPL	POSIX	osigprocmask
11049	MNOPROTO BSD	{ int getlogin(char *namebuf, u_int namelen); }
11150	MNOPROTO BSD	{ int setlogin(char *namebuf); }
11251	MNOPROTO BSD	{ int acct(char *path); }
11352	OBSOL	POSIX	osigpending
11453	MSTD	BSD	{ int freebsd32_sigaltstack(struct sigaltstack32 *ss, \
115			    struct sigaltstack32 *oss); }
11654	MNOPROTO POSIX	{ int ioctl(int fd, u_long com, caddr_t data); }
11755	MNOPROTO BSD	{ int reboot(int opt); }
11856	NOPROTO	POSIX	{ int revoke(char *path); }
11957	NOPROTO	POSIX	{ int symlink(char *path, char *link); }
12058	NOPROTO	POSIX	{ int readlink(char *path, char *buf, int count); }
12159	STD	 POSIX	{ int freebsd32_execve(char *fname, u_int32_t *argv, \
122			    u_int32_t *envv); }
12360	MNOPROTO POSIX	{ int umask(int newmask); } umask umask_args int
12461	NOPROTO	BSD	{ int chroot(char *path); }
12562	OBSOL	POSIX	ofstat
12663	OBSOL	BSD	ogetkerninfo
12764	OBSOL	BSD	ogetpagesize
128; XXX implement (not OBSOL at all)
12965	OBSOL	BSD	omsync
13066	MNOPROTO BSD	{ int vfork(void); }
13167	OBSOL	NOHIDE	vread
13268	OBSOL	NOHIDE	vwrite
13369	MNOPROTO BSD	{ int sbrk(int incr); }
13470	MNOPROTO BSD	{ int sstk(int incr); }
13571	OBSOL	BSD	ommap
13672	MNOPROTO BSD	{ int ovadvise(int anom); } vadvise ovadvise_args int
13773	MNOPROTO BSD	{ int munmap(void *addr, size_t len); }
13874	MNOPROTO BSD	{ int mprotect(const void *addr, size_t len, \
139			    int prot); }
14075	MNOPROTO BSD	{ int madvise(void *addr, size_t len, int behav); }
14176	OBSOL	NOHIDE	vhangup
14277	OBSOL	NOHIDE	vlimit
14378	MNOPROTO BSD	{ int mincore(const void *addr, size_t len, \
144			    char *vec); }
14579	MNOPROTO POSIX	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
14680	MNOPROTO POSIX	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
14781	MNOPROTO POSIX	{ int getpgrp(void); }
14882	MNOPROTO POSIX	{ int setpgid(int pid, int pgid); }
14983	STD	BSD	{ int freebsd32_setitimer(u_int which, \
150			    struct itimerval32 *itv, \
151			    struct itimerval32 *oitv); }
15284	OBSOL	BSD	owait
153; XXX implement
15485	OBSOL	BSD	oswapon
155; XXX implement
15686	OBSOL	BSD	ogetitimer
15787	OBSOL	BSD	ogethostname
15888	OBSOL	BSD	osethostname
15989	MNOPROTO BSD	{ int getdtablesize(void); }
16090	MNOPROTO POSIX	{ int dup2(u_int from, u_int to); }
16191	UNIMPL	BSD	getdopt
16292	MNOPROTO POSIX	{ int fcntl(int fd, int cmd, long arg); }
163; XXX should be		{ int fcntl(int fd, int cmd, ...); }
164; but we're not ready for varargs.
165; XXX man page says `int arg' too.
16693	STD	BSD	{ int freebsd32_select(int nd, fd_set *in, fd_set *ou, \
167			    fd_set *ex, struct timeval32 *tv); }
168; XXX need to override for big-endian - little-endian should work fine.
16994	UNIMPL	BSD	setdopt
17095	NOPROTO	POSIX	{ int fsync(int fd); }
17196	MNOPROTO BSD	{ int setpriority(int which, int who, int prio); }
17297	MNOPROTO BSD	{ int socket(int domain, int type, int protocol); }
17398	MNOPROTO BSD	{ int connect(int s, caddr_t name, int namelen); }
17499	OBSOL	BSD	oaccept
175100	MNOPROTO BSD	{ int getpriority(int which, int who); }
176101	OBSOL	BSD	osend
177102	OBSOL	BSD	orecv
178103	OBSOL	BSD	osigreturn
179104	MNOPROTO BSD	{ int bind(int s, caddr_t name, int namelen); }
180105	MNOPROTO BSD	{ int setsockopt(int s, int level, int name, \
181			    caddr_t val, int valsize); }
182106	MNOPROTO BSD	{ int listen(int s, int backlog); }
183107	OBSOL	NOHIDE	vtimes
184108	OBSOL	BSD	osigvec
185109	OBSOL	BSD	osigblock
186110	OBSOL	BSD	osigsetmask
187111	OBSOL	POSIX	osigsuspend
188112	OBSOL	BSD	osigstack
189113	OBSOL	BSD	orecvmsg
190114	OBSOL	BSD	osendmsg
191115	OBSOL	NOHIDE	vtrace
192116	MSTD	BSD	{ int freebsd32_gettimeofday(struct timeval32 *tp, \
193			    struct timezone *tzp); }
194117	STD	BSD	{ int freebsd32_getrusage(int who, \
195			    struct rusage32 *rusage); }
196118	MNOPROTO BSD	{ int getsockopt(int s, int level, int name, \
197			    caddr_t val, int *avalsize); }
198119	UNIMPL	NOHIDE	resuba (BSD/OS 2.x)
199120	STD	BSD	{ int freebsd32_readv(int fd, struct iovec32 *iovp, \
200			    u_int iovcnt); }
201121	STD	BSD	{ int freebsd32_writev(int fd, struct iovec32 *iovp, \
202			    u_int iovcnt); }
203122	STD	BSD	{ int freebsd32_settimeofday(struct timeval32 *tv, \
204			    struct timezone *tzp); }
205123	NOPROTO	BSD	{ int fchown(int fd, int uid, int gid); }
206124	NOPROTO	BSD	{ int fchmod(int fd, int mode); }
207125	OBSOL	BSD	orecvfrom
208126	MNOPROTO BSD	{ int setreuid(int ruid, int euid); }
209127	MNOPROTO BSD	{ int setregid(int rgid, int egid); }
210128	NOPROTO	POSIX	{ int rename(char *from, char *to); }
211129	OBSOL	BSD	otruncate
212130	OBSOL	BSD	ftruncate
213131	MNOPROTO BSD	{ int flock(int fd, int how); }
214132	NOPROTO	POSIX	{ int mkfifo(char *path, int mode); }
215133	MNOPROTO BSD	{ int sendto(int s, caddr_t buf, size_t len, \
216			    int flags, caddr_t to, int tolen); }
217134	MNOPROTO BSD	{ int shutdown(int s, int how); }
218135	MNOPROTO BSD	{ int socketpair(int domain, int type, int protocol, \
219			    int *rsv); }
220136	NOPROTO	POSIX	{ int mkdir(char *path, int mode); }
221137	NOPROTO	POSIX	{ int rmdir(char *path); }
222138	STD	BSD	{ int freebsd32_utimes(char *path, \
223			    struct timeval32 *tptr); }
224139	OBSOL	NOHIDE	4.2 sigreturn
225140	STD	BSD	{ int freebsd32_adjtime(struct timeval32 *delta, \
226			    struct timeval32 *olddelta); }
227141	OBSOL	BSD	ogetpeername
228142	OBSOL	BSD	ogethostid
229143	OBSOL	BSD	sethostid
230144	OBSOL	BSD	getrlimit
231145	OBSOL	BSD	setrlimit
232146	OBSOL	BSD	killpg
233147	MNOPROTO POSIX	{ int setsid(void); }
234148	NOPROTO	BSD	{ int quotactl(char *path, int cmd, int uid, \
235			    caddr_t arg); }
236149	OBSOL BSD	oquota
237150	OBSOL BSD	ogetsockname
238
239; Syscalls 151-180 inclusive are reserved for vendor-specific
240; system calls.  (This includes various calls added for compatibity
241; with other Unix variants.)
242; Some of these calls are now supported by BSD...
243151	UNIMPL	NOHIDE	sem_lock (BSD/OS 2.x)
244152	UNIMPL	NOHIDE	sem_wakeup (BSD/OS 2.x)
245153	UNIMPL	NOHIDE	asyncdaemon (BSD/OS 2.x)
246154	UNIMPL	NOHIDE	nosys
247; 155 is initialized by the NFS code, if present.
248155	UNIMPL	NOHIDE	nfssvc
249156	OBSOL	BSD	ogetdirentries
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	MNOPROTO 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	MSTD	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	MNOPROTO 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	MNOPROTO 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	MCOMPAT4 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); }
502; XXX implement
503345	UNIMPL	NOHIDE	sigtimedwait
504; XXX implement
505346	UNIMPL	NOHIDE	sigwaitinfo
506347	MNOPROTO BSD	{ int __acl_get_file(const char *path, \
507			    acl_type_t type, struct acl *aclp); }
508348	MNOPROTO BSD	{ int __acl_set_file(const char *path, \
509			    acl_type_t type, struct acl *aclp); }
510349	MNOPROTO BSD	{ int __acl_get_fd(int filedes, acl_type_t type, \
511			    struct acl *aclp); }
512350	MNOPROTO BSD	{ int __acl_set_fd(int filedes, acl_type_t type, \
513			    struct acl *aclp); }
514351	MNOPROTO BSD	{ int __acl_delete_file(const char *path, \
515			    acl_type_t type); }
516352	MNOPROTO BSD	{ int __acl_delete_fd(int filedes, acl_type_t type); }
517353	MNOPROTO BSD	{ int __acl_aclcheck_file(const char *path, \
518			    acl_type_t type, struct acl *aclp); }
519354	MNOPROTO BSD	{ int __acl_aclcheck_fd(int filedes, acl_type_t type, \
520			    struct acl *aclp); }
521355	NOPROTO	BSD	{ int extattrctl(const char *path, int cmd, \
522			    const char *filename, int attrnamespace, \
523			    const char *attrname); }
524356	NOPROTO	BSD	{ int extattr_set_file(const char *path, \
525			    int attrnamespace, const char *attrname, \
526			    void *data, size_t nbytes); }
527357	NOPROTO	BSD	{ ssize_t extattr_get_file(const char *path, \
528			    int attrnamespace, const char *attrname, \
529			    void *data, size_t nbytes); }
530358	NOPROTO	BSD	{ int extattr_delete_file(const char *path, \
531			    int attrnamespace, const char *attrname); }
532359	UNIMPL	NOHIDE	aio_waitcomplete
533360	MNOPROTO BSD	{ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
534361	MNOPROTO BSD	{ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
535362	MNOPROTO BSD	{ int kqueue(void); }
536363	MSTD BSD	{ int freebsd32_kevent(int fd, \
537			    const struct kevent *changelist, int nchanges, \
538			    struct kevent *eventlist, int nevents, \
539			    const struct timespec *timeout); }
540364	UNIMPL	NOHIDE	__cap_get_proc
541365	UNIMPL	NOHIDE	__cap_set_proc
542366	UNIMPL	NOHIDE	__cap_get_fd
543367	UNIMPL	NOHIDE	__cap_get_file
544368	UNIMPL	NOHIDE	__cap_set_fd
545369	UNIMPL	NOHIDE	__cap_set_file
546370	UNIMPL	NOHIDE	lkmressys
547371	NOPROTO	BSD	{ int extattr_set_fd(int fd, int attrnamespace, \
548			    const char *attrname, void *data, \
549			    size_t nbytes); }
550372	NOPROTO	BSD	{ ssize_t extattr_get_fd(int fd, int attrnamespace, \
551			    const char *attrname, void *data, size_t nbytes); }
552373	NOPROTO	BSD	{ int extattr_delete_fd(int fd, int attrnamespace, \
553			    const char *attrname); }
554374	MNOPROTO BSD	{ int __setugid(int flag); }
555375	UNIMPL	BSD	nfsclnt
556376	NOPROTO	BSD	{ int eaccess(char *path, int flags); }
557377	UNIMPL	BSD	afs_syscall
558378	NOPROTO	BSD	{ int nmount(struct iovec *iovp, unsigned int iovcnt, \
559			    int flags); }
560379	NOPROTO	BSD	{ int kse_exit(void); }
561380	NOPROTO	BSD	{ int kse_wakeup(struct kse_mailbox *mbx); }
562381	NOPROTO	BSD	{ int kse_create(struct kse_mailbox *mbx, \
563			    int newgroup); }
564382	NOPROTO	BSD	{ int kse_thr_interrupt(struct kse_thr_mailbox *tmbx); }
565383	NOPROTO	BSD	{ int kse_release(void); }
566384	UNIMPL	BSD	__mac_get_proc
567385	UNIMPL	BSD	__mac_set_proc
568386	UNIMPL	BSD	__mac_get_fd
569387	UNIMPL	BSD	__mac_get_file
570388	UNIMPL	BSD	__mac_set_fd
571389	UNIMPL	BSD	__mac_set_file
572390	NOPROTO	BSD	{ int kenv(int what, const char *name, char *value, \
573			    int len); }
574391	NOPROTO	BSD	{ int lchflags(const char *path, int flags); }
575392	NOPROTO	BSD	{ int uuidgen(struct uuid *store, int count); }
576393	MSTD	BSD	{ int freebsd32_sendfile(int fd, int s, \
577			    u_int32_t offsetlo, u_int32_t offsethi, \
578			    size_t nbytes, struct sf_hdtr *hdtr, \
579			    off_t *sbytes, int flags); }
580394	UNIMPL	NOHIDE	mac_syscall
581395	UNIMPL	NOHIDE	nosys
582396	UNIMPL	NOHIDE	nosys
583397	UNIMPL	NOHIDE	nosys
584398	UNIMPL	NOHIDE	nosys
585399	UNIMPL	NOHIDE	nosys
586; XXX implement these?
587400	UNIMPL	NOHIDE	ksem_close
588401	UNIMPL	NOHIDE	ksem_post
589402	UNIMPL	NOHIDE	ksem_wait
590403	UNIMPL	NOHIDE	ksem_trywait
591404	UNIMPL	NOHIDE	ksem_init
592405	UNIMPL	NOHIDE	ksem_open
593406	UNIMPL	NOHIDE	ksem_unlink
594407	UNIMPL	NOHIDE	ksem_getvalue
595408	UNIMPL	NOHIDE	ksem_destroy
596409	UNIMPL	BSD	__mac_get_pid
597410	UNIMPL	BSD	__mac_get_link
598411	UNIMPL	BSD	__mac_set_link
599412	UNIMPL	BSD	extattr_set_link
600413	UNIMPL	BSD	extattr_get_link
601414	UNIMPL	BSD	extattr_delete_link
602415	UNIMPL	BSD	__mac_execve
603416	STD POSIX	{ int freebsd32_sigaction(int sig, \
604			    struct sigaction32 *act, \
605			    struct sigaction32 *oact); }
606417	MSTD BSD	{ int freebsd32_sigreturn( \
607			    const struct freebsd32_ucontext *sigcntxp); }
608418	UNIMPL	BSD	__xstat
609419	UNIMPL	BSD	__xfstat
610420	UNIMPL	BSD	__xlstat
611; XXX implement
612421	UNIMPL	BSD	getcontext
613; XXX implement
614422	UNIMPL	BSD	setcontext
615; XXX implement
616423	UNIMPL	BSD	swapcontext
617424	UNIMPL	BSD	swapoff
618425	UNIMPL	BSD	__acl_get_link
619426	UNIMPL	BSD	__acl_set_link
620427	UNIMPL	BSD	__acl_delete_link
621428	UNIMPL	BSD	__acl_aclcheck_link
622; XXX implement
623429	UNIMPL	NOHIDE	sigwait
624430	MNOPROTO BSD	{ int thr_create(ucontext_t *ctx, thr_id_t *id, \
625			    int flag s); }
626431	MNOPROTO BSD	{ void thr_exit(void); }
627432	MNOPROTO BSD	{ int thr_self(thr_id_t *id); }
628433	MNOPROTO BSD	{ int thr_kill(thr_id_t id, int sig); }
629434	MNOPROTO BSD	{ int _umtx_lock(struct umtx *umtx); }
630435	MNOPROTO BSD	{ int _umtx_unlock(struct umtx *umtx); }
631436	MNOPROTO BSD	{ int jail_attach(int jid); }
632437	UNIMPL	BSD	extattr_list_fd
633438	UNIMPL	BSD	extattr_list_file
634439	UNIMPL	BSD	extattr_list_link
635440	UNIMPL	BSD	kse_switchin
636