syscalls.master revision 122301
1 $FreeBSD: head/sys/compat/freebsd32/syscalls.master 122301 2003-11-08 07:31:30Z 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	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	STD	POSIX	{ int freebsd32_access(char *path, int flags); }
9334	STD	BSD	{ int freebsd32_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	MNOPROTO POSIX	{ int sigpending(void); }
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	MNOPROTO BSD	{ int accept(int s, caddr_t name, int *anamelen); } \
175			    accept accept_args int
176100	MNOPROTO BSD	{ int getpriority(int which, int who); }
177101	OBSOL	BSD	osend
178102	OBSOL	BSD	orecv
179103	OBSOL	BSD	osigreturn
180104	MNOPROTO BSD	{ int bind(int s, caddr_t name, int namelen); }
181105	MNOPROTO BSD	{ int setsockopt(int s, int level, int name, \
182			    caddr_t val, int valsize); }
183106	MNOPROTO BSD	{ int listen(int s, int backlog); }
184107	OBSOL	NOHIDE	vtimes
185108	OBSOL	BSD	osigvec
186109	OBSOL	BSD	osigblock
187110	OBSOL	BSD	osigsetmask
188111	OBSOL	POSIX	osigsuspend
189112	OBSOL	BSD	osigstack
190113	OBSOL	BSD	orecvmsg
191114	OBSOL	BSD	osendmsg
192115	OBSOL	NOHIDE	vtrace
193116	STD	BSD	{ int freebsd32_gettimeofday(struct timeval32 *tp, \
194			    struct timezone *tzp); }
195117	STD	BSD	{ int freebsd32_getrusage(int who, \
196			    struct rusage32 *rusage); }
197118	MNOPROTO BSD	{ int getsockopt(int s, int level, int name, \
198			    caddr_t val, int *avalsize); }
199119	UNIMPL	NOHIDE	resuba (BSD/OS 2.x)
200120	STD	BSD	{ int freebsd32_readv(int fd, struct iovec32 *iovp, \
201			    u_int iovcnt); }
202121	STD	BSD	{ int freebsd32_writev(int fd, struct iovec32 *iovp, \
203			    u_int iovcnt); }
204122	STD	BSD	{ int freebsd32_settimeofday(struct timeval32 *tv, \
205			    struct timezone *tzp); }
206123	NOPROTO	BSD	{ int fchown(int fd, int uid, int gid); }
207124	NOPROTO	BSD	{ int fchmod(int fd, int mode); }
208125	MNOPROTO BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
209			    int flags, caddr_t from, int *fromlenaddr); } \
210			    recvfrom recvfrom_args int
211126	MNOPROTO BSD	{ int setreuid(int ruid, int euid); }
212127	MNOPROTO BSD	{ int setregid(int rgid, int egid); }
213128	NOPROTO	POSIX	{ int rename(char *from, char *to); }
214129	OBSOL	BSD	otruncate
215130	OBSOL	BSD	ftruncate
216131	MNOPROTO BSD	{ int flock(int fd, int how); }
217132	NOPROTO	POSIX	{ int mkfifo(char *path, int mode); }
218133	MNOPROTO BSD	{ int sendto(int s, caddr_t buf, size_t len, \
219			    int flags, caddr_t to, int tolen); }
220134	MNOPROTO BSD	{ int shutdown(int s, int how); }
221135	MNOPROTO BSD	{ int socketpair(int domain, int type, int protocol, \
222			    int *rsv); }
223136	NOPROTO	POSIX	{ int mkdir(char *path, int mode); }
224137	NOPROTO	POSIX	{ int rmdir(char *path); }
225138	STD	BSD	{ int freebsd32_utimes(char *path, \
226			    struct timeval32 *tptr); }
227139	OBSOL	NOHIDE	4.2 sigreturn
228140	STD	BSD	{ int freebsd32_adjtime(struct timeval32 *delta, \
229			    struct timeval32 *olddelta); }
230141	OBSOL	BSD	ogetpeername
231142	OBSOL	BSD	ogethostid
232143	OBSOL	BSD	sethostid
233144	OBSOL	BSD	getrlimit
234145	OBSOL	BSD	setrlimit
235146	OBSOL	BSD	killpg
236147	MNOPROTO POSIX	{ int setsid(void); }
237148	NOPROTO	BSD	{ int quotactl(char *path, int cmd, int uid, \
238			    caddr_t arg); }
239149	OBSOL BSD	oquota
240150	OBSOL BSD	ogetsockname
241
242; Syscalls 151-180 inclusive are reserved for vendor-specific
243; system calls.  (This includes various calls added for compatibity
244; with other Unix variants.)
245; Some of these calls are now supported by BSD...
246151	UNIMPL	NOHIDE	sem_lock (BSD/OS 2.x)
247152	UNIMPL	NOHIDE	sem_wakeup (BSD/OS 2.x)
248153	UNIMPL	NOHIDE	asyncdaemon (BSD/OS 2.x)
249154	UNIMPL	NOHIDE	nosys
250; 155 is initialized by the NFS code, if present.
251155	UNIMPL	NOHIDE	nfssvc
252156	NOPROTO	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
253			    long *basep); }
254157	STD	BSD	{ int freebsd32_statfs(char *path, \
255			    struct statfs32 *buf); }
256158	STD	BSD	{ int freebsd32_fstatfs(int fd, struct statfs32 *buf); }
257159	UNIMPL	NOHIDE	nosys
258160	UNIMPL	NOHIDE	nosys
259161	NOPROTO	BSD	{ int getfh(char *fname, struct fhandle *fhp); }
260162	MNOPROTO BSD	{ int getdomainname(char *domainname, int len); }
261163	MNOPROTO BSD	{ int setdomainname(char *domainname, int len); }
262164	MNOPROTO BSD	{ int uname(struct utsname *name); }
263165	MNOPROTO BSD	{ int sysarch(int op, char *parms); }
264166	MNOPROTO BSD	{ int rtprio(int function, pid_t pid, \
265			    struct rtprio *rtp); }
266167	UNIMPL	NOHIDE	nosys
267168	UNIMPL	NOHIDE	nosys
268169	STD	BSD	{ int freebsd32_semsys(int which, int a2, int a3, \
269			    int a4, int a5); }
270170	STD	BSD	{ int freebsd32_msgsys(int which, int a2, int a3, \
271			    int a4, int a5, int a6); }
272171	STD	BSD	{ int freebsd32_shmsys(int which, int a2, int a3, \
273			    int a4); }
274172	UNIMPL	NOHIDE	nosys
275173	STD POSIX	{ ssize_t freebsd32_pread(int fd, void *buf, \
276			    size_t nbyte, int pad, u_int32_t offsetlo, \
277			    u_int32_t offsethi); }
278; XXX note - bigendian is different
279174	STD	POSIX	{ ssize_t freebsd32_pwrite(int fd, const void *buf, \
280			    size_t nbyte, int pad, u_int32_t offsetlo, \
281			    u_int32_t offsethi); }
282; XXX note - bigendian is different
283175	UNIMPL	NOHIDE	nosys
284176	MNOPROTO BSD	{ int ntp_adjtime(struct timex *tp); }
285177	UNIMPL	NOHIDE	sfork (BSD/OS 2.x)
286178	UNIMPL	NOHIDE	getdescriptor (BSD/OS 2.x)
287179	UNIMPL	NOHIDE	setdescriptor (BSD/OS 2.x)
288180	UNIMPL	NOHIDE	nosys
289
290; Syscalls 181-199 are used by/reserved for BSD
291181	MNOPROTO POSIX	{ int setgid(gid_t gid); }
292182	MNOPROTO BSD	{ int setegid(gid_t egid); }
293183	MNOPROTO BSD	{ int seteuid(uid_t euid); }
294184	UNIMPL	BSD	lfs_bmapv
295185	UNIMPL	BSD	lfs_markv
296186	UNIMPL	BSD	lfs_segclean
297187	UNIMPL	BSD	lfs_segwait
298188	STD	POSIX	{ int freebsd32_stat(char *path, struct stat32 *ub); }
299189	STD	POSIX	{ int freebsd32_fstat(int fd, struct stat32 *ub); }
300190	STD	POSIX	{ int freebsd32_lstat(char *path, struct stat32 *ub); }
301191	NOPROTO	POSIX	{ int pathconf(char *path, int name); }
302192	MNOPROTO POSIX	{ int fpathconf(int fd, int name); }
303193	UNIMPL	NOHIDE	nosys
304194	MNOPROTO BSD	{ int getrlimit(u_int which, \
305			    struct rlimit *rlp); } \
306			    getrlimit __getrlimit_args int
307195	MNOPROTO BSD	{ int setrlimit(u_int which, \
308			    struct rlimit *rlp); } \
309			    setrlimit __setrlimit_args int
310196	NOPROTO	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
311			    long *basep); }
312197	STD BSD		{ caddr_t freebsd32_mmap(caddr_t addr, size_t len, \
313			    int prot, int flags, int fd, int pad, \
314			    u_int32_t poslo, u_int32_t poshi); }
315198	NOPROTO	NOHIDE	{ int nosys(void); } __syscall __syscall_args int
316; XXX note - bigendian is different
317199	STD	POSIX	{ off_t freebsd32_lseek(int fd, int pad, \
318			    u_int32_t offsetlo, u_int32_t offsethi, \
319			    int whence); }
320; XXX note - bigendian is different
321200	STD	BSD	{ int freebsd32_truncate(char *path, int pad, \
322			    u_int32_t lengthlo, u_int32_t lengthhi); }
323; XXX note - bigendian is different
324201	STD	BSD	{ int freebsd32_ftruncate(int fd, int pad, \
325			    u_int32_t lengthlo, u_int32_t lengthhi); }
326202	MSTD BSD	{ int freebsd32_sysctl(int *name, u_int namelen, \
327			    void *old, u_int32_t *oldlenp, void *new, \
328			    u_int32_t newlen); }
329203	MNOPROTO BSD	{ int mlock(const void *addr, size_t len); }
330204	MNOPROTO BSD	{ int munlock(const void *addr, size_t len); }
331205	NOPROTO	BSD	{ int undelete(char *path); }
332206	NOPROTO	BSD	{ int futimes(int fd, struct timeval *tptr); }
333207	MNOPROTO BSD	{ int getpgid(pid_t pid); }
334208	UNIMPL	NOHIDE	newreboot (NetBSD)
335209	MNOPROTO BSD	{ int poll(struct pollfd *fds, u_int nfds, \
336			    int timeout); }
337
338;
339; The following are reserved for loadable syscalls
340;
341210	UNIMPL	NOHIDE
342211	UNIMPL	NOHIDE
343212	UNIMPL	NOHIDE
344213	UNIMPL	NOHIDE
345214	UNIMPL	NOHIDE
346215	UNIMPL	NOHIDE
347216	UNIMPL	NOHIDE
348217	UNIMPL	NOHIDE
349218	UNIMPL	NOHIDE
350219	UNIMPL	NOHIDE
351
352;
353; The following were introduced with NetBSD/4.4Lite-2
354; They are initialized by thier respective modules/sysinits
355220	MNOPROTO	BSD	{ int __semctl(int semid, int semnum, int cmd, \
356			    union semun *arg); }
357221	MNOPROTO	BSD	{ int semget(key_t key, int nsems, int semflg); }
358222	MNOPROTO	BSD	{ int semop(int semid, struct sembuf *sops, \
359			    u_int nsops); }
360223	UNIMPL	NOHIDE	semconfig
361224	MNOPROTO	BSD	{ int msgctl(int msqid, int cmd, \
362			    struct msqid_ds *buf); }
363225	MNOPROTO	BSD	{ int msgget(key_t key, int msgflg); }
364226	MNOPROTO	BSD	{ int msgsnd(int msqid, void *msgp, size_t msgsz, \
365			    int msgflg); }
366227	MNOPROTO	BSD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
367			    long msgtyp, int msgflg); }
368228	MNOPROTO	BSD	{ int shmat(int shmid, void *shmaddr, int shmflg); }
369229	MNOPROTO	BSD	{ int shmctl(int shmid, int cmd, \
370			    struct shmid_ds *buf); }
371230	MNOPROTO	BSD	{ int shmdt(void *shmaddr); }
372231	MNOPROTO	BSD	{ int shmget(key_t key, int size, int shmflg); }
373;
374232	MNOPROTO POSIX	{ int clock_gettime(clockid_t clock_id, \
375			    struct timespec *tp); }
376233	MNOPROTO POSIX	{ int clock_settime(clockid_t clock_id, \
377			    const struct timespec *tp); }
378234	MNOPROTO POSIX	{ int clock_getres(clockid_t clock_id, \
379			    struct timespec *tp); }
380235	UNIMPL	NOHIDE	timer_create
381236	UNIMPL	NOHIDE	timer_delete
382237	UNIMPL	NOHIDE	timer_settime
383238	UNIMPL	NOHIDE	timer_gettime
384239	UNIMPL	NOHIDE	timer_getoverrun
385240	MNOPROTO POSIX	{ int nanosleep(const struct timespec *rqtp, \
386			    struct timespec *rmtp); }
387241	UNIMPL	NOHIDE	nosys
388242	UNIMPL	NOHIDE	nosys
389243	UNIMPL	NOHIDE	nosys
390244	UNIMPL	NOHIDE	nosys
391245	UNIMPL	NOHIDE	nosys
392246	UNIMPL	NOHIDE	nosys
393247	UNIMPL	NOHIDE	nosys
394248	UNIMPL	NOHIDE	nosys
395249	UNIMPL	NOHIDE	nosys
396; syscall numbers initially used in OpenBSD
397250	MNOPROTO BSD	{ int minherit(void *addr, size_t len, int inherit); }
398251	MNOPROTO BSD	{ int rfork(int flags); }
399252	MNOPROTO BSD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
400			    int timeout); }
401253	MNOPROTO BSD	{ int issetugid(void); }
402254	NOPROTO	BSD	{ int lchown(char *path, int uid, int gid); }
403255	UNIMPL	NOHIDE	nosys
404256	UNIMPL	NOHIDE	nosys
405257	UNIMPL	NOHIDE	nosys
406258	UNIMPL	NOHIDE	nosys
407259	UNIMPL	NOHIDE	nosys
408260	UNIMPL	NOHIDE	nosys
409261	UNIMPL	NOHIDE	nosys
410262	UNIMPL	NOHIDE	nosys
411263	UNIMPL	NOHIDE	nosys
412264	UNIMPL	NOHIDE	nosys
413265	UNIMPL	NOHIDE	nosys
414266	UNIMPL	NOHIDE	nosys
415267	UNIMPL	NOHIDE	nosys
416268	UNIMPL	NOHIDE	nosys
417269	UNIMPL	NOHIDE	nosys
418270	UNIMPL	NOHIDE	nosys
419271	UNIMPL	NOHIDE	nosys
420272	NOPROTO	BSD	{ int getdents(int fd, char *buf, size_t count); }
421273	UNIMPL	NOHIDE	nosys
422274	NOPROTO	BSD	{ int lchmod(char *path, mode_t mode); }
423275	NOPROTO BSD	{ int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int
424276	NOPROTO	BSD	{ int lutimes(char *path, struct timeval *tptr); }
425277	MNOPROTO BSD	{ int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int
426278	NOPROTO	BSD	{ int nstat(char *path, struct nstat *ub); }
427279	MNOPROTO BSD	{ int nfstat(int fd, struct nstat *sb); }
428280	NOPROTO	BSD	{ int nlstat(char *path, struct nstat *ub); }
429281	UNIMPL	NOHIDE	nosys
430282	UNIMPL	NOHIDE	nosys
431283	UNIMPL	NOHIDE	nosys
432284	UNIMPL	NOHIDE	nosys
433285	UNIMPL	NOHIDE	nosys
434286	UNIMPL	NOHIDE	nosys
435287	UNIMPL	NOHIDE	nosys
436288	UNIMPL	NOHIDE	nosys
437289	UNIMPL	NOHIDE	nosys
438290	UNIMPL	NOHIDE	nosys
439291	UNIMPL	NOHIDE	nosys
440292	UNIMPL	NOHIDE	nosys
441293	UNIMPL	NOHIDE	nosys
442294	UNIMPL	NOHIDE	nosys
443295	UNIMPL	NOHIDE	nosys
444296	UNIMPL	NOHIDE	nosys
445; XXX 297 is 300 in NetBSD 
446297	NOPROTO	BSD	{ int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
447298	NOPROTO	BSD	{ int fhopen(const struct fhandle *u_fhp, int flags); }
448299	NOPROTO	BSD 	{ int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
449; syscall numbers for FreeBSD
450300	MNOPROTO BSD	{ int modnext(int modid); }
451301	MNOPROTO BSD	{ int modstat(int modid, struct module_stat* stat); }
452302	MNOPROTO BSD	{ int modfnext(int modid); }
453303	MNOPROTO BSD	{ int modfind(const char *name); }
454304	MNOPROTO BSD	{ int kldload(const char *file); }
455305	MNOPROTO BSD	{ int kldunload(int fileid); }
456306	MNOPROTO BSD	{ int kldfind(const char *file); }
457307	MNOPROTO BSD	{ int kldnext(int fileid); }
458308	MNOPROTO BSD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
459309	MNOPROTO BSD	{ int kldfirstmod(int fileid); }
460310	MNOPROTO BSD	{ int getsid(pid_t pid); }
461311	MNOPROTO BSD	{ int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
462312	MNOPROTO BSD	{ int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
463313	OBSOL	NOHIDE	signanosleep
464314	UNIMPL	NOHIDE	aio_return
465315	UNIMPL	NOHIDE	aio_suspend
466316	UNIMPL	NOHIDE	aio_cancel
467317	UNIMPL	NOHIDE	aio_error
468318	UNIMPL	NOHIDE	aio_read
469319	UNIMPL	NOHIDE	aio_write
470320	UNIMPL	NOHIDE	lio_listio
471321	MNOPROTO BSD	{ int yield(void); }
472322	OBSOL	NOHIDE	thr_sleep
473323	OBSOL	NOHIDE	thr_wakeup
474324	MNOPROTO BSD	{ int mlockall(int how); }
475325	MNOPROTO BSD	{ int munlockall(void); }
476326	NOPROTO	BSD	{ int __getcwd(u_char *buf, u_int buflen); }
477
478327	MNOPROTO POSIX	{ int sched_setparam (pid_t pid, const struct sched_param *param); }
479328	MNOPROTO POSIX	{ int sched_getparam (pid_t pid, struct sched_param *param); }
480
481329	MNOPROTO POSIX	{ int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
482330	MNOPROTO POSIX	{ int sched_getscheduler (pid_t pid); }
483
484331	MNOPROTO POSIX	{ int sched_yield (void); }
485332	MNOPROTO POSIX	{ int sched_get_priority_max (int policy); }
486333	MNOPROTO POSIX	{ int sched_get_priority_min (int policy); }
487334	MNOPROTO POSIX	{ int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
488335	MNOPROTO BSD	{ int utrace(const void *addr, size_t len); }
489; XXX note - bigendian is different
490336	MCOMPAT4 BSD	{ int freebsd32_sendfile(int fd, int s, \
491			    u_int32_t offsetlo,u_int32_t offsethi, \
492			    size_t nbytes, struct sf_hdtr *hdtr, \
493			    off_t *sbytes, int flags); }
494337	NOPROTO	BSD	{ int kldsym(int fileid, int cmd, void *data); }
495338	MNOPROTO BSD	{ int jail(struct jail *jail); }
496339	UNIMPL	BSD	pioctl
497340	MNOPROTO POSIX	{ int sigprocmask(int how, const sigset_t *set, \
498			    sigset_t *oset); }
499341	MNOPROTO POSIX	{ int sigsuspend(const sigset_t *sigmask); }
500342	MCOMPAT4 POSIX	{ int freebsd32_sigaction(int sig, \
501			    struct sigaction32 *act, \
502			    struct sigaction32 *oact); }
503343	MNOPROTO POSIX	{ int sigpending(sigset_t *set); }
504344	MCOMPAT4 BSD	{ int freebsd32_sigreturn( \
505			    const struct __ucontext *sigcntxp); }
506; XXX implement
507345	UNIMPL	NOHIDE	sigtimedwait
508; XXX implement
509346	UNIMPL	NOHIDE	sigwaitinfo
510347	MNOPROTO BSD	{ int __acl_get_file(const char *path, \
511			    acl_type_t type, struct acl *aclp); }
512348	MNOPROTO BSD	{ int __acl_set_file(const char *path, \
513			    acl_type_t type, struct acl *aclp); }
514349	MNOPROTO BSD	{ int __acl_get_fd(int filedes, acl_type_t type, \
515			    struct acl *aclp); }
516350	MNOPROTO BSD	{ int __acl_set_fd(int filedes, acl_type_t type, \
517			    struct acl *aclp); }
518351	MNOPROTO BSD	{ int __acl_delete_file(const char *path, \
519			    acl_type_t type); }
520352	MNOPROTO BSD	{ int __acl_delete_fd(int filedes, acl_type_t type); }
521353	MNOPROTO BSD	{ int __acl_aclcheck_file(const char *path, \
522			    acl_type_t type, struct acl *aclp); }
523354	MNOPROTO BSD	{ int __acl_aclcheck_fd(int filedes, acl_type_t type, \
524			    struct acl *aclp); }
525355	NOPROTO	BSD	{ int extattrctl(const char *path, int cmd, \
526			    const char *filename, int attrnamespace, \
527			    const char *attrname); }
528356	NOPROTO	BSD	{ int extattr_set_file(const char *path, \
529			    int attrnamespace, const char *attrname, \
530			    void *data, size_t nbytes); }
531357	NOPROTO	BSD	{ ssize_t extattr_get_file(const char *path, \
532			    int attrnamespace, const char *attrname, \
533			    void *data, size_t nbytes); }
534358	NOPROTO	BSD	{ int extattr_delete_file(const char *path, \
535			    int attrnamespace, const char *attrname); }
536359	UNIMPL	NOHIDE	aio_waitcomplete
537360	MNOPROTO BSD	{ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
538361	MNOPROTO BSD	{ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
539362	MNOPROTO BSD	{ int kqueue(void); }
540363	MSTD BSD	{ int freebsd32_kevent(int fd, \
541			    const struct kevent *changelist, int nchanges, \
542			    struct kevent *eventlist, int nevents, \
543			    const struct timespec *timeout); }
544364	UNIMPL	NOHIDE	__cap_get_proc
545365	UNIMPL	NOHIDE	__cap_set_proc
546366	UNIMPL	NOHIDE	__cap_get_fd
547367	UNIMPL	NOHIDE	__cap_get_file
548368	UNIMPL	NOHIDE	__cap_set_fd
549369	UNIMPL	NOHIDE	__cap_set_file
550370	UNIMPL	NOHIDE	lkmressys
551371	NOPROTO	BSD	{ int extattr_set_fd(int fd, int attrnamespace, \
552			    const char *attrname, void *data, \
553			    size_t nbytes); }
554372	NOPROTO	BSD	{ ssize_t extattr_get_fd(int fd, int attrnamespace, \
555			    const char *attrname, void *data, size_t nbytes); }
556373	NOPROTO	BSD	{ int extattr_delete_fd(int fd, int attrnamespace, \
557			    const char *attrname); }
558374	MNOPROTO BSD	{ int __setugid(int flag); }
559375	UNIMPL	BSD	nfsclnt
560376	NOPROTO	BSD	{ int eaccess(char *path, int flags); }
561377	UNIMPL	BSD	afs_syscall
562378	NOPROTO	BSD	{ int nmount(struct iovec *iovp, unsigned int iovcnt, \
563			    int flags); }
564379	NOPROTO	BSD	{ int kse_exit(void); }
565380	NOPROTO	BSD	{ int kse_wakeup(struct kse_mailbox *mbx); }
566381	NOPROTO	BSD	{ int kse_create(struct kse_mailbox *mbx, \
567			    int newgroup); }
568382	NOPROTO	BSD	{ int kse_thr_interrupt(struct kse_thr_mailbox *tmbx); }
569383	NOPROTO	BSD	{ int kse_release(void); }
570384	UNIMPL	BSD	__mac_get_proc
571385	UNIMPL	BSD	__mac_set_proc
572386	UNIMPL	BSD	__mac_get_fd
573387	UNIMPL	BSD	__mac_get_file
574388	UNIMPL	BSD	__mac_set_fd
575389	UNIMPL	BSD	__mac_set_file
576390	NOPROTO	BSD	{ int kenv(int what, const char *name, char *value, \
577			    int len); }
578391	NOPROTO	BSD	{ int lchflags(const char *path, int flags); }
579392	NOPROTO	BSD	{ int uuidgen(struct uuid *store, int count); }
580393	MSTD	BSD	{ int freebsd32_sendfile(int fd, int s, \
581			    u_int32_t offsetlo, u_int32_t offsethi, \
582			    size_t nbytes, struct sf_hdtr *hdtr, \
583			    off_t *sbytes, int flags); }
584394	UNIMPL	NOHIDE	mac_syscall
585395	UNIMPL	NOHIDE	nosys
586396	UNIMPL	NOHIDE	nosys
587397	UNIMPL	NOHIDE	nosys
588398	UNIMPL	NOHIDE	nosys
589399	UNIMPL	NOHIDE	nosys
590; XXX implement these?
591400	UNIMPL	NOHIDE	ksem_close
592401	UNIMPL	NOHIDE	ksem_post
593402	UNIMPL	NOHIDE	ksem_wait
594403	UNIMPL	NOHIDE	ksem_trywait
595404	UNIMPL	NOHIDE	ksem_init
596405	UNIMPL	NOHIDE	ksem_open
597406	UNIMPL	NOHIDE	ksem_unlink
598407	UNIMPL	NOHIDE	ksem_getvalue
599408	UNIMPL	NOHIDE	ksem_destroy
600409	UNIMPL	BSD	__mac_get_pid
601410	UNIMPL	BSD	__mac_get_link
602411	UNIMPL	BSD	__mac_set_link
603412	UNIMPL	BSD	extattr_set_link
604413	UNIMPL	BSD	extattr_get_link
605414	UNIMPL	BSD	extattr_delete_link
606415	UNIMPL	BSD	__mac_execve
607416	STD POSIX	{ int freebsd32_sigaction(int sig, \
608			    struct sigaction32 *act, \
609			    struct sigaction32 *oact); }
610417	MSTD BSD	{ int freebsd32_sigreturn( \
611			    const struct freebsd32_ucontext *sigcntxp); }
612418	UNIMPL	BSD	__xstat
613419	UNIMPL	BSD	__xfstat
614420	UNIMPL	BSD	__xlstat
615; XXX implement
616421	UNIMPL	BSD	getcontext
617; XXX implement
618422	UNIMPL	BSD	setcontext
619; XXX implement
620423	UNIMPL	BSD	swapcontext
621424	UNIMPL	BSD	swapoff
622425	UNIMPL	BSD	__acl_get_link
623426	UNIMPL	BSD	__acl_set_link
624427	UNIMPL	BSD	__acl_delete_link
625428	UNIMPL	BSD	__acl_aclcheck_link
626; XXX implement
627429	UNIMPL	NOHIDE	sigwait
628430	MNOPROTO BSD	{ int thr_create(ucontext_t *ctx, thr_id_t *id, \
629			    int flag s); }
630431	MNOPROTO BSD	{ void thr_exit(void); }
631432	MNOPROTO BSD	{ int thr_self(thr_id_t *id); }
632433	MNOPROTO BSD	{ int thr_kill(thr_id_t id, int sig); }
633434	MNOPROTO BSD	{ int _umtx_lock(struct umtx *umtx); }
634435	MNOPROTO BSD	{ int _umtx_unlock(struct umtx *umtx); }
635436	MNOPROTO BSD	{ int jail_attach(int jid); }
636
637