syscalls.master revision 139292
1165138Syongari $FreeBSD: head/sys/kern/syscalls.master 139292 2004-12-25 13:02:50Z davidxu $
2165138Syongari;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
3165138Syongari;
4165138Syongari; System call name/number master file.
5165138Syongari; Processed to created init_sysent.c, syscalls.c and syscall.h.
6165138Syongari
7165138Syongari; Columns: number [M]type nargs name alt{name,tag,rtyp}/comments
8165138Syongari;	number	system call number, must be in order
9165138Syongari;	type	one of [M]STD, [M]OBSOL, [M]UNIMPL, [M]COMPAT, [M]CPT_NOA,
10165138Syongari;		[M]LIBCOMPAT, [M]NODEF,  [M]NOARGS,  [M]NOPROTO,  [M]NOIMPL,
11165138Syongari;		[M]NOSTD, [M]COMPAT4
12165138Syongari;	name	psuedo-prototype of syscall routine
13165138Syongari;		If one of the following alts is different, then all appear:
14165138Syongari;	altname	name of system call if different
15165138Syongari;	alttag	name of args struct tag if different from [o]`name'"_args"
16165138Syongari;	altrtyp	return type if not int (bogus - syscalls always return int)
17165138Syongari;		for UNIMPL/OBSOL, name continues with comments
18165138Syongari
19165138Syongari; types:
20165138Syongari;	[M]	e.g. like MSTD -- means the system call is MP-safe.  If no
21165138Syongari;		M prefix is used, the syscall wrapper will obtain the Giant
22165138Syongari;		lock for the syscall.
23165138Syongari;	STD	always included
24165138Syongari;	COMPAT	included on COMPAT #ifdef
25165138Syongari;	COMPAT4	included on COMPAT4 #ifdef (FreeBSD 4 compat)
26165138Syongari;	LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
27165138Syongari;	OBSOL	obsolete, not included in system, only specifies name
28165138Syongari;	UNIMPL	not implemented, placeholder only
29165138Syongari;	NOSTD	implemented but as a lkm that can be statically
30165138Syongari;			compiled in sysent entry will be filled with lkmsys
31165138Syongari;			so the SYSCALL_MODULE macro works
32165138Syongari;
33165138Syongari; Please copy any additions and changes to the following compatability tables:
34165138Syongari; sys/compat/freebsd32/syscalls.master
35165138Syongari
36165138Syongari; #ifdef's, etc. may be included, and are copied to the output files.
37165138Syongari
38165138Syongari#include <sys/param.h>
39165138Syongari#include <sys/sysent.h>
40165138Syongari#include <sys/sysproto.h>
41165138Syongari
42165138Syongari; Reserved/unimplemented system calls in the range 0-150 inclusive
43165138Syongari; are reserved for use in future Berkeley releases.
44165138Syongari; Additional system calls implemented in vendor and other
45165138Syongari; redistributions should be placed in the reserved range at the end
46165138Syongari; of the current calls.
47165138Syongari
48165138Syongari0	MSTD	{ int nosys(void); } syscall nosys_args int
49165138Syongari1	MSTD	{ void sys_exit(int rval); } exit sys_exit_args void
50165138Syongari2	MSTD	{ int fork(void); }
51165138Syongari3	MSTD	{ ssize_t read(int fd, void *buf, size_t nbyte); }
52165138Syongari4	MSTD	{ ssize_t write(int fd, const void *buf, size_t nbyte); }
53165138Syongari5	MSTD	{ int open(char *path, int flags, int mode); }
54165138Syongari; XXX should be		{ int open(const char *path, int flags, ...); }
55165138Syongari; but we're not ready for `const' or varargs.
56165138Syongari; XXX man page says `mode_t mode'.
57165138Syongari6	MSTD	{ int close(int fd); }
58165138Syongari7	MSTD	{ int wait4(int pid, int *status, int options, \
59165138Syongari			    struct rusage *rusage); } wait4 wait_args int
60165138Syongari8	MCOMPAT	{ int creat(char *path, int mode); }
61165138Syongari9	MSTD	{ int link(char *path, char *link); }
62165138Syongari10	MSTD	{ int unlink(char *path); }
63165138Syongari11	OBSOL	execv
64165138Syongari12	STD	{ int chdir(char *path); }
65165138Syongari13	STD	{ int fchdir(int fd); }
66165138Syongari14	STD	{ int mknod(char *path, int mode, int dev); }
67165138Syongari15	STD	{ int chmod(char *path, int mode); }
68165138Syongari16	STD	{ int chown(char *path, int uid, int gid); }
69165138Syongari17	MSTD	{ int obreak(char *nsize); } break obreak_args int
70165138Syongari18	COMPAT4	{ int getfsstat(struct ostatfs *buf, long bufsize, int flags); }
71165138Syongari19	COMPAT	{ long lseek(int fd, long offset, int whence); }
72165138Syongari20	MSTD	{ pid_t getpid(void); }
73165138Syongari21	MSTD	{ int mount(char *type, char *path, int flags, caddr_t data); }
74165138Syongari; XXX `path' should have type `const char *' but we're not ready for that.
75165138Syongari22	MSTD	{ int unmount(char *path, int flags); }
76165138Syongari23	MSTD	{ int setuid(uid_t uid); }
77165138Syongari24	MSTD	{ uid_t getuid(void); }
78165138Syongari25	MSTD	{ uid_t geteuid(void); }
79165138Syongari26	MSTD	{ int ptrace(int req, pid_t pid, caddr_t addr, int data); }
80165138Syongari27	MSTD	{ int recvmsg(int s, struct msghdr *msg, int flags); }
81165138Syongari28	MSTD	{ int sendmsg(int s, struct msghdr *msg, int flags); }
82165138Syongari29	MSTD	{ int recvfrom(int s, caddr_t buf, size_t len, int flags, \
83165138Syongari		    struct sockaddr * __restrict from, \
84165138Syongari		    __socklen_t * __restrict fromlenaddr); }
85165138Syongari30	MSTD	{ int accept(int s, struct sockaddr * __restrict name, \
86165138Syongari		    __socklen_t * __restrict anamelen); }
87165138Syongari31	MSTD	{ int getpeername(int fdes, struct sockaddr * __restrict asa, \
88165138Syongari		    __socklen_t * __restrict alen); }
89165138Syongari32	MSTD	{ int getsockname(int fdes, struct sockaddr * __restrict asa, \
90165138Syongari		    __socklen_t * __restrict alen); }
91165138Syongari33	STD	{ int access(char *path, int flags); }
92165138Syongari34	STD	{ int chflags(char *path, int flags); }
93165138Syongari35	STD	{ int fchflags(int fd, int flags); }
94165138Syongari36	STD	{ int sync(void); }
95165138Syongari37	MSTD	{ int kill(int pid, int signum); }
96165138Syongari38	COMPAT	{ int stat(char *path, struct ostat *ub); }
97165138Syongari39	MSTD	{ pid_t getppid(void); }
98165138Syongari40	COMPAT	{ int lstat(char *path, struct ostat *ub); }
99165138Syongari41	MSTD	{ int dup(u_int fd); }
100165138Syongari42	MSTD	{ int pipe(void); }
101165138Syongari43	MSTD	{ gid_t getegid(void); }
102165138Syongari44	MSTD	{ int profil(caddr_t samples, size_t size, size_t offset, \
103165138Syongari		    u_int scale); }
104165138Syongari45	MSTD	{ int ktrace(const char *fname, int ops, int facs, int pid); }
105165138Syongari46	MCOMPAT	{ int sigaction(int signum, struct osigaction *nsa, \
106165138Syongari		    struct osigaction *osa); }
107165138Syongari47	MSTD	{ gid_t getgid(void); }
108165138Syongari48	MCOMPAT	{ int sigprocmask(int how, osigset_t mask); }
109165138Syongari; XXX note nonstandard (bogus) calling convention - the libc stub passes
110165138Syongari; us the mask, not a pointer to it, and we return the old mask as the
111165138Syongari; (int) return value.
112165138Syongari49	MSTD	{ int getlogin(char *namebuf, u_int namelen); }
113165138Syongari50	MSTD	{ int setlogin(char *namebuf); }
114165138Syongari51	MSTD	{ int acct(char *path); }
115165138Syongari52	MCOMPAT	{ int sigpending(void); }
116165138Syongari53	MSTD	{ int sigaltstack(stack_t *ss, stack_t *oss); }
117165138Syongari54	MSTD	{ int ioctl(int fd, u_long com, caddr_t data); }
118165138Syongari55	MSTD	{ int reboot(int opt); }
119165138Syongari56	STD	{ int revoke(char *path); }
120165138Syongari57	STD	{ int symlink(char *path, char *link); }
121165138Syongari58	STD	{ int readlink(char *path, char *buf, int count); }
122165138Syongari59	MSTD	{ int execve(char *fname, char **argv, char **envv); }
123165138Syongari60	MSTD	{ int umask(int newmask); } umask umask_args int
124165138Syongari61	STD	{ int chroot(char *path); }
125165138Syongari62	MCOMPAT	{ int fstat(int fd, struct ostat *sb); }
126165138Syongari63	MCOMPAT	{ int getkerninfo(int op, char *where, size_t *size, \
127165138Syongari		    int arg); } getkerninfo getkerninfo_args int
128165138Syongari64	MCOMPAT	{ int getpagesize(void); } getpagesize getpagesize_args int
129165138Syongari65	MSTD	{ int msync(void *addr, size_t len, int flags); }
130165138Syongari66	MSTD	{ int vfork(void); }
131165138Syongari67	OBSOL	vread
132165138Syongari68	OBSOL	vwrite
133174285Sremko69	MSTD	{ int sbrk(int incr); }
134165138Syongari70	MSTD	{ int sstk(int incr); }
135165138Syongari71	MCOMPAT	{ int mmap(void *addr, int len, int prot, int flags, int fd, \
136165138Syongari		    long pos); }
137165138Syongari72	MSTD	{ int ovadvise(int anom); } vadvise ovadvise_args int
138165138Syongari73	MSTD	{ int munmap(void *addr, size_t len); }
139173775Syongari74	MSTD	{ int mprotect(const void *addr, size_t len, int prot); }
140165138Syongari75	MSTD	{ int madvise(void *addr, size_t len, int behav); }
141165138Syongari76	OBSOL	vhangup
142165138Syongari77	OBSOL	vlimit
143165138Syongari78	MSTD	{ int mincore(const void *addr, size_t len, char *vec); }
144165138Syongari79	MSTD	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
145165138Syongari80	MSTD	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
146165138Syongari81	MSTD	{ int getpgrp(void); }
147165138Syongari82	MSTD	{ int setpgid(int pid, int pgid); }
148165138Syongari83	MSTD	{ int setitimer(u_int which, struct itimerval *itv, \
149165138Syongari		    struct itimerval *oitv); }
150165138Syongari84	MCOMPAT	{ int wait(void); }
151165138Syongari85	MSTD	{ int swapon(char *name); }
152165138Syongari86	MSTD	{ int getitimer(u_int which, struct itimerval *itv); }
153165138Syongari87	MCOMPAT	{ int gethostname(char *hostname, u_int len); } \
154165138Syongari		    gethostname gethostname_args int
155165138Syongari88	MCOMPAT	{ int sethostname(char *hostname, u_int len); } \
156165138Syongari		    sethostname sethostname_args int
157165138Syongari89	MSTD	{ int getdtablesize(void); }
158165138Syongari90	MSTD	{ int dup2(u_int from, u_int to); }
159165138Syongari91	UNIMPL	getdopt
160165138Syongari92	MSTD	{ int fcntl(int fd, int cmd, long arg); }
161165138Syongari; XXX should be	{ int fcntl(int fd, int cmd, ...); }
162165138Syongari; but we're not ready for varargs.
163165138Syongari93	MSTD	{ int select(int nd, fd_set *in, fd_set *ou, \
164165138Syongari		    fd_set *ex, struct timeval *tv); }
165165138Syongari94	UNIMPL	setdopt
166165138Syongari95	STD	{ int fsync(int fd); }
167165138Syongari96	MSTD	{ int setpriority(int which, int who, int prio); }
168165138Syongari97	MSTD	{ int socket(int domain, int type, int protocol); }
169165138Syongari98	MSTD	{ int connect(int s, caddr_t name, int namelen); }
170165138Syongari99	MCPT_NOA { int accept(int s, caddr_t name, int *anamelen); } \
171165138Syongari		    accept accept_args int
172165138Syongari100	MSTD	{ int getpriority(int which, int who); }
173165138Syongari101	MCOMPAT	{ int send(int s, caddr_t buf, int len, int flags); }
174165138Syongari102	MCOMPAT	{ int recv(int s, caddr_t buf, int len, int flags); }
175165138Syongari103	MCOMPAT	{ int sigreturn(struct osigcontext *sigcntxp); }
176165138Syongari104	MSTD	{ int bind(int s, caddr_t name, int namelen); }
177165138Syongari105	MSTD	{ int setsockopt(int s, int level, int name, caddr_t val, \
178165138Syongari		    int valsize); }
179165138Syongari106	MSTD	{ int listen(int s, int backlog); }
180165138Syongari107	OBSOL	vtimes
181165138Syongari108	MCOMPAT	{ int sigvec(int signum, struct sigvec *nsv, \
182165138Syongari		    struct sigvec *osv); }
183165138Syongari109	MCOMPAT	{ int sigblock(int mask); }
184165138Syongari110	MCOMPAT	{ int sigsetmask(int mask); }
185165138Syongari111	MCOMPAT	{ int sigsuspend(osigset_t mask); }
186165138Syongari; XXX note nonstandard (bogus) calling convention - the libc stub passes
187165138Syongari; us the mask, not a pointer to it.
188165138Syongari112	MCOMPAT	{ int sigstack(struct sigstack *nss, struct sigstack *oss); }
189165138Syongari113	MCOMPAT	{ int recvmsg(int s, struct omsghdr *msg, int flags); }
190165138Syongari114	MCOMPAT	{ int sendmsg(int s, caddr_t msg, int flags); }
191165138Syongari115	OBSOL	vtrace
192165138Syongari116	MSTD	{ int gettimeofday(struct timeval *tp, struct timezone *tzp); }
193165138Syongari117	MSTD	{ int getrusage(int who, struct rusage *rusage); }
194165138Syongari118	MSTD	{ int getsockopt(int s, int level, int name, caddr_t val, \
195165138Syongari		    int *avalsize); }
196165138Syongari119	UNIMPL	resuba (BSD/OS 2.x)
197165138Syongari120	MSTD	{ int readv(int fd, struct iovec *iovp, u_int iovcnt); }
198165138Syongari121	MSTD	{ int writev(int fd, struct iovec *iovp, u_int iovcnt); }
199165138Syongari122	MSTD	{ int settimeofday(struct timeval *tv, struct timezone *tzp); }
200165138Syongari123	STD	{ int fchown(int fd, int uid, int gid); }
201165138Syongari124	STD	{ int fchmod(int fd, int mode); }
202165138Syongari125	MCPT_NOA { int recvfrom(int s, caddr_t buf, size_t len, int flags, \
203165138Syongari		    caddr_t from, int *fromlenaddr); } \
204165138Syongari		    recvfrom recvfrom_args int
205165138Syongari126	MSTD	{ int setreuid(int ruid, int euid); }
206165138Syongari127	MSTD	{ int setregid(int rgid, int egid); }
207165138Syongari128	STD	{ int rename(char *from, char *to); }
208165138Syongari129	COMPAT	{ int truncate(char *path, long length); }
209165138Syongari130	COMPAT	{ int ftruncate(int fd, long length); }
210165138Syongari131	MSTD	{ int flock(int fd, int how); }
211165138Syongari132	STD	{ int mkfifo(char *path, int mode); }
212165138Syongari133	MSTD	{ int sendto(int s, caddr_t buf, size_t len, int flags, \
213165138Syongari		    caddr_t to, int tolen); }
214165138Syongari134	MSTD	{ int shutdown(int s, int how); }
215165138Syongari135	MSTD	{ int socketpair(int domain, int type, int protocol, \
216165138Syongari		    int *rsv); }
217165138Syongari136	STD	{ int mkdir(char *path, int mode); }
218165138Syongari137	STD	{ int rmdir(char *path); }
219165138Syongari138	STD	{ int utimes(char *path, struct timeval *tptr); }
220165138Syongari139	OBSOL	4.2 sigreturn
221165138Syongari140	MSTD	{ int adjtime(struct timeval *delta, \
222165138Syongari		    struct timeval *olddelta); }
223165138Syongari141	MCOMPAT	{ int getpeername(int fdes, caddr_t asa, int *alen); }
224165138Syongari142	MCOMPAT	{ long gethostid(void); }
225165138Syongari143	MCOMPAT	{ int sethostid(long hostid); }
226165138Syongari144	MCOMPAT	{ int getrlimit(u_int which, struct orlimit *rlp); }
227165138Syongari145	MCOMPAT	{ int setrlimit(u_int which, struct orlimit *rlp); }
228165138Syongari146	MCOMPAT	{ int killpg(int pgid, int signum); }
229165138Syongari147	MSTD	{ int setsid(void); }
230165138Syongari148	STD	{ int quotactl(char *path, int cmd, int uid, caddr_t arg); }
231165138Syongari149	MCOMPAT	{ int quota(void); }
232165138Syongari150	MCPT_NOA { int getsockname(int fdec, caddr_t asa, int *alen); }\
233165138Syongari		    getsockname getsockname_args int
234165138Syongari
235165138Syongari; Syscalls 151-180 inclusive are reserved for vendor-specific
236165138Syongari; system calls.  (This includes various calls added for compatibity
237165138Syongari; with other Unix variants.)
238165138Syongari; Some of these calls are now supported by BSD...
239165138Syongari151	UNIMPL	sem_lock (BSD/OS 2.x)
240165138Syongari152	UNIMPL	sem_wakeup (BSD/OS 2.x)
241165138Syongari153	UNIMPL	asyncdaemon (BSD/OS 2.x)
242165138Syongari154	UNIMPL	nosys
243165138Syongari; 155 is initialized by the NFS code, if present.
244165138Syongari155	MNOIMPL	{ int nfssvc(int flag, caddr_t argp); }
245165138Syongari156	COMPAT	{ int getdirentries(int fd, char *buf, u_int count, \
246165138Syongari		    long *basep); }
247165138Syongari157	COMPAT4	{ int statfs(char *path, struct ostatfs *buf); }
248165138Syongari158	COMPAT4	{ int fstatfs(int fd, struct ostatfs *buf); }
249165138Syongari159	UNIMPL	nosys
250165138Syongari160	STD	{ int lgetfh(char *fname, struct fhandle *fhp); }
251165138Syongari161	STD	{ int getfh(char *fname, struct fhandle *fhp); }
252165138Syongari162	MSTD	{ int getdomainname(char *domainname, int len); }
253165138Syongari163	MSTD	{ int setdomainname(char *domainname, int len); }
254165138Syongari164	MSTD	{ int uname(struct utsname *name); }
255165138Syongari165	MSTD	{ int sysarch(int op, char *parms); }
256165138Syongari166	MSTD	{ int rtprio(int function, pid_t pid, struct rtprio *rtp); }
257165138Syongari167	UNIMPL	nosys
258165138Syongari168	UNIMPL	nosys
259165138Syongari; 169 is initialized by the SYSVSEM code if present or loaded
260165138Syongari169	MNOSTD	{ int semsys(int which, int a2, int a3, int a4, int a5); }
261165138Syongari; 169 is initialized by the SYSVMSG code if present or loaded
262165138Syongari; XXX should be	{ int semsys(int which, ...); }
263165138Syongari170	MNOSTD	{ int msgsys(int which, int a2, int a3, int a4, int a5, \
264165138Syongari		    int a6); }
265165138Syongari; 169 is initialized by the SYSVSHM code if present or loaded
266165138Syongari; XXX should be	{ int msgsys(int which, ...); }
267165138Syongari171	MNOSTD	{ int shmsys(int which, int a2, int a3, int a4); }
268165138Syongari; XXX should be	{ int shmsys(int which, ...); }
269165138Syongari172	UNIMPL	nosys
270165138Syongari173	MSTD	{ ssize_t pread(int fd, void *buf, size_t nbyte, \
271165138Syongari		    int pad, off_t offset); }
272165138Syongari174	MSTD	{ ssize_t pwrite(int fd, const void *buf, \
273165138Syongari		    size_t nbyte, int pad, off_t offset); }
274165138Syongari175	UNIMPL	nosys
275165138Syongari176	MSTD	{ int ntp_adjtime(struct timex *tp); }
276165138Syongari177	UNIMPL	sfork (BSD/OS 2.x)
277165138Syongari178	UNIMPL	getdescriptor (BSD/OS 2.x)
278165138Syongari179	UNIMPL	setdescriptor (BSD/OS 2.x)
279165138Syongari180	UNIMPL	nosys
280165138Syongari
281165138Syongari; Syscalls 181-199 are used by/reserved for BSD
282165138Syongari181	MSTD	{ int setgid(gid_t gid); }
283165138Syongari182	MSTD	{ int setegid(gid_t egid); }
284165138Syongari183	MSTD	{ int seteuid(uid_t euid); }
285165138Syongari184	UNIMPL	lfs_bmapv
286165138Syongari185	UNIMPL	lfs_markv
287165138Syongari186	UNIMPL	lfs_segclean
288165138Syongari187	UNIMPL	lfs_segwait
289165138Syongari188	STD	{ int stat(char *path, struct stat *ub); }
290165138Syongari189	MSTD	{ int fstat(int fd, struct stat *sb); }
291165138Syongari190	STD	{ int lstat(char *path, struct stat *ub); }
292165138Syongari191	STD	{ int pathconf(char *path, int name); }
293165138Syongari192	MSTD	{ int fpathconf(int fd, int name); }
294165138Syongari193	UNIMPL	nosys
295165138Syongari194	MSTD	{ int getrlimit(u_int which, struct rlimit *rlp); } \
296165138Syongari		    getrlimit __getrlimit_args int
297165138Syongari195	MSTD	{ int setrlimit(u_int which, struct rlimit *rlp); } \
298165138Syongari		    setrlimit __setrlimit_args int
299165138Syongari196	STD	{ int getdirentries(int fd, char *buf, u_int count, \
300165138Syongari		    long *basep); }
301165138Syongari197	MSTD	{ caddr_t mmap(caddr_t addr, size_t len, int prot, \
302165138Syongari		    int flags, int fd, int pad, off_t pos); }
303165138Syongari198	STD	{ int nosys(void); } __syscall __syscall_args int
304165138Syongari199	STD	{ off_t lseek(int fd, int pad, off_t offset, int whence); }
305165138Syongari200	STD	{ int truncate(char *path, int pad, off_t length); }
306165138Syongari201	STD	{ int ftruncate(int fd, int pad, off_t length); }
307165138Syongari202	MSTD	{ int __sysctl(int *name, u_int namelen, void *old, \
308165138Syongari		    size_t *oldlenp, void *new, size_t newlen); } \
309165138Syongari		    __sysctl sysctl_args int
310165138Syongari203	MSTD	{ int mlock(const void *addr, size_t len); }
311165138Syongari204	MSTD	{ int munlock(const void *addr, size_t len); }
312165138Syongari205	STD	{ int undelete(char *path); }
313165138Syongari206	STD	{ int futimes(int fd, struct timeval *tptr); }
314165138Syongari207	MSTD	{ int getpgid(pid_t pid); }
315165138Syongari208	UNIMPL	newreboot (NetBSD)
316165138Syongari209	MSTD	{ int poll(struct pollfd *fds, u_int nfds, int timeout); }
317165138Syongari
318165138Syongari;
319165138Syongari; The following are reserved for loadable syscalls
320165138Syongari;
321165138Syongari210	NODEF	lkmnosys lkmnosys nosys_args int
322165138Syongari211	NODEF	lkmnosys lkmnosys nosys_args int
323165138Syongari212	NODEF	lkmnosys lkmnosys nosys_args int
324165138Syongari213	NODEF	lkmnosys lkmnosys nosys_args int
325165138Syongari214	NODEF	lkmnosys lkmnosys nosys_args int
326165138Syongari215	NODEF	lkmnosys lkmnosys nosys_args int
327165138Syongari216	NODEF	lkmnosys lkmnosys nosys_args int
328165138Syongari217	NODEF	lkmnosys lkmnosys nosys_args int
329165138Syongari218	NODEF	lkmnosys lkmnosys nosys_args int
330165138Syongari219	NODEF	lkmnosys lkmnosys nosys_args int
331165138Syongari
332165138Syongari;
333165138Syongari; The following were introduced with NetBSD/4.4Lite-2
334165138Syongari; They are initialized by thier respective modules/sysinits
335165138Syongari220	MNOSTD	{ int __semctl(int semid, int semnum, int cmd, \
336165138Syongari		    union semun *arg); }
337165138Syongari221	MNOSTD	{ int semget(key_t key, int nsems, int semflg); }
338165138Syongari222	MNOSTD	{ int semop(int semid, struct sembuf *sops, size_t nsops); }
339165138Syongari223	UNIMPL	semconfig
340165138Syongari224	MNOSTD	{ int msgctl(int msqid, int cmd, struct msqid_ds *buf); }
341165138Syongari225	MNOSTD	{ int msgget(key_t key, int msgflg); }
342165138Syongari226	MNOSTD	{ int msgsnd(int msqid, const void *msgp, size_t msgsz, \
343165138Syongari		    int msgflg); }
344165138Syongari227	MNOSTD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
345165138Syongari		    long msgtyp, int msgflg); }
346165138Syongari228	MNOSTD	{ int shmat(int shmid, const void *shmaddr, int shmflg); }
347165138Syongari229	MNOSTD	{ int shmctl(int shmid, int cmd, struct shmid_ds *buf); }
348165138Syongari230	MNOSTD	{ int shmdt(const void *shmaddr); }
349165138Syongari231	MNOSTD	{ int shmget(key_t key, size_t size, int shmflg); }
350165138Syongari;
351165138Syongari232	MSTD	{ int clock_gettime(clockid_t clock_id, struct timespec *tp); }
352165138Syongari233	MSTD	{ int clock_settime(clockid_t clock_id, \
353165138Syongari		    const struct timespec *tp); }
354165138Syongari234	MSTD	{ int clock_getres(clockid_t clock_id, struct timespec *tp); }
355165138Syongari235	UNIMPL	timer_create
356165138Syongari236	UNIMPL	timer_delete
357165138Syongari237	UNIMPL	timer_settime
358165138Syongari238	UNIMPL	timer_gettime
359165138Syongari239	UNIMPL	timer_getoverrun
360165138Syongari240	MSTD	{ int nanosleep(const struct timespec *rqtp, \
361165138Syongari		    struct timespec *rmtp); }
362165138Syongari241	UNIMPL	nosys
363165138Syongari242	UNIMPL	nosys
364165138Syongari243	UNIMPL	nosys
365165138Syongari244	UNIMPL	nosys
366165138Syongari245	UNIMPL	nosys
367165138Syongari246	UNIMPL	nosys
368165138Syongari247	UNIMPL	nosys
369165138Syongari248	STD	{ int ntp_gettime(struct ntptimeval *ntvp); }
370165138Syongari249	UNIMPL	nosys
371165138Syongari; syscall numbers initially used in OpenBSD
372165138Syongari250	MSTD	{ int minherit(void *addr, size_t len, int inherit); }
373165138Syongari251	MSTD	{ int rfork(int flags); }
374165138Syongari252	MSTD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
375165138Syongari		    int timeout); }
376165138Syongari253	MSTD	{ int issetugid(void); }
377165138Syongari254	STD	{ int lchown(char *path, int uid, int gid); }
378165138Syongari255	UNIMPL	nosys
379165138Syongari256	UNIMPL	nosys
380165138Syongari257	UNIMPL	nosys
381165138Syongari258	UNIMPL	nosys
382165138Syongari259	UNIMPL	nosys
383165138Syongari260	UNIMPL	nosys
384165138Syongari261	UNIMPL	nosys
385165138Syongari262	UNIMPL	nosys
386165138Syongari263	UNIMPL	nosys
387165138Syongari264	UNIMPL	nosys
388165138Syongari265	UNIMPL	nosys
389165138Syongari266	UNIMPL	nosys
390165138Syongari267	UNIMPL	nosys
391165138Syongari268	UNIMPL	nosys
392165138Syongari269	UNIMPL	nosys
393165138Syongari270	UNIMPL	nosys
394165138Syongari271	UNIMPL	nosys
395165138Syongari272	STD	{ int getdents(int fd, char *buf, size_t count); }
396165138Syongari273	UNIMPL	nosys
397165138Syongari274	STD	{ int lchmod(char *path, mode_t mode); }
398165138Syongari275	NOPROTO { int lchown(char *path, uid_t uid, gid_t gid); } \
399165138Syongari		    netbsd_lchown lchown_args int
400165138Syongari276	STD	{ int lutimes(char *path, struct timeval *tptr); }
401165138Syongari277	MNOPROTO { int msync(void *addr, size_t len, int flags); } \
402165138Syongari		    netbsd_msync msync_args int
403165138Syongari278	STD	{ int nstat(char *path, struct nstat *ub); }
404165138Syongari279	MSTD	{ int nfstat(int fd, struct nstat *sb); }
405165138Syongari280	STD	{ int nlstat(char *path, struct nstat *ub); }
406165138Syongari281	UNIMPL	nosys
407165138Syongari282	UNIMPL	nosys
408165138Syongari283	UNIMPL	nosys
409165138Syongari284	UNIMPL	nosys
410165138Syongari285	UNIMPL	nosys
411165138Syongari286	UNIMPL	nosys
412165138Syongari287	UNIMPL	nosys
413165138Syongari288	UNIMPL	nosys
414165138Syongari289	UNIMPL	nosys
415165138Syongari290	UNIMPL	nosys
416165138Syongari291	UNIMPL	nosys
417165138Syongari292	UNIMPL	nosys
418165138Syongari293	UNIMPL	nosys
419165138Syongari294	UNIMPL	nosys
420165138Syongari295	UNIMPL	nosys
421165138Syongari296	UNIMPL	nosys
422165138Syongari; XXX 297 is 300 in NetBSD 
423165138Syongari297	COMPAT4	{ int fhstatfs(const struct fhandle *u_fhp, \
424165138Syongari		    struct ostatfs *buf); }
425165138Syongari298	STD	{ int fhopen(const struct fhandle *u_fhp, int flags); }
426165138Syongari299	STD	{ int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
427165138Syongari; syscall numbers for FreeBSD
428165138Syongari300	MSTD	{ int modnext(int modid); }
429165138Syongari301	MSTD	{ int modstat(int modid, struct module_stat* stat); }
430165138Syongari302	MSTD	{ int modfnext(int modid); }
431165138Syongari303	MSTD	{ int modfind(const char *name); }
432165138Syongari304	MSTD	{ int kldload(const char *file); }
433165138Syongari305	MSTD	{ int kldunload(int fileid); }
434165138Syongari306	MSTD	{ int kldfind(const char *file); }
435165138Syongari307	MSTD	{ int kldnext(int fileid); }
436165138Syongari308	MSTD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
437165138Syongari309	MSTD	{ int kldfirstmod(int fileid); }
438165138Syongari310	MSTD	{ int getsid(pid_t pid); }
439165138Syongari311	MSTD	{ int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
440165138Syongari312	MSTD	{ int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
441165138Syongari313	OBSOL	signanosleep
442165138Syongari314     NOSTD	{ int aio_return(struct aiocb *aiocbp); }
443165138Syongari315     NOSTD	{ int aio_suspend(struct aiocb * const * aiocbp, int nent, \
444165138Syongari		    const struct timespec *timeout); }
445165138Syongari316     NOSTD	{ int aio_cancel(int fd, struct aiocb *aiocbp); }
446165138Syongari317     NOSTD	{ int aio_error(struct aiocb *aiocbp); }
447165138Syongari318     NOSTD	{ int aio_read(struct aiocb *aiocbp); }
448165138Syongari319     NOSTD	{ int aio_write(struct aiocb *aiocbp); }
449165138Syongari320     NOSTD	{ int lio_listio(int mode, struct aiocb * const *acb_list, \
450165138Syongari		    int nent, struct sigevent *sig); }
451165138Syongari321     MSTD	{ int yield(void); }
452165138Syongari322	OBSOL	thr_sleep
453165138Syongari323	OBSOL	thr_wakeup
454165138Syongari324     MSTD	{ int mlockall(int how); }
455165138Syongari325     MSTD	{ int munlockall(void); }
456165138Syongari326     STD	{ int __getcwd(u_char *buf, u_int buflen); }
457165138Syongari
458165138Syongari327     MSTD	{ int sched_setparam (pid_t pid, \
459165138Syongari		    const struct sched_param *param); }
460165138Syongari328     MSTD	{ int sched_getparam (pid_t pid, struct sched_param *param); }
461165138Syongari
462165138Syongari329     MSTD	{ int sched_setscheduler (pid_t pid, int policy, \
463165138Syongari		    const struct sched_param *param); }
464165138Syongari330     MSTD	{ int sched_getscheduler (pid_t pid); }
465165138Syongari
466165138Syongari331     MSTD	{ int sched_yield (void); }
467165138Syongari332     MSTD	{ int sched_get_priority_max (int policy); }
468165138Syongari333     MSTD	{ int sched_get_priority_min (int policy); }
469165138Syongari334     MSTD	{ int sched_rr_get_interval (pid_t pid, \
470165138Syongari		    struct timespec *interval); }
471165138Syongari335	MSTD	{ int utrace(const void *addr, size_t len); }
472165138Syongari336	MCOMPAT4 { int sendfile(int fd, int s, off_t offset, size_t nbytes, \
473165138Syongari		    struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
474165138Syongari337	STD	{ int kldsym(int fileid, int cmd, void *data); }
475165138Syongari338	MSTD	{ int jail(struct jail *jail); }
476165138Syongari339	UNIMPL	pioctl
477165138Syongari340	MSTD	{ int sigprocmask(int how, const sigset_t *set, \
478165138Syongari		    sigset_t *oset); }
479165138Syongari341	MSTD	{ int sigsuspend(const sigset_t *sigmask); }
480165138Syongari342	MCOMPAT4 { int sigaction(int sig, const struct sigaction *act, \
481165138Syongari		    struct sigaction *oact); }
482165138Syongari343	MSTD	{ int sigpending(sigset_t *set); }
483165138Syongari344	MCOMPAT4 { int sigreturn(const struct ucontext4 *sigcntxp); }
484165138Syongari345	MSTD	{ int sigtimedwait(const sigset_t *set, \
485165138Syongari		    siginfo_t *info, const struct timespec *timeout); }
486165138Syongari346	MSTD	{ int sigwaitinfo(const sigset_t *set, siginfo_t *info); }
487165138Syongari347	MSTD	{ int __acl_get_file(const char *path, \
488165138Syongari		    acl_type_t type, struct acl *aclp); }
489165138Syongari348	MSTD	{ int __acl_set_file(const char *path, \
490165138Syongari		    acl_type_t type, struct acl *aclp); }
491165138Syongari349	MSTD	{ int __acl_get_fd(int filedes, acl_type_t type, \
492165138Syongari		    struct acl *aclp); }
493165138Syongari350	MSTD	{ int __acl_set_fd(int filedes, acl_type_t type, \
494165138Syongari		    struct acl *aclp); }
495165138Syongari351	MSTD	{ int __acl_delete_file(const char *path, acl_type_t type); }
496165138Syongari352	MSTD	{ int __acl_delete_fd(int filedes, acl_type_t type); }
497165138Syongari353	MSTD	{ int __acl_aclcheck_file(const char *path, \
498165138Syongari		    acl_type_t type, struct acl *aclp); }
499165138Syongari354	MSTD	{ int __acl_aclcheck_fd(int filedes, acl_type_t type, \
500165138Syongari		    struct acl *aclp); }
501165138Syongari355	STD	{ int extattrctl(const char *path, int cmd, \
502165138Syongari		    const char *filename, int attrnamespace, \
503165138Syongari		    const char *attrname); }
504165138Syongari356	STD	{ int extattr_set_file(const char *path, \
505165138Syongari		    int attrnamespace, const char *attrname, \
506165138Syongari		    void *data, size_t nbytes); }
507165138Syongari357	STD	{ ssize_t extattr_get_file(const char *path, \
508165138Syongari		    int attrnamespace, const char *attrname, \
509165138Syongari		    void *data, size_t nbytes); }
510165138Syongari358	STD	{ int extattr_delete_file(const char *path, \
511165138Syongari		    int attrnamespace, const char *attrname); }
512165138Syongari359	NOSTD	{ int aio_waitcomplete(struct aiocb **aiocbp, \
513165138Syongari		    struct timespec *timeout); }
514165138Syongari360	MSTD	{ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
515165138Syongari361	MSTD	{ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
516165138Syongari362	MSTD	{ int kqueue(void); }
517165138Syongari363	MSTD	{ int kevent(int fd, \
518165138Syongari		    const struct kevent *changelist, int nchanges, \
519165138Syongari		    struct kevent *eventlist, int nevents, \
520165138Syongari		    const struct timespec *timeout); }
521165138Syongari364	UNIMPL	__cap_get_proc
522165138Syongari365	UNIMPL	__cap_set_proc
523165138Syongari366	UNIMPL	__cap_get_fd
524165138Syongari367	UNIMPL	__cap_get_file
525165138Syongari368	UNIMPL	__cap_set_fd
526165138Syongari369	UNIMPL	__cap_set_file
527165138Syongari370	NODEF	lkmressys lkmressys nosys_args int
528165138Syongari371	STD	{ int extattr_set_fd(int fd, int attrnamespace, \
529165138Syongari		    const char *attrname, void *data, \
530165138Syongari		    size_t nbytes); }
531165138Syongari372	STD	{ ssize_t extattr_get_fd(int fd, int attrnamespace, \
532165138Syongari		    const char *attrname, void *data, size_t nbytes); }
533165138Syongari373	STD	{ int extattr_delete_fd(int fd, int attrnamespace, \
534165138Syongari		    const char *attrname); }
535165138Syongari374	MSTD	{ int __setugid(int flag); }
536165138Syongari375	NOIMPL	{ int nfsclnt(int flag, caddr_t argp); }
537165138Syongari376	STD	{ int eaccess(char *path, int flags); }
538165138Syongari377	UNIMPL	afs_syscall
539165138Syongari378	MSTD	{ int nmount(struct iovec *iovp, unsigned int iovcnt, \
540165138Syongari		    int flags); }
541165138Syongari379	MSTD	{ int kse_exit(void); }
542165138Syongari380	MSTD	{ int kse_wakeup(struct kse_mailbox *mbx); }
543165138Syongari381	MSTD	{ int kse_create(struct kse_mailbox *mbx, \
544165138Syongari		    int newgroup); }
545165138Syongari382	MSTD	{ int kse_thr_interrupt(struct kse_thr_mailbox *tmbx, int cmd, \
546165138Syongari		    long data); }
547165138Syongari383	MSTD	{ int kse_release(struct timespec *timeout); }
548165138Syongari384	MSTD	{ int __mac_get_proc(struct mac *mac_p); }
549165138Syongari385	MSTD	{ int __mac_set_proc(struct mac *mac_p); }
550165138Syongari386	MSTD	{ int __mac_get_fd(int fd, struct mac *mac_p); }
551165138Syongari387	MSTD	{ int __mac_get_file(const char *path_p, \
552165138Syongari		    struct mac *mac_p); }
553165138Syongari388	MSTD	{ int __mac_set_fd(int fd, struct mac *mac_p); }
554165138Syongari389	MSTD	{ int __mac_set_file(const char *path_p, \
555165138Syongari		    struct mac *mac_p); }
556165138Syongari390	STD	{ int kenv(int what, const char *name, char *value, \
557165138Syongari		    int len); }
558165138Syongari391	STD	{ int lchflags(const char *path, int flags); }
559165138Syongari392	STD	{ int uuidgen(struct uuid *store, int count); }
560165138Syongari393	MSTD	{ int sendfile(int fd, int s, off_t offset, size_t nbytes, \
561165138Syongari		    struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
562165138Syongari394	MSTD	{ int mac_syscall(const char *policy, int call, \
563165138Syongari		    void *arg); }
564165138Syongari395	STD	{ int getfsstat(struct statfs *buf, long bufsize, \
565165138Syongari		    int flags); }
566165138Syongari396	STD	{ int statfs(char *path, struct statfs *buf); }
567165138Syongari397	STD	{ int fstatfs(int fd, struct statfs *buf); }
568165138Syongari398	STD	{ int fhstatfs(const struct fhandle *u_fhp, \
569165138Syongari		    struct statfs *buf); }
570165138Syongari399	UNIMPL	nosys
571165138Syongari400	MNOSTD	{ int ksem_close(semid_t id); }
572165138Syongari401	MNOSTD	{ int ksem_post(semid_t id); }
573165138Syongari402	MNOSTD	{ int ksem_wait(semid_t id); }
574165138Syongari403	MNOSTD	{ int ksem_trywait(semid_t id); }
575165138Syongari404	MNOSTD	{ int ksem_init(semid_t *idp, unsigned int value); }
576165138Syongari405	MNOSTD	{ int ksem_open(semid_t *idp, const char *name, \
577165138Syongari		    int oflag, mode_t mode, unsigned int value); }
578165138Syongari406	MNOSTD	{ int ksem_unlink(const char *name); }
579165138Syongari407	MNOSTD	{ int ksem_getvalue(semid_t id, int *val); }
580165138Syongari408	MNOSTD	{ int ksem_destroy(semid_t id); }
581165138Syongari409	MSTD	{ int __mac_get_pid(pid_t pid, struct mac *mac_p); }
582165138Syongari410	MSTD	{ int __mac_get_link(const char *path_p, \
583165138Syongari		    struct mac *mac_p); }
584165138Syongari411	MSTD	{ int __mac_set_link(const char *path_p, \
585165138Syongari		    struct mac *mac_p); }
586165138Syongari412	STD	{ int extattr_set_link(const char *path, \
587165138Syongari		    int attrnamespace, const char *attrname, \
588165138Syongari		    void *data, size_t nbytes); }
589165138Syongari413	STD	{ ssize_t extattr_get_link(const char *path, \
590165138Syongari		    int attrnamespace, const char *attrname, \
591165138Syongari		    void *data, size_t nbytes); }
592165138Syongari414	STD	{ int extattr_delete_link(const char *path, \
593165138Syongari		    int attrnamespace, const char *attrname); }
594165138Syongari415	MSTD	{ int __mac_execve(char *fname, char **argv, \
595165138Syongari		    char **envv, struct mac *mac_p); }
596165138Syongari416	MSTD	{ int sigaction(int sig, const struct sigaction *act, \
597165138Syongari		    struct sigaction *oact); }
598165138Syongari417	MSTD	{ int sigreturn(const struct __ucontext *sigcntxp); }
599165138Syongari418	UNIMPL	__xstat
600165138Syongari419	UNIMPL	__xfstat
601165138Syongari420	UNIMPL	__xlstat
602165138Syongari421	MSTD	{ int getcontext(struct __ucontext *ucp); }
603165138Syongari422	MSTD	{ int setcontext(const struct __ucontext *ucp); }
604165138Syongari423	MSTD	{ int swapcontext(struct __ucontext *oucp, \
605165138Syongari		    const struct __ucontext *ucp); }
606165138Syongari424	MSTD	{ int swapoff(const char *name); }
607165138Syongari425	MSTD	{ int __acl_get_link(const char *path, \
608165138Syongari		    acl_type_t type, struct acl *aclp); }
609165138Syongari426	MSTD	{ int __acl_set_link(const char *path, \
610165138Syongari		    acl_type_t type, struct acl *aclp); }
611165138Syongari427	MSTD	{ int __acl_delete_link(const char *path, \
612165138Syongari		    acl_type_t type); }
613165138Syongari428	MSTD	{ int __acl_aclcheck_link(const char *path, \
614165138Syongari		    acl_type_t type, struct acl *aclp); }
615165138Syongari429	MSTD	{ int sigwait(const sigset_t *set, int *sig); }
616165138Syongari430	MSTD	{ int thr_create(ucontext_t *ctx, long *id, int flags); }
617165138Syongari431	MSTD	{ void thr_exit(long *state); }
618165138Syongari432	MSTD	{ int thr_self(long *id); }
619165138Syongari433	MSTD	{ int thr_kill(long id, int sig); }
620165138Syongari434	MSTD	{ int _umtx_lock(struct umtx *umtx); }
621165138Syongari435	MSTD	{ int _umtx_unlock(struct umtx *umtx); }
622165138Syongari436	MSTD	{ int jail_attach(int jid); }
623165138Syongari437	STD	{ ssize_t extattr_list_fd(int fd, int attrnamespace, \
624165138Syongari		    void *data, size_t nbytes); }
625165138Syongari438	STD	{ ssize_t extattr_list_file(const char *path, \
626165138Syongari		    int attrnamespace, void *data, size_t nbytes); }
627165138Syongari439	STD	{ ssize_t extattr_list_link(const char *path, \
628165138Syongari		    int attrnamespace, void *data, size_t nbytes); }
629165138Syongari440	MSTD	{ int kse_switchin(struct kse_thr_mailbox *tmbx, \
630165138Syongari		    int flags); }
631165138Syongari441	MNOSTD	{ int ksem_timedwait(semid_t id, struct timespec *abstime); }
632165138Syongari442	MSTD	{ int thr_suspend(const struct timespec *timeout); }
633165138Syongari443	MSTD	{ int thr_wake(long id); }
634165138Syongari444	MSTD	{ int kldunloadf(int fileid, int flags); }
635165138Syongari445	MNOSTD	{ int audit(const void *record, u_int length); }
636165138Syongari446	MNOSTD	{ int auditon(int cmd, void *data, u_int length); }
637165138Syongari447	MNOSTD	{ int getauid(uid_t *auid); }
638165138Syongari448	MNOSTD	{ int setauid(uid_t *auid); }
639165138Syongari449	MNOSTD	{ int getaudit(struct auditinfo *auditinfo); }
640165138Syongari450	MNOSTD	{ int setaudit(struct auditinfo *auditinfo); }
641165138Syongari451	MNOSTD	{ int getaudit_addr(struct auditinfo_addr \
642165138Syongari		    *auditinfo_addr, u_int length); }
643165138Syongari452	MNOSTD	{ int setaudit_addr(struct auditinfo_addr \
644165138Syongari		    *auditinfo_addr, u_int length); }
645165138Syongari453	MNOSTD	{ int auditctl(int cmd, char *path); }
646165138Syongari454	MSTD	{ int _umtx_op(struct umtx *umtx, int op, long id, void *uaddr,\
647165138Syongari		    void *uaddr2); }
648165138Syongari; Please copy any additions and changes to the following compatability tables:
649165138Syongari; sys/compat/freebsd32/syscalls.master
650165138Syongari