Expand PMF_FN_* macros.
[netbsd-mini2440.git] / sys / compat / freebsd / syscalls.master
blob79c2980dd3e300fa158c0a1a4e8dff82a57f5042
1         $NetBSD: syscalls.master,v 1.61 2009/01/11 02:45:47 christos Exp $
3 ;       from: @(#)syscalls.master       8.2 (Berkeley) 1/13/94
5 ; NetBSD COMPAT_FREEBSD system call name/number "master" file.
6 ; (See syscalls.conf to see what it is processed into.)
8 ; Fields: number type [type-dependent ...]
9 ;       number  system call number, must be in order
10 ;       type    one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
11 ;               the compatibility options defined in syscalls.conf.
13 ; types:
14 ;       STD     always included
15 ;       OBSOL   obsolete, not included in system
16 ;       UNIMPL  unimplemented, not included in system
17 ;       NODEF   included, but don't define the syscall number
18 ;       NOARGS  included, but don't define the syscall args structure
20 ; The compat options are defined in the syscalls.conf file, and the
21 ; compat option name is prefixed to the syscall name.  Other than
22 ; that, they're like NODEF (for 'compat' options), or STD (for
23 ; 'libcompat' options).
25 ; The type-dependent arguments are as follows:
26 ; For STD, NODEF, NOARGS, and compat syscalls:
27 ;       { pseudo-proto } [alias]
28 ; For other syscalls:
29 ;       [comment]
31 ; #ifdef's, etc. may be included, and are copied to the output files.
32 ; #include's are copied to the syscall names and switch definition files only.
34 #if defined(_KERNEL_OPT)
35 #include "opt_ktrace.h"
36 #include "opt_ntp.h"
37 #include "opt_sysv.h"
38 #include "opt_compat_43.h"
39 #include "opt_posix.h"
41 #include "fs_lfs.h"
42 #endif
44 #include <sys/param.h>
45 #include <sys/systm.h>
46 #include <sys/signal.h>
47 #include <sys/mount.h>
48 #include <sys/syscallargs.h>
50 #include <compat/sys/signal.h>
51 #include <compat/sys/time.h>
53 #include <compat/freebsd/freebsd_syscallargs.h>
55 #include <machine/freebsd_machdep.h>
59 ; Reserved/unimplemented system calls in the range 0-150 inclusive
60 ; are reserved for use in future Berkeley releases.
61 ; Additional system calls implemented in vendor and other
62 ; redistributions should be placed in the reserved range at the end
63 ; of the current calls.
65 0       NOARGS          { int|sys||nosys(void); } syscall
66 1       NOARGS          { int|sys||exit(int rval); }
67 2       NOARGS          { int|sys||fork(void); }
68 3       NOARGS          { int|sys||read(int fd, char *buf, u_int nbyte); }
69 4       NOARGS          { int|sys||write(int fd, char *buf, u_int nbyte); }
70 5       NOARGS          { int|sys||open(const char *path, int flags, int mode); }
71 6       NOARGS          { int|sys||close(int fd); }
72 7       NOARGS          { int|compat_50_sys||wait4(int pid, int *status, \
73                             int options, struct rusage50 *rusage); }
74 8       NOARGS          { int|compat_43_sys||creat(const char *path, \
75                             int mode); } ocreat
76 9       NOARGS          { int|sys||link(const char *path, const char *link); }
77 10      NOARGS          { int|sys||unlink(const char *path); }
78 11      OBSOL           execv
79 12      NOARGS          { int|sys||chdir(const char *path); }
80 13      NOARGS          { int|sys||fchdir(int fd); }
81 14      NOARGS          { int|compat_50_sys||mknod(const char *path, int mode, int dev); }
82 15      NOARGS          { int|sys||chmod(const char *path, int mode); }
83 16      NOARGS          { int|sys||chown(const char *path, int uid, int gid); }
84 17      NOARGS          { int|sys||obreak(char *nsize); } break
85 18      NOARGS          { int|compat_20_sys||getfsstat(struct statfs12 *buf, \
86                             long bufsize, int flags); }
87 19      NOARGS          { long|compat_43_sys||lseek(int fd, long offset, \
88                             int whence); } olseek
89 20      NOARGS          { pid_t|sys||getpid_with_ppid(void); }
90 21      STD             { int|freebsd_sys||mount(int type, const char *path, \
91                             int flags, void *data); }
92 22      NOARGS          { int|sys||unmount(const char *path, int flags); }
93 23      NOARGS          { int|sys||setuid(uid_t uid); }
94 24      NOARGS          { uid_t|sys||getuid_with_euid(void); }
95 25      NOARGS          { uid_t|sys||geteuid(void); }
96 26      STD             { int|freebsd_sys||ptrace(int req, pid_t pid, \
97                             void *addr, int data); }
98 27      NOARGS          { int|sys||recvmsg(int s, struct msghdr *msg, \
99                             int flags); }
100 28      NOARGS          { int|sys||sendmsg(int s, void *msg, int flags); }
101 29      NOARGS          { int|sys||recvfrom(int s, void *buf, size_t len, \
102                             int flags, void *from, int *fromlenaddr); }
103 30      NOARGS          { int|sys||accept(int s, void *name, int *anamelen); }
104 31      NOARGS          { int|sys||getpeername(int fdes, void *asa, \
105                             int *alen); }
106 32      NOARGS          { int|sys||getsockname(int fdes, void *asa, \
107                             int *alen); }
108 33      NOARGS          { int|sys||access(const char *path, int flags); }
109 34      NOARGS          { int|sys||chflags(const char *path, int flags); }
110 35      NOARGS          { int|sys||fchflags(int fd, int flags); }
111 36      NOARGS          { int|sys||sync(void); }
112 37      NOARGS          { int|sys||kill(int pid, int signum); }
113 38      NOARGS          { int|compat_43_sys||stat(const char *path, \
114                             struct stat43 *ub); } stat43
115 39      NOARGS          { pid_t|sys||getppid(void); }
116 40      NOARGS          { int|compat_43_sys||lstat(const char *path, \
117                             struct stat43 *ub); } lstat43
118 41      NOARGS          { int|sys||dup(u_int fd); }
119 42      NOARGS          { int|sys||pipe(void); }
120 43      NOARGS          { gid_t|sys||getegid(void); }
121 44      NOARGS          { int|sys||profil(void *samples, u_int size, \
122                             u_int offset, u_int scale); }
123 #ifdef KTRACE
124 45      NOARGS          { int|sys||ktrace(char *fname, int ops, int facs, \
125                             int pid); }
126 #else
127 45      EXCL            ktrace
128 #endif
129 46      NOARGS          { int|compat_13_sys||sigaction(int signum, \
130                             const struct sigaction13 *nsa, \
131                             struct sigaction13 *osa); }
132 47      NOARGS          { gid_t|sys||getgid_with_egid(void); }
133 48      NOARGS          { int|compat_13_sys||sigprocmask(int how, \
134                             int mask); }
135 49      NOARGS          { int|sys||__getlogin(char *namebuf, u_int namelen); }
136 50      NOARGS          { int|sys||__setlogin(char *namebuf); }
137 51      NOARGS          { int|sys||acct(char *path); }
138 52      NOARGS          { int|compat_13_sys||sigpending(void); }
139 53      NOARGS          { int|compat_13_sys||sigaltstack( \
140                             const struct sigaltstack13 *nss, \
141                             struct sigaltstack13 *oss); }
142 54      STD             { int|freebsd_sys||ioctl(int fd, u_long com, \
143                             void *data); }
144 55      NOARGS          { int|sys||reboot(int opt); } oreboot
145 56      NOARGS          { int|sys||revoke(const char *path); }
146 57      NOARGS          { int|sys||symlink(const char *path, const char *link); }
147 58      NOARGS          { int|sys||readlink(const char *path, \
148                             char *buf, int count); }
149 59      NOARGS          { int|sys||execve(const char *path, \
150                             char **argp, char **envp); }
151 60      NOARGS          { int|sys||umask(int newmask); }
152 61      NOARGS          { int|sys||chroot(const char *path); }
153 62      NOARGS          { int|compat_43_sys||fstat(int fd, struct stat43 *sb); } \
154                             fstat43
155 63      NOARGS          { int|compat_43_sys||getkerninfo(int op, char *where, \
156                             int *size, int arg); } ogetkerninfo
157 64      NOARGS          { int|compat_43_sys||getpagesize(void); } ogetpagesize
158 65      STD             { int|freebsd_sys||msync(void *addr, size_t len, \
159                             int flags); }
160 66      NOARGS          { int|sys||vfork(void); }
161 67      OBSOL           vread
162 68      OBSOL           vwrite
163 69      NOARGS          { int|sys||sbrk(intptr_t incr); }
164 70      NOARGS          { int|sys||sstk(int incr); }
165 71      NOARGS          { int|compat_43_sys||mmap(void *addr, size_t len, \
166                             int prot, int flags, int fd, long pos); } ommap
167 72      NOARGS          { int|sys||ovadvise(int anom); } vadvise
168 73      NOARGS          { int|sys||munmap(void *addr, size_t len); }
169 74      NOARGS          { int|sys||mprotect(void *addr, size_t len, \
170                             int prot); }
171 75      NOARGS          { int|sys||madvise(void *addr, size_t len, \
172                             int behav); }
173 76      OBSOL           vhangup
174 77      OBSOL           vlimit
175 78      NOARGS          { int|sys||mincore(void *addr, size_t len, char *vec); }
176 79      NOARGS          { int|sys||getgroups(u_int gidsetsize, gid_t *gidset); }
177 80      NOARGS          { int|sys||setgroups(u_int gidsetsize, gid_t *gidset); }
178 81      NOARGS          { int|sys||getpgrp(void); }
179 82      NOARGS          { int|sys||setpgid(int pid, int pgid); }
180 83      NOARGS          { int|compat_50_sys||setitimer(u_int which, \
181                             struct itimerval50 *itv, struct itimerval50 *oitv); }
182 84      NOARGS          { int|compat_43_sys||wait(void); } owait
183 85      NOARGS          { int|compat_12_sys||swapon(char *name); }
184 86      NOARGS          { int|compat_50_sys||getitimer(u_int which, \
185                             struct itimerval50 *itv); }
186 87      NOARGS          { int|compat_43_sys||gethostname(char *hostname, \
187                             u_int len); } ogethostname
188 88      NOARGS          { int|compat_43_sys||sethostname(char *hostname, \
189                             u_int len); } osethostname
190 89      NOARGS          { int|compat_43_sys||getdtablesize(void); } \
191                             ogetdtablesize
192 90      NOARGS          { int|sys||dup2(u_int from, u_int to); }
193 91      UNIMPL          getdopt
194 92      NOARGS          { int|sys||fcntl(int fd, int cmd, void *arg); }
195 93      NOARGS          { int|compat_50_sys||select(u_int nd, fd_set *in, \
196                             fd_set *ou, fd_set *ex, struct timeval50 *tv); }
197 94      UNIMPL          setdopt
198 95      NOARGS          { int|sys||fsync(int fd); }
199 96      NOARGS          { int|sys||setpriority(int which, int who, int prio); }
200 97      NOARGS          { int|compat_30_sys||socket(int domain, int type, int protocol); }
201 98      NOARGS          { int|sys||connect(int s, void *name, int namelen); }
202 99      NOARGS          { int|compat_43_sys||accept(int s, void *name, \
203                             int *anamelen); } oaccept
204 100     NOARGS          { int|sys||getpriority(int which, int who); }
205 101     NOARGS          { int|compat_43_sys||send(int s, void *buf, int len, \
206                             int flags); } osend
207 102     NOARGS          { int|compat_43_sys||recv(int s, void *buf, int len, \
208                             int flags); } orecv
209 103     STD             { int|freebsd_sys||sigreturn( \
210                             struct freebsd_sigcontext *scp); }
211 104     NOARGS          { int|sys||bind(int s, void *name, int namelen); }
212 105     NOARGS          { int|sys||setsockopt(int s, int level, int name, \
213                             void *val, int valsize); }
214 106     NOARGS          { int|sys||listen(int s, int backlog); }
215 107     OBSOL           vtimes
216 108     NOARGS          { int|compat_43_sys||sigvec(int signum, \
217                             struct sigvec *nsv, struct sigvec *osv); } osigvec
218 109     NOARGS          { int|compat_43_sys||sigblock(int mask); } osigblock
219 110     NOARGS          { int|compat_43_sys||sigsetmask(int mask); } osigsetmask
220 111     NOARGS          { int|compat_13_sys||sigsuspend(int mask); }
221 112     NOARGS          { int|compat_43_sys||sigstack(struct sigstack *nss, \
222                             struct sigstack *oss); } osigstack
223 113     NOARGS          { int|compat_43_sys||recvmsg(int s, \
224                             struct omsghdr *msg, int flags); } orecvmsg
225 114     NOARGS          { int|compat_43_sys||sendmsg(int s, void *msg, \
226                             int flags); } osendmsg
227 #ifdef TRACE
228 115     NOARGS          { int|sys||vtrace(int request, int value); }
229 #else
230 115     OBSOL           vtrace
231 #endif
232 116     NOARGS          { int|compat_50_sys||gettimeofday(struct timeval50 *tp, \
233                             struct timezone *tzp); }
234 117     NOARGS          { int|compat_50_sys||getrusage(int who, \
235                             struct rusage50 *rusage); }
236 118     NOARGS          { int|sys||getsockopt(int s, int level, int name, \
237                             void *val, int *avalsize); }
238 119     OBSOL           resuba
239 120     NOARGS          { int|sys||readv(int fd, struct iovec *iovp, \
240                             u_int iovcnt); }
241 121     NOARGS          { int|sys||writev(int fd, struct iovec *iovp, \
242                             u_int iovcnt); }
243 122     NOARGS          { int|compat_50_sys||settimeofday(struct timeval50 *tv, \
244                             struct timezone50 *tzp); }
245 123     NOARGS          { int|sys||fchown(int fd, int uid, int gid); }
246 124     NOARGS          { int|sys||fchmod(int fd, int mode); }
247 125     NOARGS          { int|compat_43_sys||recvfrom(int s, void *buf, \
248                             size_t len, int flags, void *from, \
249                             int *fromlenaddr); } orecvfrom
250 126     NOARGS          { int|sys||setreuid(int ruid, int euid); }
251 127     NOARGS          { int|sys||setregid(int rgid, int egid); }
252 128     NOARGS          { int|sys||rename(const char *from, const char *to); }
253 129     NOARGS          { int|compat_43_sys||truncate(const char *path, \
254                             long length); } otruncate
255 130     NOARGS          { int|compat_43_sys||ftruncate(int fd, long length); } \
256                             oftruncate
257 131     NOARGS          { int|sys||flock(int fd, int how); }
258 132     NOARGS          { int|sys||mkfifo(const char *path, int mode); }
259 133     NOARGS          { int|sys||sendto(int s, void *buf, size_t len, \
260                             int flags, void *to, int tolen); }
261 134     NOARGS          { int|sys||shutdown(int s, int how); }
262 135     NOARGS          { int|sys||socketpair(int domain, int type, \
263                             int protocol, int *rsv); }
264 136     NOARGS          { int|sys||mkdir(const char *path, int mode); }
265 137     NOARGS          { int|sys||rmdir(const char *path); }
266 138     NOARGS          { int|compat_50_sys||utimes(char *path, \
267                             struct timeval50 *tptr); }
268 139     OBSOL           4.2 sigreturn
269 140     NOARGS          { int|compat_50_sys||adjtime(struct timeval50 *delta, \
270                             struct timeval50 *olddelta); }
271 141     NOARGS          { int|compat_43_sys||getpeername(int fdes, void *asa, \
272                             int *alen); } ogetpeername
273 142     NOARGS          { int32_t|compat_43_sys||gethostid(void); } ogethostid
274 143     NOARGS          { int|compat_43_sys||sethostid(int32_t hostid); } \
275                             osethostid
276 144     NOARGS          { int|compat_43_sys||getrlimit(u_int which, \
277                             struct orlimit *rlp); } ogetrlimit
278 145     NOARGS          { int|compat_43_sys||setrlimit(u_int which, \
279                             struct orlimit *rlp); } osetrlimit
280 146     NOARGS          { int|compat_43_sys||killpg(int pgid, int signum); } \
281                             okillpg
282 147     NOARGS          { int|sys||setsid(void); }
283 148     NOARGS          { int|sys||quotactl(char *path, int cmd, int uid, \
284                             void *arg); }
285 149     NOARGS          { int|compat_43_sys||quota(void); } oquota
286 150     NOARGS          { int|compat_43_sys||getsockname(int fdec, void *asa, \
287                             int *alen); } ogetsockname
289 ; Syscalls 151-180 inclusive are reserved for vendor-specific
290 ; system calls.  (This includes various calls added for compatibity
291 ; with other Unix variants.)
292 ; Some of these calls are now supported by BSD...
293 151     UNIMPL          sem_lock
294 152     UNIMPL          sem_wakeup
295 153     UNIMPL          asyncdaemon
296 154     UNIMPL
297 155     UNIMPL          nfssvc
298 156     NOARGS          { int|compat_43_sys||getdirentries(int fd, char *buf, \
299                             u_int count, long *basep); } ogetdirentries
300 157     NOARGS          { int|compat_20_sys||statfs(const char *path, \
301                             struct statfs12 *buf); }
302 158     NOARGS          { int|compat_20_sys||fstatfs(int fd, \
303                             struct statfs12 *buf); }
304 159     UNIMPL
305 160     UNIMPL
306 #ifdef NFS
307 161     NOARGS          { int|compat_30_sys||getfh(const char *fname, \
308                             struct compat_30_fhandle *fhp); }
309 #else
310 161     UNIMPL          getfh
311 #endif
312 162     NOARGS          { int|compat_09_sys||getdomainname(char *domainname, \
313                             int len); }
314 163     NOARGS          { int|compat_09_sys||setdomainname(char *domainname, \
315                             int len); }
316 164     NOARGS          { int|compat_09_sys||uname(struct outsname *name); }
317 165     NOARGS          { int|sys||sysarch(int op, char *parms); }
318 166     STD             { int|freebsd_sys||rtprio(int function, pid_t pid, \
319                             struct freebsd_rtprio *rtp); }
320 167     UNIMPL
321 168     UNIMPL
322 ; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
323 #if defined(SYSVSEM) && !defined(_LP64)
324 169     STD             { int|freebsd_sys||semsys(int which, int a2, int a3, \
325                             int a4, int a5); }
326 #else
327 169     UNIMPL          1.0 semsys
328 #endif
329 ; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
330 #if defined(SYSVMSG) && !defined(_LP64)
331 170     STD             { int|freebsd_sys||msgsys(int which, int a2, int a3, \
332                             int a4, int a5, int a6); }
333 #else
334 170     UNIMPL          1.0 msgsys
335 #endif
336 ; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
337 #if defined(SYSVSHM) && !defined(_LP64)
338 171     STD             { int|freebsd_sys||shmsys(int which, int a2, int a3, \
339                             int a4); }
340 #else
341 171     UNIMPL          1.0 shmsys
342 #endif
343 172     UNIMPL
344 173     NOARGS          { ssize_t|sys||pread(int fd, void *buf, \
345                             size_t nbyte, int pad, off_t offset); }
346 174     NOARGS          { ssize_t|sys||pwrite(int fd, const void *buf, \
347                             size_t nbyte, int pad, off_t offset); }
348 175     UNIMPL
349 #ifdef NTP
350 176     STD             { int|freebsd||ntp_adjtime(struct freebsd_timex *tp); }
351 #else
352 176     EXCL            ntp_adjtime
353 #endif
354 177     UNIMPL          sfork
355 178     UNIMPL          getdescriptor
356 179     UNIMPL          setdescriptor
357 180     UNIMPL
359 ; Syscalls 180-199 are used by/reserved for BSD
360 181     NOARGS          { int|sys||setgid(gid_t gid); }
361 182     NOARGS          { int|sys||setegid(gid_t egid); }
362 183     NOARGS          { int|sys||seteuid(uid_t euid); }
363 #ifdef LFS
364 184     NOARGS          { int|sys||lfs_bmapv(fsid_t *fsidp, \
365                             struct block_info *blkiov, int blkcnt); }
366 185     NOARGS          { int|sys||lfs_markv(fsid_t *fsidp, \
367                             struct block_info *blkiov, int blkcnt); }
368 186     NOARGS          { int|sys||lfs_segclean(fsid_t *fsidp, u_long segment); }
369 187     NOARGS          { int|compat_50_sys||lfs_segwait(fsid_t *fsidp, \
370                             struct timeval50 *tv); }
371 #else
372 184     UNIMPL
373 185     UNIMPL
374 186     UNIMPL
375 187     UNIMPL
376 #endif
377 188     NOARGS          { int|compat_12_sys||stat(const char *path, \
378                             struct stat12 *ub); }
379 189     NOARGS          { int|compat_12_sys||fstat(int fd, \
380                             struct stat12 *sb); }
381 190     NOARGS          { int|compat_12_sys||lstat(const char *path, \
382                             struct stat12 *ub); }
383 191     NOARGS          { int|sys||pathconf(const char *path, int name); }
384 192     NOARGS          { int|sys||fpathconf(int fd, int name); }
385 193     UNIMPL
386 194     NOARGS          { int|sys||getrlimit(u_int which, struct rlimit *rlp); }
387 195     NOARGS          { int|sys||setrlimit(u_int which, struct rlimit *rlp); }
388 196     NOARGS          { int|compat_12_sys||getdirentries(int fd, char *buf, \
389                             u_int count, long *basep); }
390 197     STD             { void *|freebsd_sys||mmap(void *addr, size_t len, \
391                             int prot, int flags, int fd, long pad, off_t pos); }
392 198     NOARGS          { int|sys||nosys(void); } __syscall
393 199     NOARGS          { off_t|sys||lseek(int fd, int pad, off_t offset, \
394                             int whence); }
395 200     NOARGS          { int|sys||truncate(const char *path, int pad, \
396                             off_t length); }
397 201     NOARGS          { int|sys||ftruncate(int fd, int pad, off_t length); }
398 202     STD             { int|freebsd_sys||sysctl(int *name, u_int namelen, \
399                             void *old, size_t *oldlenp, void *new, \
400                             size_t newlen); }
401 203     NOARGS          { int|sys||mlock(void *addr, size_t len); }
402 204     NOARGS          { int|sys||munlock(void *addr, size_t len); }
403 #ifdef FREEBSD_BASED_ON_44LITE_R2
404 205     STD             { int|freebsd_sys||undelete(char *path); }
405 #else
406 205     UNIMPL          undelete
407 #endif
408 206     NOARGS          { int|compat_50_sys||futimes(int fd, \
409                             const struct timeval50 *tptr); }
410 207     NOARGS          { pid_t|sys||getpgid(pid_t pid); }
411 #if 0
412 208     NOARGS          { int|sys||reboot(int opt, char *bootstr); }
413 #else
414 208     UNIMPL          newreboot
415 #endif
416 209     NOARGS          { int|sys||poll(struct pollfd *fds, u_int nfds, \
417                             int timeout); }
419 ; Syscalls 210-219 are reserved for dynamically loaded syscalls
421 210     UNIMPL
422 211     UNIMPL
423 212     UNIMPL
424 213     UNIMPL
425 214     UNIMPL
426 215     UNIMPL
427 216     UNIMPL
428 217     UNIMPL
429 218     UNIMPL
430 219     UNIMPL
432 ; Syscalls 220-239 are reserved for syscalls imported from NetBSD
434 #ifdef SYSVSEM
435 220     NOARGS          { int|compat_14_sys||__semctl(int semid, int semnum, \
436                             int cmd, union __semun *arg); }
437 221     NOARGS          { int|sys||semget(key_t key, int nsems, int semflg); }
438 222     NOARGS          { int|sys||semop(int semid, struct sembuf *sops, \
439                             u_int nsops); }
440 223     NOARGS          { int|sys||semconfig(int flag); }
441 #else
442 220     UNIMPL          semctl
443 221     UNIMPL          semget
444 222     UNIMPL          semop
445 223     UNIMPL          semconfig
446 #endif
447 #ifdef SYSVMSG
448 224     NOARGS          { int|compat_14_sys||msgctl(int msqid, int cmd, \
449                             struct msqid14_ds *buf); }
450 225     NOARGS          { int|sys||msgget(key_t key, int msgflg); }
451 226     NOARGS          { int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \
452                             int msgflg); }
453 227     NOARGS          { int|sys||msgrcv(int msqid, void *msgp, size_t msgsz, \
454                             long msgtyp, int msgflg); }
455 #else
456 224     UNIMPL          msgctl
457 225     UNIMPL          msgget
458 226     UNIMPL          msgsnd
459 227     UNIMPL          msgrcv
460 #endif
461 #ifdef SYSVSHM
462 228     NOARGS          { int|sys||shmat(int shmid, void *shmaddr, int shmflg); }
463 229     NOARGS          { int|compat_14_sys||shmctl(int shmid, int cmd, \
464                             struct shmid_ds14 *buf); }
465 230     NOARGS          { int|sys||shmdt(void *shmaddr); }
466 231     NOARGS          { int|sys||shmget(key_t key, int size, int shmflg); }
467 #else
468 228     UNIMPL          shmat
469 229     UNIMPL          shmctl
470 230     UNIMPL          shmdt
471 231     UNIMPL          shmget
472 #endif
474 ; XXXX
475 232     NOARGS          { int|compat_50_sys||clock_gettime(clockid_t clock_id, \
476                             struct timespec50 *tp); }
477 233     NOARGS          { int|compat_50_sys||clock_settime(clockid_t clock_id, \
478                             const struct timespec50 *tp); }
479 234     NOARGS          { int|compat_50_sys||clock_getres(clockid_t clock_id, \
480                             struct timespec50 *tp); }
481 235     UNIMPL          timer_create
482 236     UNIMPL          timer_delete
483 237     UNIMPL          timer_settime
484 238     UNIMPL          timer_gettime
485 239     UNIMPL          timer_getoverrun
486 240     NOARGS          { int|compat_50_sys||nanosleep( \
487                             const struct timespec50 *rqtp, \
488                             struct timespec50 *rmtp); }
489 241     UNIMPL
490 242     UNIMPL
491 243     UNIMPL
492 244     UNIMPL
493 245     UNIMPL
494 246     UNIMPL
495 247     UNIMPL
496 248     UNIMPL
497 249     UNIMPL
498 ; syscall numbers initially used in OpenBSD
499 250     NOARGS          { int|sys||minherit(void *addr, size_t len, \
500                             int inherit); }
501 251     STD             { int|freebsd_sys||rfork(int flags); }
502 252     UNIMPL          openbsd_poll
503 253     NOARGS          { int|sys||issetugid(void); }
504 254     NOARGS          { int|sys||lchown(const char *path, int uid, int gid); }
505 255     UNIMPL
506 256     UNIMPL
507 257     UNIMPL
508 258     UNIMPL
509 259     UNIMPL
510 260     UNIMPL
511 261     UNIMPL
512 262     UNIMPL
513 263     UNIMPL
514 264     UNIMPL
515 265     UNIMPL
516 266     UNIMPL
517 267     UNIMPL
518 268     UNIMPL
519 269     UNIMPL
520 270     UNIMPL
521 271     UNIMPL
522 272     NOARGS          { int|compat_30_sys||getdents(int fd, char *buf, size_t count); }
523 273     UNIMPL
524 274     NOARGS          { int|sys||lchmod(const char *path, mode_t mode); }
525 275     NOARGS          { int|sys||lchown(const char *path, uid_t uid, \
526                             gid_t gid); } netbsd_lchown
527 276     NOARGS          { int|compat_50_sys||lutimes(const char *path, \
528                             const struct timeval50 *tptr); }
529 277     NOARGS          { int|sys|13|msync(void *addr, size_t len, int flags); }
530 278     NOARGS          { int|compat_30_sys|13|stat(const char *path, struct stat13 *ub); }
531 279     NOARGS          { int|compat_30_sys|13|fstat(int fd, struct stat13 *sb); }
532 280     NOARGS          { int|compat_30_sys|13|lstat(const char *path, struct stat13 *ub);}
533 281     UNIMPL
534 282     UNIMPL
535 283     UNIMPL
536 284     UNIMPL
537 285     UNIMPL
538 286     UNIMPL
539 287     UNIMPL
540 288     UNIMPL
541 289     UNIMPL
542 290     UNIMPL
543 291     UNIMPL
544 292     UNIMPL
545 293     UNIMPL
546 294     UNIMPL
547 295     UNIMPL
548 296     UNIMPL
549 297     NOARGS          { int|compat_20_sys||fhstatfs(const struct      \
550                             compat_30_fhandle *fhp, \
551                             struct statfs12 *buf); }
552 298     NOARGS          { int|compat_30_sys||fhopen(const       \
553                             struct compat_30_fhandle *fhp, int flags); }
554 299     NOARGS          { int|compat_30_sys||fhstat(const       \
555                             struct cocmpat_30_fhandlez *fhp,    \
556                             struct stat13 *sb); }
557 ; syscall numbers for FreeBSD
558 300     UNIMPL          modnext
559 301     UNIMPL          modstat
560 302     UNIMPL          modfnext
561 303     UNIMPL          modfind
562 304     UNIMPL          kldload
563 305     UNIMPL          kldunload
564 306     UNIMPL          kldfind
565 307     UNIMPL          kldnext
566 308     UNIMPL          kldstat
567 309     UNIMPL          kldfirstmod
568 310     NOARGS          { pid_t|sys||getsid(pid_t pid); }
569 311     UNIMPL          setresuid
570 312     UNIMPL          setresgid
571 313     UNIMPL          signanosleep
572 314     UNIMPL          aio_return
573 315     UNIMPL          aio_suspend
574 316     UNIMPL          aio_cancel
575 317     UNIMPL          aio_error
576 318     UNIMPL          aio_read
577 319     UNIMPL          aio_write
578 320     UNIMPL          lio_listio
579 321     NOARGS          { void|freebsd_sys||yield(void); }
580 322     UNIMPL          thr_sleep
581 323     UNIMPL          thr_wakeup
582 324     NOARGS          { int|sys||mlockall(int flags); }
583 325     NOARGS          { int|sys||munlockall(void); }
584 326     NOARGS          { int|sys||__getcwd(char *bufp, size_t length); }
585 327     STD             { int|freebsd_sys||sched_setparam(pid_t pid, \
586                             const struct freebsd_sched_param *sp); }
587 328     STD             { int|freebsd_sys||sched_getparam(pid_t pid, \
588                             struct freebsd_sched_param *sp); }
589 329     STD             { int|freebsd_sys||sched_setscheduler(pid_t pid, \
590                             int policy, const struct sched_param *sp); }
591 330     STD             { int|freebsd_sys||sched_getscheduler(pid_t pid); }
592 331     STD             { int|freebsd_sys||sched_yield(void); }
593 332     STD             { int|freebsd_sys||sched_get_priority_max(int policy); }
594 333     STD             { int|freebsd_sys||sched_get_priority_min(int policy); }
595 334     UNIMPL          sched_rr_get_interval
596 335     STD             { int|freebsd_sys||utrace(void *addr, size_t len); }
597 336     UNIMPL          sendfile
598 337     UNIMPL          kldsym
599 338     UNIMPL          jail
600 339     UNIMPL          pioctl
601 340     NOARGS          { int|sys|14|sigprocmask(int how, \
602                             const sigset_t *set, \
603                             sigset_t *oset); }
604 341     NOARGS          { int|sys|14|sigsuspend(const sigset_t *set); }
605 342     STD             { int|freebsd_sys||sigaction4(int signum, \
606                             const struct freebsd_sigaction4 *nsa, \
607                             struct freebsd_sigaction4 *osa); }
608 343     NOARGS          { int|sys|14|sigpending(const sigset_t *set); }
609 344     UNIMPL          4.0 sigreturn
610 345     UNIMPL          sigtimedwait
611 346     UNIMPL          sigwaitinfo
612 347     UNIMPL          __acl_get_file
613 348     UNIMPL          __acl_set_file
614 349     UNIMPL          __acl_get_fd
615 350     UNIMPL          __acl_set_fd
616 351     UNIMPL          __acl_delete_file
617 352     UNIMPL          __acl_delete_fd
618 353     UNIMPL          __acl_aclcheck_file
619 354     UNIMPL          __acl_aclcheck_fd
620 355     UNIMPL          extattrctl
621 356     UNIMPL          extattr_set_file
622 357     UNIMPL          extattr_get_file
623 358     UNIMPL          extattr_delete_file
624 359     UNIMPL          aio_waitcomplete
625 360     UNIMPL          getresuid
626 361     UNIMPL          getresgid
627 362     UNIMPL          kqueue
628 363     UNIMPL          kevent
629 364     UNIMPL          __cap_get_proc
630 365     UNIMPL          __cap_set_proc
631 366     UNIMPL          __cap_get_fd
632 367     UNIMPL          __cap_get_file
633 368     UNIMPL          __cap_set_fd
634 369     UNIMPL          __cap_set_file
635 370     UNIMPL          lkmressym
636 371     UNIMPL          extattr_set_fd
637 372     UNIMPL          extattr_get_fd
638 373     UNIMPL          extattr_delete_fd
639 374     UNIMPL          __setugid
640 375     UNIMPL          nfsclnt
641 376     UNIMPL          eaccess
642 377     UNIMPL          afs_syscall
643 378     UNIMPL          nmount
644 379     UNIMPL          kse_exit
645 380     UNIMPL          kse_wakeup
646 381     UNIMPL          kse_create
647 382     UNIMPL          kse_thr_interrupt
648 383     UNIMPL          kse_release
649 384     UNIMPL          __mac_get_proc
650 385     UNIMPL          __mac_set_proc
651 386     UNIMPL          __mac_get_fd
652 387     UNIMPL          __mac_get_file
653 388     UNIMPL          __mac_set_fd
654 389     UNIMPL          __mac_set_file
655 390     UNIMPL          kenv
656 391     NOARGS          { int|sys||lchflags(const char *path, u_long flags); }
657 392     NOARGS          { int|sys||uuidgen(struct uuid *store, int count); }
658 393     UNIMPL          sendfile
659 394     UNIMPL          mac_syscall
660 395     UNIMPL          getfsstat
661 396     UNIMPL          statfs
662 397     UNIMPL          fsstatfs
663 398     UNIMPL          fhstatfs
664 399     UNIMPL          nosys
665 #if defined(P1003_1B_SEMAPHORE) || !defined(_KERNEL)
666 400     NOARGS          { int|sys||_ksem_close(intptr_t id); }
667 401     NOARGS          { int|sys||_ksem_post(intptr_t id); }
668 402     NOARGS          { int|sys||_ksem_wait(intptr_t id); }
669 403     NOARGS          { int|sys||_ksem_trywait(intptr_t id); }
670 404     UNIMPL          ksem_init
671 405     UNIMPL          ksem_open
672 406     NOARGS          { int|sys||_ksem_unlink(const char *name); }
673 407     NOARGS          { int|sys||_ksem_getvalue(intptr_t id, \
674                             unsigned int *value); }
675 408     NOARGS          { int|sys||_ksem_destroy(intptr_t id); }
676 #else
677 400     EXCL            ksem_close
678 401     EXCL            ksem_post
679 402     EXCL            ksem_wait
680 403     EXCL            ksem_trywait
681 404     EXCL            ksem_init
682 405     EXCL            ksem_open
683 406     EXCL            ksem_unlink
684 407     EXCL            ksem_getvalue
685 408     EXCL            ksem_destroy
686 #endif
687 409     UNIMPL          __mac_get_pid
688 410     UNIMPL          __mac_get_link
689 411     UNIMPL          __mac_set_link
690 412     UNIMPL          extattr_set_link
691 413     UNIMPL          extattr_get_link
692 414     UNIMPL          extattr_delete_link
693 415     UNIMPL          __mac_execve
694 416     UNIMPL          sigaction
695 417     UNIMPL          sigreturn
696 418     UNIMPL          __xstat
697 419     UNIMPL          __xfstat
698 420     UNIMPL          __xlstat
699 421     UNIMPL          getcontext
700 422     UNIMPL          setcontext
701 423     UNIMPL          swapcontext
702 424     UNIMPL          swapoff
703 425     UNIMPL          __acl_get_link
704 426     UNIMPL          __acl_set_link
705 427     UNIMPL          __acl_delete_link
706 428     UNIMPL          __acl_aclcheck_link
707 429     UNIMPL          sigwait
708 430     UNIMPL          thr_create
709 431     UNIMPL          thr_exit
710 432     UNIMPL          thr_self
711 433     UNIMPL          thr_kill
712 434     UNIMPL          _umtx_lock
713 435     UNIMPL          _umtx_unlock
714 436     UNIMPL          jail_attach
715 437     UNIMPL          extattr_list_fd
716 438     UNIMPL          extattr_list_file
717 439     UNIMPL          extattr_list_link