syscalls.master revision 102132
1 $FreeBSD: head/sys/kern/syscalls.master 102132 2002-08-19 20:01:31Z rwatson $
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.
16393	MSTD	BSD	{ int select(int nd, fd_set *in, fd_set *ou, \
164			    fd_set *ex, struct timeval *tv); }
16594	UNIMPL	BSD	setdopt
16695	STD	POSIX	{ int fsync(int fd); }
16796	MSTD	BSD	{ int setpriority(int which, int who, int prio); }
16897	MSTD	BSD	{ int socket(int domain, int type, int protocol); }
16998	MSTD	BSD	{ int connect(int s, caddr_t name, int namelen); }
17099	MCPT_NOA BSD	{ int accept(int s, caddr_t name, int *anamelen); } \
171			    accept accept_args int
172100	MSTD	BSD	{ int getpriority(int which, int who); }
173101	MCOMPAT	BSD	{ int send(int s, caddr_t buf, int len, int flags); }
174102	MCOMPAT	BSD	{ int recv(int s, caddr_t buf, int len, int flags); }
175103	MSTD	BSD	{ int osigreturn(struct osigcontext *sigcntxp); }
176104	MSTD	BSD	{ int bind(int s, caddr_t name, int namelen); }
177105	MSTD	BSD	{ int setsockopt(int s, int level, int name, \
178			    caddr_t val, int valsize); }
179106	MSTD	BSD	{ int listen(int s, int backlog); }
180107	OBSOL	NOHIDE	vtimes
181108	MCOMPAT	BSD	{ int sigvec(int signum, struct sigvec *nsv, \
182			    struct sigvec *osv); }
183109	MCOMPAT	BSD	{ int sigblock(int mask); }
184110	MCOMPAT	BSD	{ int sigsetmask(int mask); }
185111	MCOMPAT	POSIX	{ int sigsuspend(osigset_t mask); }
186; XXX note nonstandard (bogus) calling convention - the libc stub passes
187; us the mask, not a pointer to it.
188112	MCOMPAT	BSD	{ int sigstack(struct sigstack *nss, \
189			    struct sigstack *oss); }
190113	MCOMPAT	BSD	{ int recvmsg(int s, struct omsghdr *msg, int flags); }
191114	MCOMPAT	BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
192115	OBSOL	NOHIDE	vtrace
193116	MSTD	BSD	{ int gettimeofday(struct timeval *tp, \
194			    struct timezone *tzp); }
195117	MSTD	BSD	{ int getrusage(int who, struct rusage *rusage); }
196118	MSTD	BSD	{ int getsockopt(int s, int level, int name, \
197			    caddr_t val, int *avalsize); }
198119	UNIMPL	NOHIDE	resuba (BSD/OS 2.x)
199120	MSTD	BSD	{ int readv(int fd, struct iovec *iovp, u_int iovcnt); }
200121	MSTD	BSD	{ int writev(int fd, struct iovec *iovp, \
201			    u_int iovcnt); }
202122	MSTD	BSD	{ int settimeofday(struct timeval *tv, \
203			    struct timezone *tzp); }
204123	STD	BSD	{ int fchown(int fd, int uid, int gid); }
205124	STD	BSD	{ int fchmod(int fd, int mode); }
206125	MCPT_NOA BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
207			    int flags, caddr_t from, int *fromlenaddr); } \
208			    recvfrom recvfrom_args int
209126	MSTD	BSD	{ int setreuid(int ruid, int euid); }
210127	MSTD	BSD	{ int setregid(int rgid, int egid); }
211128	STD	POSIX	{ int rename(char *from, char *to); }
212129	COMPAT	BSD	{ int truncate(char *path, long length); }
213130	COMPAT	BSD	{ int ftruncate(int fd, long length); }
214131	MSTD	BSD	{ int flock(int fd, int how); }
215132	STD	POSIX	{ int mkfifo(char *path, int mode); }
216133	MSTD	BSD	{ int sendto(int s, caddr_t buf, size_t len, \
217			    int flags, caddr_t to, int tolen); }
218134	MSTD	BSD	{ int shutdown(int s, int how); }
219135	MSTD	BSD	{ int socketpair(int domain, int type, int protocol, \
220			    int *rsv); }
221136	STD	POSIX	{ int mkdir(char *path, int mode); }
222137	STD	POSIX	{ int rmdir(char *path); }
223138	STD	BSD	{ int utimes(char *path, struct timeval *tptr); }
224139	OBSOL	NOHIDE	4.2 sigreturn
225140	MSTD	BSD	{ int adjtime(struct timeval *delta, \
226			    struct timeval *olddelta); }
227141	MCOMPAT	BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
228142	MCOMPAT	BSD	{ long gethostid(void); }
229143	MCOMPAT	BSD	{ int sethostid(long hostid); }
230144	MCOMPAT	BSD	{ int getrlimit(u_int which, struct orlimit *rlp); }
231145	MCOMPAT	BSD	{ int setrlimit(u_int which, struct orlimit *rlp); }
232146	MCOMPAT	BSD	{ int killpg(int pgid, int signum); }
233147	MSTD	POSIX	{ int setsid(void); }
234148	STD	BSD	{ int quotactl(char *path, int cmd, int uid, \
235			    caddr_t arg); }
236149	MCOMPAT	BSD	{ int quota(void); }
237150	MCPT_NOA BSD	{ int getsockname(int fdec, caddr_t asa, int *alen); }\
238			    getsockname getsockname_args int
239
240; Syscalls 151-180 inclusive are reserved for vendor-specific
241; system calls.  (This includes various calls added for compatibity
242; with other Unix variants.)
243; Some of these calls are now supported by BSD...
244151	UNIMPL	NOHIDE	sem_lock (BSD/OS 2.x)
245152	UNIMPL	NOHIDE	sem_wakeup (BSD/OS 2.x)
246153	UNIMPL	NOHIDE	asyncdaemon (BSD/OS 2.x)
247154	UNIMPL	NOHIDE	nosys
248; 155 is initialized by the NFS code, if present.
249155	MNOIMPL	BSD	{ int nfssvc(int flag, caddr_t argp); }
250156	COMPAT	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
251			    long *basep); }
252157	STD	BSD	{ int statfs(char *path, struct statfs *buf); }
253158	STD	BSD	{ int fstatfs(int fd, struct statfs *buf); }
254159	UNIMPL	NOHIDE	nosys
255160	UNIMPL	NOHIDE	nosys
256161	STD	BSD	{ int getfh(char *fname, struct fhandle *fhp); }
257162	MSTD	BSD	{ int getdomainname(char *domainname, int len); }
258163	MSTD	BSD	{ int setdomainname(char *domainname, int len); }
259164	MSTD	BSD	{ int uname(struct utsname *name); }
260165	STD	BSD	{ int sysarch(int op, char *parms); }
261166	MSTD	BSD	{ int rtprio(int function, pid_t pid, \
262			    struct rtprio *rtp); }
263167	UNIMPL	NOHIDE	nosys
264168	UNIMPL	NOHIDE	nosys
265; 169 is initialized by the SYSVSEM code if present or loaded
266169	MNOSTD	BSD	{ int semsys(int which, int a2, int a3, int a4, \
267			    int a5); }
268; 169 is initialized by the SYSVMSG code if present or loaded
269; XXX should be		{ int semsys(int which, ...); }
270170	MNOSTD	BSD	{ int msgsys(int which, int a2, int a3, int a4, \
271			    int a5, int a6); }
272; 169 is initialized by the SYSVSHM code if present or loaded
273; XXX should be		{ int msgsys(int which, ...); }
274171	MNOSTD	BSD	{ int shmsys(int which, int a2, int a3, int a4); }
275; XXX should be		{ int shmsys(int which, ...); }
276172	UNIMPL	NOHIDE	nosys
277173	MSTD	POSIX	{ ssize_t pread(int fd, void *buf, size_t nbyte, \
278			    int pad, off_t offset); }
279174	MSTD	POSIX	{ ssize_t pwrite(int fd, const void *buf, \
280			    size_t nbyte, int pad, off_t offset); }
281175	UNIMPL	NOHIDE	nosys
282176	MSTD	BSD	{ int ntp_adjtime(struct timex *tp); }
283177	UNIMPL	NOHIDE	sfork (BSD/OS 2.x)
284178	UNIMPL	NOHIDE	getdescriptor (BSD/OS 2.x)
285179	UNIMPL	NOHIDE	setdescriptor (BSD/OS 2.x)
286180	UNIMPL	NOHIDE	nosys
287
288; Syscalls 181-199 are used by/reserved for BSD
289181	MSTD	POSIX	{ int setgid(gid_t gid); }
290182	MSTD	BSD	{ int setegid(gid_t egid); }
291183	MSTD	BSD	{ int seteuid(uid_t euid); }
292184	UNIMPL	BSD	lfs_bmapv
293185	UNIMPL	BSD	lfs_markv
294186	UNIMPL	BSD	lfs_segclean
295187	UNIMPL	BSD	lfs_segwait
296188	STD	POSIX	{ int stat(char *path, struct stat *ub); }
297189	MSTD	POSIX	{ int fstat(int fd, struct stat *sb); }
298190	STD	POSIX	{ int lstat(char *path, struct stat *ub); }
299191	STD	POSIX	{ int pathconf(char *path, int name); }
300192	MSTD	POSIX	{ int fpathconf(int fd, int name); }
301193	UNIMPL	NOHIDE	nosys
302194	MSTD	BSD	{ int getrlimit(u_int which, \
303			    struct rlimit *rlp); } \
304			    getrlimit __getrlimit_args int
305195	MSTD	BSD	{ int setrlimit(u_int which, \
306			    struct rlimit *rlp); } \
307			    setrlimit __setrlimit_args int
308196	STD	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
309			    long *basep); }
310197	MSTD	BSD	{ caddr_t mmap(caddr_t addr, size_t len, int prot, \
311			    int flags, int fd, int pad, off_t pos); }
312198	STD	NOHIDE	{ int nosys(void); } __syscall __syscall_args int
313199	STD	POSIX	{ off_t lseek(int fd, int pad, off_t offset, \
314			    int whence); }
315200	STD	BSD	{ int truncate(char *path, int pad, off_t length); }
316201	STD	BSD	{ int ftruncate(int fd, int pad, off_t length); }
317202	MSTD	BSD	{ int __sysctl(int *name, u_int namelen, void *old, \
318			    size_t *oldlenp, void *new, size_t newlen); } \
319			    __sysctl sysctl_args int
320; properly, __sysctl should be a NOHIDE, but making an exception
321; here allows to avoid one in libc/sys/Makefile.inc.
322203	MSTD	BSD	{ int mlock(const void *addr, size_t len); }
323204	MSTD	BSD	{ int munlock(const void *addr, size_t len); }
324205	STD	BSD	{ int undelete(char *path); }
325206	STD	BSD	{ int futimes(int fd, struct timeval *tptr); }
326207	MSTD	BSD	{ int getpgid(pid_t pid); }
327208	UNIMPL	NOHIDE	newreboot (NetBSD)
328209	MSTD	BSD	{ int poll(struct pollfd *fds, u_int nfds, \
329			    int timeout); }
330
331;
332; The following are reserved for loadable syscalls
333;
334210	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
335211	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
336212	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
337213	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
338214	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
339215	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
340216	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
341217	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
342218	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
343219	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
344
345;
346; The following were introduced with NetBSD/4.4Lite-2
347; They are initialized by thier respective modules/sysinits
348220	MNOSTD	BSD	{ int __semctl(int semid, int semnum, int cmd, \
349			    union semun *arg); }
350221	MNOSTD	BSD	{ int semget(key_t key, int nsems, int semflg); }
351222	MNOSTD	BSD	{ int semop(int semid, struct sembuf *sops, \
352			    u_int nsops); }
353223	UNIMPL	NOHIDE	semconfig
354224	MNOSTD	BSD	{ int msgctl(int msqid, int cmd, \
355			    struct msqid_ds *buf); }
356225	MNOSTD	BSD	{ int msgget(key_t key, int msgflg); }
357226	MNOSTD	BSD	{ int msgsnd(int msqid, void *msgp, size_t msgsz, \
358			    int msgflg); }
359227	MNOSTD	BSD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
360			    long msgtyp, int msgflg); }
361228	MNOSTD	BSD	{ int shmat(int shmid, void *shmaddr, int shmflg); }
362229	MNOSTD	BSD	{ int shmctl(int shmid, int cmd, \
363			    struct shmid_ds *buf); }
364230	MNOSTD	BSD	{ int shmdt(void *shmaddr); }
365231	MNOSTD	BSD	{ int shmget(key_t key, int size, int shmflg); }
366;
367232	MSTD	POSIX	{ int clock_gettime(clockid_t clock_id, \
368			    struct timespec *tp); }
369233	MSTD	POSIX	{ int clock_settime(clockid_t clock_id, \
370			    const struct timespec *tp); }
371234	MSTD	POSIX	{ int clock_getres(clockid_t clock_id, \
372			    struct timespec *tp); }
373235	UNIMPL	NOHIDE	timer_create
374236	UNIMPL	NOHIDE	timer_delete
375237	UNIMPL	NOHIDE	timer_settime
376238	UNIMPL	NOHIDE	timer_gettime
377239	UNIMPL	NOHIDE	timer_getoverrun
378240	MSTD	POSIX	{ int nanosleep(const struct timespec *rqtp, \
379			    struct timespec *rmtp); }
380241	UNIMPL	NOHIDE	nosys
381242	UNIMPL	NOHIDE	nosys
382243	UNIMPL	NOHIDE	nosys
383244	UNIMPL	NOHIDE	nosys
384245	UNIMPL	NOHIDE	nosys
385246	UNIMPL	NOHIDE	nosys
386247	UNIMPL	NOHIDE	nosys
387248	UNIMPL	NOHIDE	nosys
388249	UNIMPL	NOHIDE	nosys
389; syscall numbers initially used in OpenBSD
390250	MSTD	BSD	{ int minherit(void *addr, size_t len, int inherit); }
391251	MSTD	BSD	{ int rfork(int flags); }
392252	MSTD	BSD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
393			    int timeout); }
394253	STD	BSD	{ int issetugid(void); }
395254	STD	BSD	{ int lchown(char *path, int uid, int gid); }
396255	UNIMPL	NOHIDE	nosys
397256	UNIMPL	NOHIDE	nosys
398257	UNIMPL	NOHIDE	nosys
399258	UNIMPL	NOHIDE	nosys
400259	UNIMPL	NOHIDE	nosys
401260	UNIMPL	NOHIDE	nosys
402261	UNIMPL	NOHIDE	nosys
403262	UNIMPL	NOHIDE	nosys
404263	UNIMPL	NOHIDE	nosys
405264	UNIMPL	NOHIDE	nosys
406265	UNIMPL	NOHIDE	nosys
407266	UNIMPL	NOHIDE	nosys
408267	UNIMPL	NOHIDE	nosys
409268	UNIMPL	NOHIDE	nosys
410269	UNIMPL	NOHIDE	nosys
411270	UNIMPL	NOHIDE	nosys
412271	UNIMPL	NOHIDE	nosys
413272	STD	BSD	{ int getdents(int fd, char *buf, size_t count); }
414273	UNIMPL	NOHIDE	nosys
415274	STD	BSD	{ int lchmod(char *path, mode_t mode); }
416275	NOPROTO BSD	{ int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int
417276	STD	BSD	{ int lutimes(char *path, struct timeval *tptr); }
418277	MNOPROTO BSD	{ int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int
419278	STD	BSD	{ int nstat(char *path, struct nstat *ub); }
420279	MSTD	BSD	{ int nfstat(int fd, struct nstat *sb); }
421280	STD	BSD	{ int nlstat(char *path, struct nstat *ub); }
422281	UNIMPL	NOHIDE	nosys
423282	UNIMPL	NOHIDE	nosys
424283	UNIMPL	NOHIDE	nosys
425284	UNIMPL	NOHIDE	nosys
426285	UNIMPL	NOHIDE	nosys
427286	UNIMPL	NOHIDE	nosys
428287	UNIMPL	NOHIDE	nosys
429288	UNIMPL	NOHIDE	nosys
430289	UNIMPL	NOHIDE	nosys
431290	UNIMPL	NOHIDE	nosys
432291	UNIMPL	NOHIDE	nosys
433292	UNIMPL	NOHIDE	nosys
434293	UNIMPL	NOHIDE	nosys
435294	UNIMPL	NOHIDE	nosys
436295	UNIMPL	NOHIDE	nosys
437296	UNIMPL	NOHIDE	nosys
438; XXX 297 is 300 in NetBSD 
439297	STD	BSD	{ int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
440298	STD	BSD	{ int fhopen(const struct fhandle *u_fhp, int flags); }
441299	STD	BSD 	{ int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
442; syscall numbers for FreeBSD
443300	MSTD	BSD	{ int modnext(int modid); }
444301	MSTD	BSD	{ int modstat(int modid, struct module_stat* stat); }
445302	MSTD	BSD	{ int modfnext(int modid); }
446303	MSTD	BSD	{ int modfind(const char *name); }
447304	MSTD	BSD	{ int kldload(const char *file); }
448305	MSTD	BSD	{ int kldunload(int fileid); }
449306	MSTD	BSD	{ int kldfind(const char *file); }
450307	MSTD	BSD	{ int kldnext(int fileid); }
451308	MSTD	BSD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
452309	MSTD	BSD	{ int kldfirstmod(int fileid); }
453310	MSTD	BSD	{ int getsid(pid_t pid); }
454311	MSTD	BSD	{ int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
455312	MSTD	BSD	{ int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
456313	OBSOL	NOHIDE	signanosleep
457314     NOSTD   BSD     { int aio_return(struct aiocb *aiocbp); }
458315     NOSTD   BSD     { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
459316     NOSTD   BSD     { int aio_cancel(int fd, struct aiocb *aiocbp); }
460317     NOSTD   BSD     { int aio_error(struct aiocb *aiocbp); }
461318     NOSTD   BSD     { int aio_read(struct aiocb *aiocbp); }
462319     NOSTD   BSD     { int aio_write(struct aiocb *aiocbp); }
463320     NOSTD   BSD     { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
464321     MSTD	BSD     { int yield(void); }
465322	OBSOL	NOHIDE	thr_sleep
466323	OBSOL	NOHIDE	thr_wakeup
467324     MSTD	BSD     { int mlockall(int how); }
468325     MSTD	BSD     { int munlockall(void); }
469326     STD     BSD     { int __getcwd(u_char *buf, u_int buflen); }
470
471327     MSTD     POSIX   { int sched_setparam (pid_t pid, const struct sched_param *param); }
472328     MSTD     POSIX   { int sched_getparam (pid_t pid, struct sched_param *param); }
473
474329     MSTD     POSIX   { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
475330     MSTD     POSIX   { int sched_getscheduler (pid_t pid); }
476
477331     MSTD     POSIX   { int sched_yield (void); }
478332     MSTD     POSIX   { int sched_get_priority_max (int policy); }
479333     MSTD     POSIX   { int sched_get_priority_min (int policy); }
480334     MSTD     POSIX   { int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
481335	STD	BSD	{ int utrace(const void *addr, size_t len); }
482336	MCOMPAT4	BSD	{ int sendfile(int fd, int s, off_t offset, size_t nbytes, \
483				struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
484337	STD	BSD	{ int kldsym(int fileid, int cmd, void *data); }
485338	MSTD	BSD	{ int jail(struct jail *jail); }
486339	UNIMPL	BSD	pioctl
487340	MSTD	POSIX	{ int sigprocmask(int how, const sigset_t *set, \
488			    sigset_t *oset); }
489341	MSTD	POSIX	{ int sigsuspend(const sigset_t *sigmask); }
490342	MSTD	POSIX	{ int sigaction(int sig, const struct sigaction *act, \
491			    struct sigaction *oact); }
492343	MSTD	POSIX	{ int sigpending(sigset_t *set); }
493344	MSTD	BSD	{ int sigreturn(const struct __ucontext *sigcntxp); }
494345	UNIMPL	NOHIDE	sigtimedwait
495346	UNIMPL	NOHIDE	sigwaitinfo
496347	MSTD	BSD	{ int __acl_get_file(const char *path, \
497			    acl_type_t type, struct acl *aclp); }
498348	MSTD	BSD	{ int __acl_set_file(const char *path, \
499			    acl_type_t type, struct acl *aclp); }
500349	MSTD	BSD	{ int __acl_get_fd(int filedes, acl_type_t type, \
501			    struct acl *aclp); }
502350	MSTD	BSD	{ int __acl_set_fd(int filedes, acl_type_t type, \
503			    struct acl *aclp); }
504351	MSTD	BSD	{ int __acl_delete_file(const char *path, \
505			    acl_type_t type); }
506352	MSTD	BSD	{ int __acl_delete_fd(int filedes, acl_type_t type); }
507353	MSTD	BSD	{ int __acl_aclcheck_file(const char *path, \
508			    acl_type_t type, struct acl *aclp); }
509354	MSTD	BSD	{ int __acl_aclcheck_fd(int filedes, acl_type_t type, \
510			    struct acl *aclp); }
511355	STD	BSD	{ int extattrctl(const char *path, int cmd, \
512			    const char *filename, int attrnamespace, \
513			    const char *attrname); }
514356	STD	BSD	{ int extattr_set_file(const char *path, \
515			    int attrnamespace, const char *attrname, \
516			    void *data, size_t nbytes); }
517357	STD	BSD	{ ssize_t extattr_get_file(const char *path, \
518			    int attrnamespace, const char *attrname, \
519			    void *data, size_t nbytes); }
520358	STD	BSD	{ int extattr_delete_file(const char *path, \
521			    int attrnamespace, const char *attrname); }
522359	NOSTD	BSD	{ int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); }
523360	MSTD	BSD	{ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
524361	MSTD	BSD	{ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
525362	MSTD	BSD	{ int kqueue(void); }
526363	MSTD	BSD	{ int kevent(int fd, \
527			    const struct kevent *changelist, int nchanges, \
528			    struct kevent *eventlist, int nevents, \
529			    const struct timespec *timeout); }
530364	UNIMPL	BSD	__cap_get_proc
531365	UNIMPL	BSD	__cap_set_proc
532366	UNIMPL	BSD	__cap_get_fd
533367	UNIMPL	BSD	__cap_get_file
534368	UNIMPL	BSD	__cap_set_fd
535369	UNIMPL	BSD	__cap_set_file
536370	NODEF	NOHIDE	lkmressys lkmressys nosys_args int
537371	STD	BSD	{ int extattr_set_fd(int fd, int attrnamespace, \
538			    const char *attrname, void *data, \
539			    size_t nbytes); }
540372	STD	BSD	{ ssize_t extattr_get_fd(int fd, int attrnamespace, \
541			    const char *attrname, void *data, size_t nbytes); }
542373	STD	BSD	{ int extattr_delete_fd(int fd, int attrnamespace, \
543			    const char *attrname); }
544374	MSTD	BSD	{ int __setugid(int flag); }
545375	NOIMPL	BSD	{ int nfsclnt(int flag, caddr_t argp); }
546376	STD	BSD	{ int eaccess(char *path, int flags); }
547377	UNIMPL	BSD	afs_syscall
548378	STD	BSD	{ int nmount(struct iovec *iovp, unsigned int iovcnt, \
549			    int flags); }
550379	STD	BSD	{ int kse_exit(void); }
551380	STD	BSD	{ int kse_wakeup(void); }
552381	STD	BSD	{ int kse_new(struct kse_mailbox * mbx, \
553			int new_grp_flag); }
554382	STD	BSD	{ int thread_wakeup(struct thread_mailbox *tmbx); }
555383	MSTD	BSD	{ int kse_yield(void); }
556384	MSTD	BSD	{ int __mac_get_proc(struct mac *mac_p); }
557385	MSTD	BSD	{ int __mac_set_proc(struct mac *mac_p); }
558386	MSTD	BSD	{ int __mac_get_fd(int fd, struct mac *mac_p); }
559387	MSTD	BSD	{ int __mac_get_file(const char *path_p, \
560			    struct mac *mac_p); }
561388	MSTD	BSD	{ int __mac_set_fd(int fd, struct mac *mac_p); }
562389	MSTD	BSD	{ int __mac_set_file(const char *path_p, \
563			    struct mac *mac_p); }
564390	STD	BSD	{ int kenv(int what, const char *name, char *value, \
565			    int len); }
566391	STD	BSD	{ int lchflags(const char *path, int flags); }
567392	STD	BSD	{ int uuidgen(struct uuid *store, int count); }
568393	MSTD	BSD	{ int sendfile(int fd, int s, off_t offset, size_t nbytes, \
569				struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
570394	MSTD	BSD	{ int mac_syscall(const char *policy, int call, \
571				void *arg); }
572