syscalls.master revision 47103
1137817Srwatson	$Id: syscalls.master,v 1.58 1999/04/28 11:28:49 phk Exp $
2137817Srwatson;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
3137817Srwatson;
4137817Srwatson; System call name/number master file.
5137817Srwatson; Processed to created init_sysent.c, syscalls.c and syscall.h.
6137817Srwatson
7137817Srwatson; Columns: number type nargs namespc name alt{name,tag,rtyp}/comments
8137817Srwatson;	number	system call number, must be in order
9137817Srwatson;	type	one of STD, OBSOL, UNIMPL, COMPAT
10137817Srwatson;	namespc one of POSIX, BSD, NOHIDE
11137817Srwatson;	name	psuedo-prototype of syscall routine
12137817Srwatson;		If one of the following alts is different, then all appear:
13137817Srwatson;	altname	name of system call if different
14137817Srwatson;	alttag	name of args struct tag if different from [o]`name'"_args"
15137817Srwatson;	altrtyp	return type if not int (bogus - syscalls always return int)
16137817Srwatson;		for UNIMPL/OBSOL, name continues with comments
17137817Srwatson
18137817Srwatson; types:
19137817Srwatson;	STD	always included
20137817Srwatson;	COMPAT	included on COMPAT #ifdef
21137817Srwatson;	LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
22137817Srwatson;	OBSOL	obsolete, not included in system, only specifies name
23137817Srwatson;	UNIMPL	not implemented, placeholder only
24137817Srwatson
25137817Srwatson; #ifdef's, etc. may be included, and are copied to the output files.
26137817Srwatson
27137817Srwatson#include <sys/param.h>
28137817Srwatson#include <sys/sysent.h>
29137817Srwatson#include <sys/sysproto.h>
30137817Srwatson
31137817Srwatson; Reserved/unimplemented system calls in the range 0-150 inclusive
32137817Srwatson; are reserved for use in future Berkeley releases.
33137817Srwatson; Additional system calls implemented in vendor and other
34137817Srwatson; redistributions should be placed in the reserved range at the end
35137817Srwatson; of the current calls.
36137817Srwatson
37137817Srwatson0	STD	NOHIDE	{ int nosys(void); } syscall nosys_args int
38137817Srwatson1	STD	NOHIDE	{ void exit(int rval); } exit rexit_args void
39137817Srwatson2	STD	POSIX	{ int fork(void); }
40137817Srwatson3	STD	POSIX	{ ssize_t read(int fd, void *buf, size_t nbyte); }
41137817Srwatson4	STD	POSIX	{ ssize_t write(int fd, const void *buf, size_t nbyte); }
42137817Srwatson5	STD	POSIX	{ int open(char *path, int flags, int mode); }
43137817Srwatson; XXX should be		{ int open(const char *path, int flags, ...); }
44137817Srwatson; but we're not ready for `const' or varargs.
45137817Srwatson; XXX man page says `mode_t mode'.
46137817Srwatson6	STD	POSIX	{ int close(int fd); }
47137817Srwatson7	STD	BSD	{ int wait4(int pid, int *status, int options, \
48137817Srwatson			    struct rusage *rusage); } wait4 wait_args int
49137817Srwatson8	COMPAT	BSD	{ int creat(char *path, int mode); }
50137817Srwatson9	STD	POSIX	{ int link(char *path, char *link); }
51137817Srwatson10	STD	POSIX	{ int unlink(char *path); }
52137817Srwatson11	OBSOL	NOHIDE	execv
53137817Srwatson12	STD	POSIX	{ int chdir(char *path); }
54163606Srwatson13	STD	BSD	{ int fchdir(int fd); }
55137817Srwatson14	STD	POSIX	{ int mknod(char *path, int mode, int dev); }
56137817Srwatson15	STD	POSIX	{ int chmod(char *path, int mode); }
57137817Srwatson16	STD	POSIX	{ int chown(char *path, int uid, int gid); }
58137817Srwatson17	STD	BSD	{ int obreak(char *nsize); } break obreak_args int
59137817Srwatson18	STD	BSD	{ int getfsstat(struct statfs *buf, long bufsize, \
60137817Srwatson			    int flags); }
61137817Srwatson19	COMPAT	POSIX	{ long lseek(int fd, long offset, int whence); }
62137817Srwatson20	STD	POSIX	{ pid_t getpid(void); }
63137817Srwatson21	STD	BSD	{ int mount(char *type, char *path, int flags, \
64137817Srwatson			    caddr_t data); }
65137817Srwatson; XXX 4.4lite2 uses `char *type' but we're not ready for that.
66137817Srwatson; XXX `path' should have type `const char *' but we're not ready for that.
67137817Srwatson22	STD	BSD	{ int unmount(char *path, int flags); }
68137817Srwatson23	STD	POSIX	{ int setuid(uid_t uid); }
69137817Srwatson24	STD	POSIX	{ uid_t getuid(void); }
70137817Srwatson25	STD	POSIX	{ uid_t geteuid(void); }
71137817Srwatson26	STD	BSD	{ int ptrace(int req, pid_t pid, caddr_t addr, \
72137817Srwatson			    int data); }
73137817Srwatson27	STD	BSD	{ int recvmsg(int s, struct msghdr *msg, int flags); }
74137817Srwatson28	STD	BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
75137817Srwatson29	STD	BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
76137817Srwatson			    int flags, caddr_t from, int *fromlenaddr); }
77137817Srwatson30	STD	BSD	{ int accept(int s, caddr_t name, int *anamelen); }
78137817Srwatson31	STD	BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
79137817Srwatson32	STD	BSD	{ int getsockname(int fdes, caddr_t asa, int *alen); }
80137817Srwatson33	STD	POSIX	{ int access(char *path, int flags); }
81137817Srwatson34	STD	BSD	{ int chflags(char *path, int flags); }
82137817Srwatson35	STD	BSD	{ int fchflags(int fd, int flags); }
83137817Srwatson36	STD	BSD	{ int sync(void); }
84137817Srwatson37	STD	POSIX	{ int kill(int pid, int signum); }
85137817Srwatson38	COMPAT	POSIX	{ int stat(char *path, struct ostat *ub); }
86137817Srwatson39	STD	POSIX	{ pid_t getppid(void); }
87137817Srwatson40	COMPAT	POSIX	{ int lstat(char *path, struct ostat *ub); }
88137817Srwatson41	STD	POSIX	{ int dup(u_int fd); }
89137817Srwatson42	STD	POSIX	{ int pipe(void); }
90137817Srwatson43	STD	POSIX	{ gid_t getegid(void); }
91137817Srwatson44	STD	BSD	{ int profil(caddr_t samples, size_t size, \
92137817Srwatson			    size_t offset, u_int scale); }
93137817Srwatson45	STD	BSD	{ int ktrace(const char *fname, int ops, int facs, \
94137817Srwatson			    int pid); }
95137817Srwatson46	STD	POSIX	{ int sigaction(int signum, struct sigaction *nsa, \
96137817Srwatson			    struct sigaction *osa); }
97137817Srwatson47	STD	POSIX	{ gid_t getgid(void); }
98137817Srwatson48	STD	POSIX	{ int sigprocmask(int how, sigset_t mask); }
99137817Srwatson; XXX note nonstandard (bogus) calling convention - the libc stub passes
100137817Srwatson; us the mask, not a pointer to it, and we return the old mask as the
101137817Srwatson; (int) return value.
102137817Srwatson49	STD	BSD	{ int getlogin(char *namebuf, u_int namelen); }
103137817Srwatson50	STD	BSD	{ int setlogin(char *namebuf); }
104137817Srwatson51	STD	BSD	{ int acct(char *path); }
105137817Srwatson52	STD	POSIX	{ int sigpending(void); }
106137817Srwatson53	STD	BSD	{ int sigaltstack(struct sigaltstack *nss, \
107137817Srwatson			    struct sigaltstack *oss); }
108137817Srwatson54	STD	POSIX	{ int ioctl(int fd, u_long com, caddr_t data); }
109137817Srwatson55	STD	BSD	{ int reboot(int opt); }
110137817Srwatson56	STD	POSIX	{ int revoke(char *path); }
111137817Srwatson57	STD	POSIX	{ int symlink(char *path, char *link); }
112137817Srwatson58	STD	POSIX	{ int readlink(char *path, char *buf, int count); }
113137817Srwatson59	STD	POSIX	{ int execve(char *fname, char **argv, char **envv); }
114137817Srwatson60	STD	POSIX	{ int umask(int newmask); } umask umask_args int
115137817Srwatson61	STD	BSD	{ int chroot(char *path); }
116137817Srwatson62	COMPAT	POSIX	{ int fstat(int fd, struct ostat *sb); }
117137817Srwatson63	COMPAT	BSD	{ int getkerninfo(int op, char *where, size_t *size, \
118137817Srwatson			    int arg); } getkerninfo getkerninfo_args int
119137817Srwatson64	COMPAT	BSD	{ int getpagesize(void); } \
120137817Srwatson			    getpagesize getpagesize_args int
121137817Srwatson65	STD	BSD	{ int msync(void *addr, size_t len, int flags); }
122137817Srwatson66	STD	BSD	{ int vfork(void); }
123137817Srwatson67	OBSOL	NOHIDE	vread
124137817Srwatson68	OBSOL	NOHIDE	vwrite
125137817Srwatson69	STD	BSD	{ int sbrk(int incr); }
126137817Srwatson70	STD	BSD	{ int sstk(int incr); }
127137817Srwatson71	COMPAT	BSD	{ int mmap(void *addr, int len, int prot, \
128137817Srwatson			    int flags, int fd, long pos); }
129137817Srwatson72	STD	BSD	{ int ovadvise(int anom); } vadvise ovadvise_args int
130165427Srwatson73	STD	BSD	{ int munmap(void *addr, size_t len); }
131137817Srwatson74	STD	BSD	{ int mprotect(const void *addr, size_t len, int prot); }
132137817Srwatson75	STD	BSD	{ int madvise(void *addr, size_t len, int behav); }
133165427Srwatson76	OBSOL	NOHIDE	vhangup
134165427Srwatson77	OBSOL	NOHIDE	vlimit
135137817Srwatson78	STD	BSD	{ int mincore(const void *addr, size_t len, \
136137817Srwatson			    char *vec); }
137137817Srwatson79	STD	POSIX	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
138137817Srwatson80	STD	POSIX	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
139137817Srwatson81	STD	POSIX	{ int getpgrp(void); }
140137817Srwatson82	STD	POSIX	{ int setpgid(int pid, int pgid); }
141165427Srwatson83	STD	BSD	{ int setitimer(u_int which, struct itimerval *itv, \
142137817Srwatson			    struct itimerval *oitv); }
143137817Srwatson84	COMPAT	BSD	{ int wait(void); }
144137817Srwatson85	STD	BSD	{ int swapon(char *name); }
145137817Srwatson86	STD	BSD	{ int getitimer(u_int which, struct itimerval *itv); }
146137817Srwatson87	COMPAT	BSD	{ int gethostname(char *hostname, u_int len); } \
147137817Srwatson			    gethostname gethostname_args int
148137817Srwatson88	COMPAT	BSD	{ int sethostname(char *hostname, u_int len); } \
149137817Srwatson			    sethostname sethostname_args int
150137817Srwatson89	STD	BSD	{ int getdtablesize(void); }
151137817Srwatson90	STD	POSIX	{ int dup2(u_int from, u_int to); }
152137817Srwatson91	UNIMPL	BSD	getdopt
153137817Srwatson92	STD	POSIX	{ int fcntl(int fd, int cmd, long arg); }
154137817Srwatson; XXX should be		{ int fcntl(int fd, int cmd, ...); }
155165427Srwatson; but we're not ready for varargs.
156137817Srwatson; XXX man page says `int arg' too.
157137817Srwatson93	STD	BSD	{ int select(int nd, fd_set *in, fd_set *ou, \
158137817Srwatson			    fd_set *ex, struct timeval *tv); }
159137817Srwatson94	UNIMPL	BSD	setdopt
160137817Srwatson95	STD	POSIX	{ int fsync(int fd); }
161137817Srwatson96	STD	BSD	{ int setpriority(int which, int who, int prio); }
162137817Srwatson97	STD	BSD	{ int socket(int domain, int type, int protocol); }
163137817Srwatson98	STD	BSD	{ int connect(int s, caddr_t name, int namelen); }
164137817Srwatson99	CPT_NOA	BSD	{ int accept(int s, caddr_t name, int *anamelen); } \
165137817Srwatson			    accept accept_args int
166137817Srwatson100	STD	BSD	{ int getpriority(int which, int who); }
167137817Srwatson101	COMPAT	BSD	{ int send(int s, caddr_t buf, int len, int flags); }
168137817Srwatson102	COMPAT	BSD	{ int recv(int s, caddr_t buf, int len, int flags); }
169137817Srwatson103	STD	BSD	{ int sigreturn(struct sigcontext *sigcntxp); }
170137817Srwatson104	STD	BSD	{ int bind(int s, caddr_t name, int namelen); }
171137817Srwatson105	STD	BSD	{ int setsockopt(int s, int level, int name, \
172137817Srwatson			    caddr_t val, int valsize); }
173137817Srwatson106	STD	BSD	{ int listen(int s, int backlog); }
174137817Srwatson107	OBSOL	NOHIDE	vtimes
175137817Srwatson108	COMPAT	BSD	{ int sigvec(int signum, struct sigvec *nsv, \
176137817Srwatson			    struct sigvec *osv); }
177137817Srwatson109	COMPAT	BSD	{ int sigblock(int mask); }
178137817Srwatson110	COMPAT	BSD	{ int sigsetmask(int mask); }
179137817Srwatson111	STD	POSIX	{ int sigsuspend(sigset_t mask); }
180137817Srwatson; XXX note nonstandard (bogus) calling convention - the libc stub passes
181137817Srwatson; us the mask, not a pointer to it.
182137817Srwatson112	COMPAT	BSD	{ int sigstack(struct sigstack *nss, \
183137817Srwatson			    struct sigstack *oss); }
184137817Srwatson113	COMPAT	BSD	{ int recvmsg(int s, struct omsghdr *msg, int flags); }
185137817Srwatson114	COMPAT	BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
186137817Srwatson115	OBSOL	NOHIDE	vtrace
187137817Srwatson116	STD	BSD	{ int gettimeofday(struct timeval *tp, \
188137817Srwatson			    struct timezone *tzp); }
189137817Srwatson117	STD	BSD	{ int getrusage(int who, struct rusage *rusage); }
190137817Srwatson118	STD	BSD	{ int getsockopt(int s, int level, int name, \
191137817Srwatson			    caddr_t val, int *avalsize); }
192137817Srwatson119	UNIMPL	NOHIDE	resuba (BSD/OS 2.x)
193137817Srwatson120	STD	BSD	{ int readv(int fd, struct iovec *iovp, u_int iovcnt); }
194137817Srwatson121	STD	BSD	{ int writev(int fd, struct iovec *iovp, \
195137817Srwatson			    u_int iovcnt); }
196137817Srwatson122	STD	BSD	{ int settimeofday(struct timeval *tv, \
197137817Srwatson			    struct timezone *tzp); }
198137817Srwatson123	STD	BSD	{ int fchown(int fd, int uid, int gid); }
199137817Srwatson124	STD	BSD	{ int fchmod(int fd, int mode); }
200137817Srwatson125	CPT_NOA	BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
201137817Srwatson			    int flags, caddr_t from, int *fromlenaddr); } \
202137817Srwatson			    recvfrom recvfrom_args int
203137817Srwatson126	STD	BSD	{ int setreuid(int ruid, int euid); }
204137817Srwatson127	STD	BSD	{ int setregid(int rgid, int egid); }
205137817Srwatson128	STD	POSIX	{ int rename(char *from, char *to); }
206137817Srwatson129	COMPAT	BSD	{ int truncate(char *path, long length); }
207137817Srwatson130	COMPAT	BSD	{ int ftruncate(int fd, long length); }
208137817Srwatson131	STD	BSD	{ int flock(int fd, int how); }
209137817Srwatson132	STD	POSIX	{ int mkfifo(char *path, int mode); }
210137817Srwatson133	STD	BSD	{ int sendto(int s, caddr_t buf, size_t len, \
211137817Srwatson			    int flags, caddr_t to, int tolen); }
212137817Srwatson134	STD	BSD	{ int shutdown(int s, int how); }
213137817Srwatson135	STD	BSD	{ int socketpair(int domain, int type, int protocol, \
214137817Srwatson			    int *rsv); }
215137817Srwatson136	STD	POSIX	{ int mkdir(char *path, int mode); }
216137817Srwatson137	STD	POSIX	{ int rmdir(char *path); }
217137817Srwatson138	STD	BSD	{ int utimes(char *path, struct timeval *tptr); }
218137817Srwatson139	OBSOL	NOHIDE	4.2 sigreturn
219137817Srwatson140	STD	BSD	{ int adjtime(struct timeval *delta, \
220137817Srwatson			    struct timeval *olddelta); }
221137817Srwatson141	COMPAT	BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
222137817Srwatson142	COMPAT	BSD	{ long gethostid(void); }
223137817Srwatson143	COMPAT	BSD	{ int sethostid(long hostid); }
224137817Srwatson144	COMPAT	BSD	{ int getrlimit(u_int which, struct ogetrlimit *rlp); }
225137817Srwatson145	COMPAT	BSD	{ int setrlimit(u_int which, struct ogetrlimit *rlp); }
226137817Srwatson146	COMPAT	BSD	{ int killpg(int pgid, int signum); }
227137817Srwatson147	STD	POSIX	{ int setsid(void); }
228137817Srwatson148	STD	BSD	{ int quotactl(char *path, int cmd, int uid, \
229137817Srwatson			    caddr_t arg); }
230137817Srwatson149	COMPAT	BSD	{ int quota(void); }
231137817Srwatson150	CPT_NOA	BSD	{ int getsockname(int fdec, caddr_t asa, int *alen); }\
232137817Srwatson			    getsockname getsockname_args int
233137817Srwatson
234137817Srwatson; Syscalls 151-180 inclusive are reserved for vendor-specific
235137817Srwatson; system calls.  (This includes various calls added for compatibity
236137817Srwatson; with other Unix variants.)
237137817Srwatson; Some of these calls are now supported by BSD...
238137817Srwatson151	UNIMPL	NOHIDE	sem_lock (BSD/OS 2.x)
239137817Srwatson152	UNIMPL	NOHIDE	sem_wakeup (BSD/OS 2.x)
240137817Srwatson153	UNIMPL	NOHIDE	asyncdaemon (BSD/OS 2.x)
241137817Srwatson154	UNIMPL	NOHIDE	nosys
242137817Srwatson; 155 is initialized by the NFS code, if present.
243137817Srwatson155	NOIMPL	BSD	{ int nfssvc(int flag, caddr_t argp); }
244137817Srwatson156	COMPAT	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
245137817Srwatson			    long *basep); }
246137817Srwatson157	STD	BSD	{ int statfs(char *path, struct statfs *buf); }
247137817Srwatson158	STD	BSD	{ int fstatfs(int fd, struct statfs *buf); }
248137817Srwatson159	UNIMPL	NOHIDE	nosys
249137817Srwatson160	UNIMPL	NOHIDE	nosys
250137817Srwatson; 161 is initialized by the NFS code, if present.
251137817Srwatson161	NOIMPL	BSD	{ int getfh(char *fname, struct fhandle *fhp); }
252162	STD	BSD	{ int getdomainname(char *domainname, int len); }
253163	STD	BSD	{ int setdomainname(char *domainname, int len); }
254164	STD	BSD	{ int uname(struct utsname *name); }
255165	STD	BSD	{ int sysarch(int op, char *parms); }
256166	STD	BSD	{ int rtprio(int function, pid_t pid, \
257			    struct rtprio *rtp); }
258167	UNIMPL	NOHIDE	nosys
259168	UNIMPL	NOHIDE	nosys
260169	STD	BSD	{ int semsys(int which, int a2, int a3, int a4, \
261			    int a5); }
262; XXX should be		{ int semsys(int which, ...); }
263170	STD	BSD	{ int msgsys(int which, int a2, int a3, int a4, \
264			    int a5, int a6); }
265; XXX should be		{ int msgsys(int which, ...); }
266171	STD	BSD	{ int shmsys(int which, int a2, int a3, int a4); }
267; XXX should be		{ int shmsys(int which, ...); }
268172	UNIMPL	NOHIDE	nosys
269173	STD	POSIX	{ ssize_t pread(int fd, void *buf, size_t nbyte, \
270			    int pad, off_t offset); }
271174	STD	POSIX	{ ssize_t pwrite(int fd, const void *buf, \
272			    size_t nbyte, int pad, off_t offset); }
273175	UNIMPL	NOHIDE	nosys
274176	STD	BSD	{ int ntp_adjtime(struct timex *tp); }
275177	UNIMPL	NOHIDE	sfork (BSD/OS 2.x)
276178	UNIMPL	NOHIDE	getdescriptor (BSD/OS 2.x)
277179	UNIMPL	NOHIDE	setdescriptor (BSD/OS 2.x)
278180	UNIMPL	NOHIDE	nosys
279
280; Syscalls 180-199 are used by/reserved for BSD
281181	STD	POSIX	{ int setgid(gid_t gid); }
282182	STD	BSD	{ int setegid(gid_t egid); }
283183	STD	BSD	{ int seteuid(uid_t euid); }
284184	UNIMPL	BSD	lfs_bmapv
285185	UNIMPL	BSD	lfs_markv
286186	UNIMPL	BSD	lfs_segclean
287187	UNIMPL	BSD	lfs_segwait
288188	STD	POSIX	{ int stat(char *path, struct stat *ub); }
289189	STD	POSIX	{ int fstat(int fd, struct stat *sb); }
290190	STD	POSIX	{ int lstat(char *path, struct stat *ub); }
291191	STD	POSIX	{ int pathconf(char *path, int name); }
292192	STD	POSIX	{ int fpathconf(int fd, int name); }
293193	UNIMPL	NOHIDE	nosys
294194	STD	BSD	{ int getrlimit(u_int which, \
295			    struct orlimit *rlp); } \
296			    getrlimit __getrlimit_args int
297195	STD	BSD	{ int setrlimit(u_int which, \
298			    struct orlimit *rlp); } \
299			    setrlimit __setrlimit_args int
300196	STD	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
301			    long *basep); }
302197	STD	BSD	{ caddr_t mmap(caddr_t addr, size_t len, int prot, \
303			    int flags, int fd, long pad, off_t pos); }
304198	STD	NOHIDE	{ int nosys(void); } __syscall __syscall_args int
305199	STD	POSIX	{ off_t lseek(int fd, int pad, off_t offset, \
306			    int whence); }
307200	STD	BSD	{ int truncate(char *path, int pad, off_t length); }
308201	STD	BSD	{ int ftruncate(int fd, int pad, off_t length); }
309202	STD	BSD	{ int __sysctl(int *name, u_int namelen, void *old, \
310			    size_t *oldlenp, void *new, size_t newlen); } \
311			    __sysctl sysctl_args int
312; properly, __sysctl should be a NOHIDE, but making an exception
313; here allows to avoid one in libc/sys/Makefile.inc.
314203	STD	BSD	{ int mlock(const void *addr, size_t len); }
315204	STD	BSD	{ int munlock(const void *addr, size_t len); }
316205	STD	BSD	{ int undelete(char *path); }
317206	STD	BSD	{ int futimes(int fd, struct timeval *tptr); }
318207	STD	BSD	{ int getpgid(pid_t pid); }
319208	UNIMPL	NOHIDE	newreboot (NetBSD)
320209	STD	BSD	{ int poll(struct pollfd *fds, u_int nfds, \
321			    int timeout); }
322
323;
324; The following are reserved for loadable syscalls
325;
326210	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
327211	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
328212	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
329213	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
330214	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
331215	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
332216	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
333217	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
334218	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
335219	NODEF	NOHIDE	lkmnosys lkmnosys nosys_args int
336
337;
338; The following were introduced with NetBSD/4.4Lite-2
339;
340220	STD	BSD	{ int __semctl(int semid, int semnum, int cmd, \
341			    union semun *arg); }
342221	STD	BSD	{ int semget(key_t key, int nsems, int semflg); }
343222	STD	BSD	{ int semop(int semid, struct sembuf *sops, \
344			    u_int nsops); }
345223	STD	BSD	{ int semconfig(int flag); }
346224	STD	BSD	{ int msgctl(int msqid, int cmd, \
347			    struct msqid_ds *buf); }
348225	STD	BSD	{ int msgget(key_t key, int msgflg); }
349226	STD	BSD	{ int msgsnd(int msqid, void *msgp, size_t msgsz, \
350			    int msgflg); }
351227	STD	BSD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
352			    long msgtyp, int msgflg); }
353228	STD	BSD	{ int shmat(int shmid, void *shmaddr, int shmflg); }
354229	STD	BSD	{ int shmctl(int shmid, int cmd, \
355			    struct shmid_ds *buf); }
356230	STD	BSD	{ int shmdt(void *shmaddr); }
357231	STD	BSD	{ int shmget(key_t key, int size, int shmflg); }
358;
359232	STD	POSIX	{ int clock_gettime(clockid_t clock_id, \
360			    struct timespec *tp); }
361233	STD	POSIX	{ int clock_settime(clockid_t clock_id, \
362			    const struct timespec *tp); }
363234	STD	POSIX	{ int clock_getres(clockid_t clock_id, \
364			    struct timespec *tp); }
365235	UNIMPL	NOHIDE	timer_create
366236	UNIMPL	NOHIDE	timer_delete
367237	UNIMPL	NOHIDE	timer_settime
368238	UNIMPL	NOHIDE	timer_gettime
369239	UNIMPL	NOHIDE	timer_getoverrun
370240	STD	POSIX	{ int nanosleep(const struct timespec *rqtp, \
371			    struct timespec *rmtp); }
372241	UNIMPL	NOHIDE	nosys
373242	UNIMPL	NOHIDE	nosys
374243	UNIMPL	NOHIDE	nosys
375244	UNIMPL	NOHIDE	nosys
376245	UNIMPL	NOHIDE	nosys
377246	UNIMPL	NOHIDE	nosys
378247	UNIMPL	NOHIDE	nosys
379248	UNIMPL	NOHIDE	nosys
380249	UNIMPL	NOHIDE	nosys
381; syscall numbers initially used in OpenBSD
382250	STD	BSD	{ int minherit(void *addr, size_t len, int inherit); }
383251	STD	BSD	{ int rfork(int flags); }
384252	STD	BSD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
385			    int timeout); }
386253	STD	BSD	{ int issetugid(void); }
387254	STD	BSD	{ int lchown(char *path, int uid, int gid); }
388255	UNIMPL	NOHIDE	nosys
389256	UNIMPL	NOHIDE	nosys
390257	UNIMPL	NOHIDE	nosys
391258	UNIMPL	NOHIDE	nosys
392259	UNIMPL	NOHIDE	nosys
393260	UNIMPL	NOHIDE	nosys
394261	UNIMPL	NOHIDE	nosys
395262	UNIMPL	NOHIDE	nosys
396263	UNIMPL	NOHIDE	nosys
397264	UNIMPL	NOHIDE	nosys
398265	UNIMPL	NOHIDE	nosys
399266	UNIMPL	NOHIDE	nosys
400267	UNIMPL	NOHIDE	nosys
401268	UNIMPL	NOHIDE	nosys
402269	UNIMPL	NOHIDE	nosys
403270	UNIMPL	NOHIDE	nosys
404271	UNIMPL	NOHIDE	nosys
405272	STD	BSD	{ int getdents(int fd, char *buf, size_t count); }
406273	UNIMPL	NOHIDE	nosys
407274	STD	BSD	{ int lchmod(char *path, mode_t mode); }
408275	NOPROTO BSD	{ int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown netbsd_lchown int
409276	STD	BSD	{ int lutimes(char *path, struct timeval *tptr); }
410277	NOPROTO	BSD	{ int msync(void *addr, size_t len, int flags); } netbsd_msync netbsd_msync int
411278	STD	BSD	{ int nstat(char *path, struct nstat *ub); }
412279	STD	BSD	{ int nfstat(int fd, struct nstat *sb); }
413280	STD	BSD	{ int nlstat(char *path, struct nstat *ub); }
414281	UNIMPL	NOHIDE	nosys
415282	UNIMPL	NOHIDE	nosys
416283	UNIMPL	NOHIDE	nosys
417284	UNIMPL	NOHIDE	nosys
418285	UNIMPL	NOHIDE	nosys
419286	UNIMPL	NOHIDE	nosys
420287	UNIMPL	NOHIDE	nosys
421288	UNIMPL	NOHIDE	nosys
422289	UNIMPL	NOHIDE	nosys
423290	UNIMPL	NOHIDE	nosys
424291	UNIMPL	NOHIDE	nosys
425292	UNIMPL	NOHIDE	nosys
426293	UNIMPL	NOHIDE	nosys
427294	UNIMPL	NOHIDE	nosys
428295	UNIMPL	NOHIDE	nosys
429296	UNIMPL	NOHIDE	nosys
430297	UNIMPL	NOHIDE	nosys
431298	UNIMPL	NOHIDE	nosys
432299	UNIMPL	NOHIDE	nosys
433; syscall numbers for FreeBSD
434300	STD	BSD	{ int modnext(int modid); }
435301	STD	BSD	{ int modstat(int modid, struct module_stat* stat); }
436302	STD	BSD	{ int modfnext(int modid); }
437303	STD	BSD	{ int modfind(char *name); }
438304	STD	BSD	{ int kldload(const char *file); }
439305	STD	BSD	{ int kldunload(int fileid); }
440306	STD	BSD	{ int kldfind(const char *file); }
441307	STD	BSD	{ int kldnext(int fileid); }
442308	STD	BSD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
443309	STD	BSD	{ int kldfirstmod(int fileid); }
444310	STD	BSD	{ int getsid(pid_t pid); }
445311	UNIMPL	NOHIDE	setresuid
446312	UNIMPL	NOHIDE	setresgid
447313	OBSOL	NOHIDE	signanosleep
448314     STD     BSD     { int aio_return(struct aiocb *aiocbp); }
449315     STD     BSD     { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
450316     STD     BSD     { int aio_cancel(int fd, struct aiocb *aiocbp); }
451317     STD     BSD     { int aio_error(struct aiocb *aiocbp); }
452318     STD     BSD     { int aio_read(struct aiocb *aiocbp); }
453319     STD     BSD     { int aio_write(struct aiocb *aiocbp); }
454320     STD     BSD     { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
455321     STD     BSD     { int yield(void); }
456322     STD     BSD     { int thr_sleep(const struct timespec *timeout); }
457323     STD     BSD     { int thr_wakeup(pid_t pid); }
458324     STD     BSD     { int mlockall(int how); }
459325     STD     BSD     { int munlockall(void); }
460326     STD     BSD     { int __getcwd(u_char *buf, u_int buflen); }
461
462327     STD     POSIX   { int sched_setparam (pid_t pid, const struct sched_param *param); }
463328     STD     POSIX   { int sched_getparam (pid_t pid, struct sched_param *param); }
464
465329     STD     POSIX   { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
466330     STD     POSIX   { int sched_getscheduler (pid_t pid); }
467
468331     STD     POSIX   { int sched_yield (void); }
469332     STD     POSIX   { int sched_get_priority_max (int policy); }
470333     STD     POSIX   { int sched_get_priority_min (int policy); }
471334     STD     POSIX   { int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
472335	STD	BSD	{ int utrace(const void *addr, size_t len); }
473336	STD	BSD	{ int sendfile(int fd, int s, off_t offset, size_t nbytes, \
474				struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
475337	STD	BSD	{ int kldsym(int fileid, int cmd, void *data); }
476338	STD	BSD	{ int jail(struct jail *jail); }
477