syscalls.master revision 99855
1 $FreeBSD: head/sys/kern/syscalls.master 99855 2002-07-12 06:51:57Z alfred $
2;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
3;
4; System call name/number master file.
5; Processed to created init_sysent.c, syscalls.c and syscall.h.
6
7; Columns: number [M]type nargs namespc name alt{name,tag,rtyp}/comments
8;	number	system call number, must be in order
9;	type	one of [M]STD, [M]OBSOL, [M]UNIMPL, [M]COMPAT, [M]CPT_NOA,
10;		[M]LIBCOMPAT, [M]NODEF,  [M]NOARGS,  [M]NOPROTO,  [M]NOIMPL,
11;		[M]NOSTD, [M]COMPAT4
12;	namespc one of POSIX, BSD, NOHIDE
13;	name	psuedo-prototype of syscall routine
14;		If one of the following alts is different, then all appear:
15;	altname	name of system call if different
16;	alttag	name of args struct tag if different from [o]`name'"_args"
17;	altrtyp	return type if not int (bogus - syscalls always return int)
18;		for UNIMPL/OBSOL, name continues with comments
19
20; types:
21;	[M]	e.g. like MSTD -- means the system call is MP-safe.  If no
22;		M prefix is used, the syscall wrapper will obtain the Giant
23;		lock for the syscall.
24;	STD	always included
25;	COMPAT	included on COMPAT #ifdef
26;	COMPAT4	included on COMPAT4 #ifdef (FreeBSD 4 compat)
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
40; Reserved/unimplemented system calls in the range 0-150 inclusive
41; are reserved for use in future Berkeley releases.
42; Additional system calls implemented in vendor and other
43; redistributions should be placed in the reserved range at the end
44; of the current calls.
45
460	STD	NOHIDE	{ int nosys(void); } syscall nosys_args int
471	MSTD	NOHIDE	{ void sys_exit(int rval); } exit sys_exit_args void
482	MSTD	POSIX	{ int fork(void); }
493	MSTD	POSIX	{ ssize_t read(int fd, void *buf, size_t nbyte); }
504	MSTD	POSIX	{ ssize_t write(int fd, const void *buf, size_t nbyte); }
515	STD	POSIX	{ int open(char *path, int flags, int mode); }
52; XXX should be		{ int open(const char *path, int flags, ...); }
53; but we're not ready for `const' or varargs.
54; XXX man page says `mode_t mode'.
556	MSTD	POSIX	{ int close(int fd); }
567	MSTD	BSD	{ int wait4(int pid, int *status, int options, \
57			    struct rusage *rusage); } wait4 wait_args int
588	COMPAT	BSD	{ int creat(char *path, int mode); }
599	STD	POSIX	{ int link(char *path, char *link); }
6010	STD	POSIX	{ int unlink(char *path); }
6111	OBSOL	NOHIDE	execv
6212	STD	POSIX	{ int chdir(char *path); }
6313	STD	BSD	{ int fchdir(int fd); }
6414	STD	POSIX	{ int mknod(char *path, int mode, int dev); }
6515	STD	POSIX	{ int chmod(char *path, int mode); }
6616	STD	POSIX	{ int chown(char *path, int uid, int gid); }
6717	MSTD	BSD	{ int obreak(char *nsize); } break obreak_args int
6818	STD	BSD	{ int getfsstat(struct statfs *buf, long bufsize, \
69			    int flags); }
7019	COMPAT	POSIX	{ long lseek(int fd, long offset, int whence); }
7120	MSTD	POSIX	{ pid_t getpid(void); }
7221	STD	BSD	{ int mount(char *type, char *path, int flags, \
73			    caddr_t data); }
74; XXX `path' should have type `const char *' but we're not ready for that.
7522	STD	BSD	{ int unmount(char *path, int flags); }
7623	MSTD	POSIX	{ int setuid(uid_t uid); }
7724	MSTD	POSIX	{ uid_t getuid(void); }
7825	MSTD	POSIX	{ uid_t geteuid(void); }
7926	STD	BSD	{ int ptrace(int req, pid_t pid, caddr_t addr, \
80			    int data); }
8127	MSTD	BSD	{ int recvmsg(int s, struct msghdr *msg, int flags); }
8228	MSTD	BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
8329	MSTD	BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
84			    int flags, caddr_t from, int *fromlenaddr); }
8530	MSTD	BSD	{ int accept(int s, caddr_t name, int *anamelen); }
8631	MSTD	BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
8732	MSTD	BSD	{ int getsockname(int fdes, caddr_t asa, int *alen); }
8833	STD	POSIX	{ int access(char *path, int flags); }
8934	STD	BSD	{ int chflags(char *path, int flags); }
9035	STD	BSD	{ int fchflags(int fd, int flags); }
9136	STD	BSD	{ int sync(void); }
9237	MSTD	POSIX	{ int kill(int pid, int signum); }
9338	COMPAT	POSIX	{ int stat(char *path, struct ostat *ub); }
9439	MSTD	POSIX	{ pid_t getppid(void); }
9540	COMPAT	POSIX	{ int lstat(char *path, struct ostat *ub); }
9641	STD	POSIX	{ int dup(u_int fd); }
9742	STD	POSIX	{ int pipe(void); }
9843	MSTD	POSIX	{ gid_t getegid(void); }
9944	MSTD	BSD	{ int profil(caddr_t samples, size_t size, \
100			    size_t offset, u_int scale); }
10145	STD	BSD	{ int ktrace(const char *fname, int ops, int facs, \
102			    int pid); }
10346	MCOMPAT	POSIX	{ int sigaction(int signum, struct osigaction *nsa, \
104			    struct osigaction *osa); }
10547	MSTD	POSIX	{ gid_t getgid(void); }
10648	MCOMPAT	POSIX	{ int sigprocmask(int how, osigset_t mask); }
107; XXX note nonstandard (bogus) calling convention - the libc stub passes
108; us the mask, not a pointer to it, and we return the old mask as the
109; (int) return value.
11049	MSTD	BSD	{ int getlogin(char *namebuf, u_int namelen); }
11150	MSTD	BSD	{ int setlogin(char *namebuf); }
11251	MSTD	BSD	{ int acct(char *path); }
11352	MCOMPAT	POSIX	{ int sigpending(void); }
11453	MSTD	BSD	{ int sigaltstack(stack_t *ss, stack_t *oss); }
11554	MSTD	POSIX	{ int ioctl(int fd, u_long com, caddr_t data); }
11655	MSTD	BSD	{ int reboot(int opt); }
11756	STD	POSIX	{ int revoke(char *path); }
11857	STD	POSIX	{ int symlink(char *path, char *link); }
11958	STD	POSIX	{ int readlink(char *path, char *buf, int count); }
12059	MSTD	POSIX	{ int execve(char *fname, char **argv, char **envv); }
12160	MSTD	POSIX	{ int umask(int newmask); } umask umask_args int
12261	STD	BSD	{ int chroot(char *path); }
12362	MCOMPAT	POSIX	{ int fstat(int fd, struct ostat *sb); }
12463	MCOMPAT	BSD	{ int getkerninfo(int op, char *where, size_t *size, \
125			    int arg); } getkerninfo getkerninfo_args int
12664	MCOMPAT	BSD	{ int getpagesize(void); } \
127			    getpagesize getpagesize_args int
12865	STD	BSD	{ int msync(void *addr, size_t len, int flags); }
12966	MSTD	BSD	{ int vfork(void); }
13067	OBSOL	NOHIDE	vread
13168	OBSOL	NOHIDE	vwrite
13269	MSTD	BSD	{ int sbrk(int incr); }
13370	MSTD	BSD	{ int sstk(int incr); }
13471	MCOMPAT	BSD	{ int mmap(void *addr, int len, int prot, \
135			    int flags, int fd, long pos); }
13672	MSTD	BSD	{ int ovadvise(int anom); } vadvise ovadvise_args int
13773	MSTD	BSD	{ int munmap(void *addr, size_t len); }
13874	MSTD	BSD	{ int mprotect(const void *addr, size_t len, int prot); }
13975	MSTD	BSD	{ int madvise(void *addr, size_t len, int behav); }
14076	OBSOL	NOHIDE	vhangup
14177	OBSOL	NOHIDE	vlimit
14278	MSTD	BSD	{ int mincore(const void *addr, size_t len, \
143			    char *vec); }
14479	MSTD	POSIX	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
14580	MSTD	POSIX	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
14681	MSTD	POSIX	{ int getpgrp(void); }
14782	MSTD	POSIX	{ int setpgid(int pid, int pgid); }
14883	MSTD	BSD	{ int setitimer(u_int which, struct itimerval *itv, \
149			    struct itimerval *oitv); }
15084	MCOMPAT	BSD	{ int wait(void); }
15185	MSTD	BSD	{ int swapon(char *name); }
15286	MSTD	BSD	{ int getitimer(u_int which, struct itimerval *itv); }
15387	MCOMPAT	BSD	{ int gethostname(char *hostname, u_int len); } \
154			    gethostname gethostname_args int
15588	MCOMPAT	BSD	{ int sethostname(char *hostname, u_int len); } \
156			    sethostname sethostname_args int
15789	MSTD	BSD	{ int getdtablesize(void); }
15890	MSTD	POSIX	{ int dup2(u_int from, u_int to); }
15991	UNIMPL	BSD	getdopt
16092	MSTD	POSIX	{ int fcntl(int fd, int cmd, long arg); }
161; XXX should be		{ int fcntl(int fd, int cmd, ...); }
162; but we're not ready for varargs.
163; XXX man page says `int arg' too.
16493	MSTD	BSD	{ int select(int nd, fd_set *in, fd_set *ou, \
165			    fd_set *ex, struct timeval *tv); }
16694	UNIMPL	BSD	setdopt
16795	STD	POSIX	{ int fsync(int fd); }
16896	MSTD	BSD	{ int setpriority(int which, int who, int prio); }
16997	MSTD	BSD	{ int socket(int domain, int type, int protocol); }
17098	MSTD	BSD	{ int connect(int s, caddr_t name, int namelen); }
17199	MCPT_NOA BSD	{ int accept(int s, caddr_t name, int *anamelen); } \
172			    accept accept_args int
173100	MSTD	BSD	{ int getpriority(int which, int who); }
174101	MCOMPAT	BSD	{ int send(int s, caddr_t buf, int len, int flags); }
175102	MCOMPAT	BSD	{ int recv(int s, caddr_t buf, int len, int flags); }
176103	MSTD	BSD	{ int osigreturn(struct osigcontext *sigcntxp); }
177104	MSTD	BSD	{ int bind(int s, caddr_t name, int namelen); }
178105	MSTD	BSD	{ int setsockopt(int s, int level, int name, \
179			    caddr_t val, int valsize); }
180106	MSTD	BSD	{ int listen(int s, int backlog); }
181107	OBSOL	NOHIDE	vtimes
182108	MCOMPAT	BSD	{ int sigvec(int signum, struct sigvec *nsv, \
183			    struct sigvec *osv); }
184109	MCOMPAT	BSD	{ int sigblock(int mask); }
185110	MCOMPAT	BSD	{ int sigsetmask(int mask); }
186111	MCOMPAT	POSIX	{ int sigsuspend(osigset_t mask); }
187; XXX note nonstandard (bogus) calling convention - the libc stub passes
188; us the mask, not a pointer to it.
189112	MCOMPAT	BSD	{ int sigstack(struct sigstack *nss, \
190			    struct sigstack *oss); }
191113	MCOMPAT	BSD	{ int recvmsg(int s, struct omsghdr *msg, int flags); }
192114	MCOMPAT	BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
193115	OBSOL	NOHIDE	vtrace
194116	MSTD	BSD	{ int gettimeofday(struct timeval *tp, \
195			    struct timezone *tzp); }
196117	MSTD	BSD	{ int getrusage(int who, struct rusage *rusage); }
197118	MSTD	BSD	{ int getsockopt(int s, int level, int name, \
198			    caddr_t val, int *avalsize); }
199119	UNIMPL	NOHIDE	resuba (BSD/OS 2.x)
200120	MSTD	BSD	{ int readv(int fd, struct iovec *iovp, u_int iovcnt); }
201121	MSTD	BSD	{ int writev(int fd, struct iovec *iovp, \
202			    u_int iovcnt); }
203122	MSTD	BSD	{ int settimeofday(struct timeval *tv, \
204			    struct timezone *tzp); }
205123	STD	BSD	{ int fchown(int fd, int uid, int gid); }
206124	STD	BSD	{ int fchmod(int fd, int mode); }
207125	MCPT_NOA BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
208			    int flags, caddr_t from, int *fromlenaddr); } \
209			    recvfrom recvfrom_args int
210126	MSTD	BSD	{ int setreuid(int ruid, int euid); }
211127	MSTD	BSD	{ int setregid(int rgid, int egid); }
212128	STD	POSIX	{ int rename(char *from, char *to); }
213129	COMPAT	BSD	{ int truncate(char *path, long length); }
214130	COMPAT	BSD	{ int ftruncate(int fd, long length); }
215131	MSTD	BSD	{ int flock(int fd, int how); }
216132	STD	POSIX	{ int mkfifo(char *path, int mode); }
217133	MSTD	BSD	{ int sendto(int s, caddr_t buf, size_t len, \
218			    int flags, caddr_t to, int tolen); }
219134	MSTD	BSD	{ int shutdown(int s, int how); }
220135	MSTD	BSD	{ int socketpair(int domain, int type, int protocol, \
221			    int *rsv); }
222136	STD	POSIX	{ int mkdir(char *path, int mode); }
223137	STD	POSIX	{ int rmdir(char *path); }
224138	STD	BSD	{ int utimes(char *path, struct timeval *tptr); }
225139	OBSOL	NOHIDE	4.2 sigreturn
226140	MSTD	BSD	{ int adjtime(struct timeval *delta, \
227			    struct timeval *olddelta); }
228141	MCOMPAT	BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
229142	MCOMPAT	BSD	{ long gethostid(void); }
230143	MCOMPAT	BSD	{ int sethostid(long hostid); }
231144	MCOMPAT	BSD	{ int getrlimit(u_int which, struct orlimit *rlp); }
232145	MCOMPAT	BSD	{ int setrlimit(u_int which, struct orlimit *rlp); }
233146	MCOMPAT	BSD	{ int killpg(int pgid, int signum); }
234147	MSTD	POSIX	{ int setsid(void); }
235148	STD	BSD	{ int quotactl(char *path, int cmd, int uid, \
236			    caddr_t arg); }
237149	MCOMPAT	BSD	{ int quota(void); }
238150	MCPT_NOA BSD	{ int getsockname(int fdec, caddr_t asa, int *alen); }\
239			    getsockname getsockname_args int
240
241; Syscalls 151-180 inclusive are reserved for vendor-specific
242; system calls.  (This includes various calls added for compatibity
243; with other Unix variants.)
244; Some of these calls are now supported by BSD...
245151	UNIMPL	NOHIDE	sem_lock (BSD/OS 2.x)
246152	UNIMPL	NOHIDE	sem_wakeup (BSD/OS 2.x)
247153	UNIMPL	NOHIDE	asyncdaemon (BSD/OS 2.x)
248154	UNIMPL	NOHIDE	nosys
249; 155 is initialized by the NFS code, if present.
250155	MNOIMPL	BSD	{ int nfssvc(int flag, caddr_t argp); }
251156	COMPAT	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
252			    long *basep); }
253157	STD	BSD	{ int statfs(char *path, struct statfs *buf); }
254158	STD	BSD	{ int fstatfs(int fd, struct statfs *buf); }
255159	UNIMPL	NOHIDE	nosys
256160	UNIMPL	NOHIDE	nosys
257161	STD	BSD	{ int getfh(char *fname, struct fhandle *fhp); }
258162	MSTD	BSD	{ int getdomainname(char *domainname, int len); }
259163	MSTD	BSD	{ int setdomainname(char *domainname, int len); }
260164	MSTD	BSD	{ int uname(struct utsname *name); }
261165	STD	BSD	{ int sysarch(int op, char *parms); }
262166	MSTD	BSD	{ int rtprio(int function, pid_t pid, \
263			    struct rtprio *rtp); }
264167	UNIMPL	NOHIDE	nosys
265168	UNIMPL	NOHIDE	nosys
266; 169 is initialized by the SYSVSEM code if present or loaded
267169	MNOSTD	BSD	{ int semsys(int which, int a2, int a3, int a4, \
268			    int a5); }
269; 169 is initialized by the SYSVMSG code if present or loaded
270; XXX should be		{ int semsys(int which, ...); }
271170	MNOSTD	BSD	{ int msgsys(int which, int a2, int a3, int a4, \
272			    int a5, int a6); }
273; 169 is initialized by the SYSVSHM code if present or loaded
274; XXX should be		{ int msgsys(int which, ...); }
275171	MNOSTD	BSD	{ int shmsys(int which, int a2, int a3, int a4); }
276; XXX should be		{ int shmsys(int which, ...); }
277172	UNIMPL	NOHIDE	nosys
278173	MSTD	POSIX	{ ssize_t pread(int fd, void *buf, size_t nbyte, \
279			    int pad, off_t offset); }
280174	MSTD	POSIX	{ ssize_t pwrite(int fd, const void *buf, \
281			    size_t nbyte, int pad, off_t offset); }
282175	UNIMPL	NOHIDE	nosys
283176	MSTD	BSD	{ int ntp_adjtime(struct timex *tp); }
284177	UNIMPL	NOHIDE	sfork (BSD/OS 2.x)
285178	UNIMPL	NOHIDE	getdescriptor (BSD/OS 2.x)
286179	UNIMPL	NOHIDE	setdescriptor (BSD/OS 2.x)
287180	UNIMPL	NOHIDE	nosys
288
289; Syscalls 181-199 are used by/reserved for BSD
290181	MSTD	POSIX	{ int setgid(gid_t gid); }
291182	MSTD	BSD	{ int setegid(gid_t egid); }
292183	MSTD	BSD	{ int seteuid(uid_t euid); }
293184	UNIMPL	BSD	lfs_bmapv
294185	UNIMPL	BSD	lfs_markv
295186	UNIMPL	BSD	lfs_segclean
296187	UNIMPL	BSD	lfs_segwait
297188	STD	POSIX	{ int stat(char *path, struct stat *ub); }
298189	MSTD	POSIX	{ int fstat(int fd, struct stat *sb); }
299190	STD	POSIX	{ int lstat(char *path, struct stat *ub); }
300191	STD	POSIX	{ int pathconf(char *path, int name); }
301192	MSTD	POSIX	{ int fpathconf(int fd, int name); }
302193	UNIMPL	NOHIDE	nosys
303194	MSTD	BSD	{ int getrlimit(u_int which, \
304			    struct rlimit *rlp); } \
305			    getrlimit __getrlimit_args int
306195	MSTD	BSD	{ int setrlimit(u_int which, \
307			    struct rlimit *rlp); } \
308			    setrlimit __setrlimit_args int
309196	STD	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
310			    long *basep); }
311197	MSTD	BSD	{ caddr_t mmap(caddr_t addr, size_t len, int prot, \
312			    int flags, int fd, int pad, off_t pos); }
313198	STD	NOHIDE	{ int nosys(void); } __syscall __syscall_args int
314199	STD	POSIX	{ off_t lseek(int fd, int pad, off_t offset, \
315			    int whence); }
316200	STD	BSD	{ int truncate(char *path, int pad, off_t length); }
317201	STD	BSD	{ int ftruncate(int fd, int pad, off_t length); }
318202	MSTD	BSD	{ int __sysctl(int *name, u_int namelen, void *old, \
319			    size_t *oldlenp, void *new, size_t newlen); } \
320			    __sysctl sysctl_args int
321; properly, __sysctl should be a NOHIDE, but making an exception
322; here allows to avoid one in libc/sys/Makefile.inc.
323203	MSTD	BSD	{ int mlock(const void *addr, size_t len); }
324204	MSTD	BSD	{ int munlock(const void *addr, size_t len); }
325205	STD	BSD	{ int undelete(char *path); }
326206	STD	BSD	{ int futimes(int fd, struct timeval *tptr); }
327207	MSTD	BSD	{ int getpgid(pid_t pid); }
328208	UNIMPL	NOHIDE	newreboot (NetBSD)
329209	MSTD	BSD	{ int poll(struct pollfd *fds, u_int nfds, \
330			    int timeout); }
331
332;
333; The following are reserved for loadable syscalls
334;
335210	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
336211	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
337212	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
338213	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
339214	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
340215	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
341216	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
342217	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
343218	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
344219	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
345
346;
347; The following were introduced with NetBSD/4.4Lite-2
348; They are initialized by thier respective modules/sysinits
349220	MNOSTD	BSD	{ int __semctl(int semid, int semnum, int cmd, \
350			    union semun *arg); }
351221	MNOSTD	BSD	{ int semget(key_t key, int nsems, int semflg); }
352222	MNOSTD	BSD	{ int semop(int semid, struct sembuf *sops, \
353			    u_int nsops); }
354223	UNIMPL	NOHIDE	semconfig
355224	MNOSTD	BSD	{ int msgctl(int msqid, int cmd, \
356			    struct msqid_ds *buf); }
357225	MNOSTD	BSD	{ int msgget(key_t key, int msgflg); }
358226	MNOSTD	BSD	{ int msgsnd(int msqid, void *msgp, size_t msgsz, \
359			    int msgflg); }
360227	MNOSTD	BSD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
361			    long msgtyp, int msgflg); }
362228	MNOSTD	BSD	{ int shmat(int shmid, void *shmaddr, int shmflg); }
363229	MNOSTD	BSD	{ int shmctl(int shmid, int cmd, \
364			    struct shmid_ds *buf); }
365230	MNOSTD	BSD	{ int shmdt(void *shmaddr); }
366231	MNOSTD	BSD	{ int shmget(key_t key, int size, int shmflg); }
367;
368232	MSTD	POSIX	{ int clock_gettime(clockid_t clock_id, \
369			    struct timespec *tp); }
370233	MSTD	POSIX	{ int clock_settime(clockid_t clock_id, \
371			    const struct timespec *tp); }
372234	MSTD	POSIX	{ int clock_getres(clockid_t clock_id, \
373			    struct timespec *tp); }
374235	UNIMPL	NOHIDE	timer_create
375236	UNIMPL	NOHIDE	timer_delete
376237	UNIMPL	NOHIDE	timer_settime
377238	UNIMPL	NOHIDE	timer_gettime
378239	UNIMPL	NOHIDE	timer_getoverrun
379240	MSTD	POSIX	{ int nanosleep(const struct timespec *rqtp, \
380			    struct timespec *rmtp); }
381241	UNIMPL	NOHIDE	nosys
382242	UNIMPL	NOHIDE	nosys
383243	UNIMPL	NOHIDE	nosys
384244	UNIMPL	NOHIDE	nosys
385245	UNIMPL	NOHIDE	nosys
386246	UNIMPL	NOHIDE	nosys
387247	UNIMPL	NOHIDE	nosys
388248	UNIMPL	NOHIDE	nosys
389249	UNIMPL	NOHIDE	nosys
390; syscall numbers initially used in OpenBSD
391250	MSTD	BSD	{ int minherit(void *addr, size_t len, int inherit); }
392251	MSTD	BSD	{ int rfork(int flags); }
393252	MSTD	BSD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
394			    int timeout); }
395253	STD	BSD	{ int issetugid(void); }
396254	STD	BSD	{ int lchown(char *path, int uid, int gid); }
397255	UNIMPL	NOHIDE	nosys
398256	UNIMPL	NOHIDE	nosys
399257	UNIMPL	NOHIDE	nosys
400258	UNIMPL	NOHIDE	nosys
401259	UNIMPL	NOHIDE	nosys
402260	UNIMPL	NOHIDE	nosys
403261	UNIMPL	NOHIDE	nosys
404262	UNIMPL	NOHIDE	nosys
405263	UNIMPL	NOHIDE	nosys
406264	UNIMPL	NOHIDE	nosys
407265	UNIMPL	NOHIDE	nosys
408266	UNIMPL	NOHIDE	nosys
409267	UNIMPL	NOHIDE	nosys
410268	UNIMPL	NOHIDE	nosys
411269	UNIMPL	NOHIDE	nosys
412270	UNIMPL	NOHIDE	nosys
413271	UNIMPL	NOHIDE	nosys
414272	STD	BSD	{ int getdents(int fd, char *buf, size_t count); }
415273	UNIMPL	NOHIDE	nosys
416274	STD	BSD	{ int lchmod(char *path, mode_t mode); }
417275	NOPROTO BSD	{ int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int
418276	STD	BSD	{ int lutimes(char *path, struct timeval *tptr); }
419277	MNOPROTO BSD	{ int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int
420278	STD	BSD	{ int nstat(char *path, struct nstat *ub); }
421279	MSTD	BSD	{ int nfstat(int fd, struct nstat *sb); }
422280	STD	BSD	{ int nlstat(char *path, struct nstat *ub); }
423281	UNIMPL	NOHIDE	nosys
424282	UNIMPL	NOHIDE	nosys
425283	UNIMPL	NOHIDE	nosys
426284	UNIMPL	NOHIDE	nosys
427285	UNIMPL	NOHIDE	nosys
428286	UNIMPL	NOHIDE	nosys
429287	UNIMPL	NOHIDE	nosys
430288	UNIMPL	NOHIDE	nosys
431289	UNIMPL	NOHIDE	nosys
432290	UNIMPL	NOHIDE	nosys
433291	UNIMPL	NOHIDE	nosys
434292	UNIMPL	NOHIDE	nosys
435293	UNIMPL	NOHIDE	nosys
436294	UNIMPL	NOHIDE	nosys
437295	UNIMPL	NOHIDE	nosys
438296	UNIMPL	NOHIDE	nosys
439; XXX 297 is 300 in NetBSD 
440297	STD	BSD	{ int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
441298	STD	BSD	{ int fhopen(const struct fhandle *u_fhp, int flags); }
442299	STD	BSD 	{ int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
443; syscall numbers for FreeBSD
444300	MSTD	BSD	{ int modnext(int modid); }
445301	MSTD	BSD	{ int modstat(int modid, struct module_stat* stat); }
446302	MSTD	BSD	{ int modfnext(int modid); }
447303	MSTD	BSD	{ int modfind(const char *name); }
448304	MSTD	BSD	{ int kldload(const char *file); }
449305	MSTD	BSD	{ int kldunload(int fileid); }
450306	MSTD	BSD	{ int kldfind(const char *file); }
451307	MSTD	BSD	{ int kldnext(int fileid); }
452308	MSTD	BSD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
453309	MSTD	BSD	{ int kldfirstmod(int fileid); }
454310	MSTD	BSD	{ int getsid(pid_t pid); }
455311	MSTD	BSD	{ int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
456312	MSTD	BSD	{ int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
457313	OBSOL	NOHIDE	signanosleep
458314     NOSTD   BSD     { int aio_return(struct aiocb *aiocbp); }
459315     NOSTD   BSD     { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
460316     NOSTD   BSD     { int aio_cancel(int fd, struct aiocb *aiocbp); }
461317     NOSTD   BSD     { int aio_error(struct aiocb *aiocbp); }
462318     NOSTD   BSD     { int aio_read(struct aiocb *aiocbp); }
463319     NOSTD   BSD     { int aio_write(struct aiocb *aiocbp); }
464320     NOSTD   BSD     { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
465321     MSTD	BSD     { int yield(void); }
466322	OBSOL	NOHIDE	thr_sleep
467323	OBSOL	NOHIDE	thr_wakeup
468324     MSTD	BSD     { int mlockall(int how); }
469325     MSTD	BSD     { int munlockall(void); }
470326     STD     BSD     { int __getcwd(u_char *buf, u_int buflen); }
471
472327     MSTD     POSIX   { int sched_setparam (pid_t pid, const struct sched_param *param); }
473328     MSTD     POSIX   { int sched_getparam (pid_t pid, struct sched_param *param); }
474
475329     MSTD     POSIX   { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
476330     MSTD     POSIX   { int sched_getscheduler (pid_t pid); }
477
478331     MSTD     POSIX   { int sched_yield (void); }
479332     MSTD     POSIX   { int sched_get_priority_max (int policy); }
480333     MSTD     POSIX   { int sched_get_priority_min (int policy); }
481334     MSTD     POSIX   { int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
482335	STD	BSD	{ int utrace(const void *addr, size_t len); }
483336	MCOMPAT4	BSD	{ int sendfile(int fd, int s, off_t offset, size_t nbytes, \
484				struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
485337	STD	BSD	{ int kldsym(int fileid, int cmd, void *data); }
486338	MSTD	BSD	{ int jail(struct jail *jail); }
487339	UNIMPL	BSD	pioctl
488340	MSTD	POSIX	{ int sigprocmask(int how, const sigset_t *set, \
489			    sigset_t *oset); }
490341	MSTD	POSIX	{ int sigsuspend(const sigset_t *sigmask); }
491342	MSTD	POSIX	{ int sigaction(int sig, const struct sigaction *act, \
492			    struct sigaction *oact); }
493343	MSTD	POSIX	{ int sigpending(sigset_t *set); }
494344	MSTD	BSD	{ int sigreturn(const struct __ucontext *sigcntxp); }
495345	UNIMPL	NOHIDE	sigtimedwait
496346	UNIMPL	NOHIDE	sigwaitinfo
497347	MSTD	BSD	{ int __acl_get_file(const char *path, \
498			    acl_type_t type, struct acl *aclp); }
499348	MSTD	BSD	{ int __acl_set_file(const char *path, \
500			    acl_type_t type, struct acl *aclp); }
501349	MSTD	BSD	{ int __acl_get_fd(int filedes, acl_type_t type, \
502			    struct acl *aclp); }
503350	MSTD	BSD	{ int __acl_set_fd(int filedes, acl_type_t type, \
504			    struct acl *aclp); }
505351	MSTD	BSD	{ int __acl_delete_file(const char *path, \
506			    acl_type_t type); }
507352	MSTD	BSD	{ int __acl_delete_fd(int filedes, acl_type_t type); }
508353	MSTD	BSD	{ int __acl_aclcheck_file(const char *path, \
509			    acl_type_t type, struct acl *aclp); }
510354	MSTD	BSD	{ int __acl_aclcheck_fd(int filedes, acl_type_t type, \
511			    struct acl *aclp); }
512355	STD	BSD	{ int extattrctl(const char *path, int cmd, \
513			    const char *filename, int attrnamespace, \
514			    const char *attrname); }
515356	STD	BSD	{ int extattr_set_file(const char *path, \
516			    int attrnamespace, const char *attrname, \
517			    void *data, size_t nbytes); }
518357	STD	BSD	{ ssize_t extattr_get_file(const char *path, \
519			    int attrnamespace, const char *attrname, \
520			    void *data, size_t nbytes); }
521358	STD	BSD	{ int extattr_delete_file(const char *path, \
522			    int attrnamespace, const char *attrname); }
523359	NOSTD	BSD	{ int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); }
524360	MSTD	BSD	{ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
525361	MSTD	BSD	{ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
526362	MSTD	BSD	{ int kqueue(void); }
527363	MSTD	BSD	{ int kevent(int fd, \
528			    const struct kevent *changelist, int nchanges, \
529			    struct kevent *eventlist, int nevents, \
530			    const struct timespec *timeout); }
531364	UNIMPL	BSD	__cap_get_proc
532365	UNIMPL	BSD	__cap_set_proc
533366	UNIMPL	BSD	__cap_get_fd
534367	UNIMPL	BSD	__cap_get_file
535368	UNIMPL	BSD	__cap_set_fd
536369	UNIMPL	BSD	__cap_set_file
537370	NODEF	NOHIDE	lkmressys lkmressys nosys_args int
538371	STD	BSD	{ int extattr_set_fd(int fd, int attrnamespace, \
539			    const char *attrname, void *data, \
540			    size_t nbytes); }
541372	STD	BSD	{ ssize_t extattr_get_fd(int fd, int attrnamespace, \
542			    const char *attrname, void *data, size_t nbytes); }
543373	STD	BSD	{ int extattr_delete_fd(int fd, int attrnamespace, \
544			    const char *attrname); }
545374	MSTD	BSD	{ int __setugid(int flag); }
546375	NOIMPL	BSD	{ int nfsclnt(int flag, caddr_t argp); }
547376	STD	BSD	{ int eaccess(char *path, int flags); }
548377	UNIMPL	BSD	afs_syscall
549378	STD	BSD	{ int nmount(struct iovec *iovp, unsigned int iovcnt, \
550			    int flags); }
551379	STD	BSD	{ int kse_exit(void); }
552380	STD	BSD	{ int kse_wakeup(void); }
553381	STD	BSD	{ int kse_new(struct kse_mailbox * mbx, \
554			int new_grp_flag); }
555382	STD	BSD	{ int thread_wakeup(struct thread_mailbox *tmbx); }
556383	MSTD	BSD	{ int kse_yield(void); }
557384	UNIMPL	BSD	__mac_get_proc
558385	UNIMPL	BSD	__mac_set_proc
559386	UNIMPL	BSD	__mac_get_fd
560387	UNIMPL	BSD	__mac_get_file
561388	UNIMPL	BSD	__mac_set_fd
562389	UNIMPL	BSD	__mac_set_file
563390	STD	BSD	{ int kenv(int what, const char *name, char *value, \
564			    int len); }
565391	STD	BSD	{ int lchflags(const char *path, int flags); }
566392	STD	BSD	{ int uuidgen(struct uuid *store, int count); }
567393	MSTD	BSD	{ int sendfile(int fd, int s, off_t offset, size_t nbytes, \
568				struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
569