kernel - shmid_ds structure needs to change on 64-bit :-(
[dragonfly.git] / sys / kern / syscalls.master
CommitLineData
1de703da
MD
1; @(#)syscalls.master 8.2 (Berkeley) 1/13/94
2; $FreeBSD: src/sys/kern/syscalls.master,v 1.72.2.10 2002/07/12 08:22:46 alfred Exp $
984263bc
MD
3;
4; System call name/number master file.
f4de8fd2
SW
5; Processed to create kern/init_sysent.c, kern/syscalls.c, sys/syscall.h,
6; sys/syscall.mk, sys/syscall-hide.h, sys/sysproto.h and
7; sys/sysunion.h
984263bc 8
3919ced0 9; Columns: number type nargs namespc name alt{name,tag,rtyp}/comments
984263bc 10; number system call number, must be in order
984263bc
MD
11; type one of STD, OBSOL, UNIMPL, COMPAT, CPT_NOA, LIBCOMPAT,
12; NODEF, NOARGS, NOPROTO, NOIMPL
13; namespc one of POSIX, BSD, NOHIDE
3c93285e 14; name pseudo-prototype of syscall routine
984263bc
MD
15; If one of the following alts is different, then all appear:
16; altname name of system call if different
17; alttag name of args struct tag if different from [o]`name'"_args"
18; altrtyp return type if not int (bogus - syscalls always return int)
19; for UNIMPL/OBSOL, name continues with comments
3919ced0
MD
20;
21; NOTE: All system calls are now called without the MP lock. Those
22; that need the MP lock will acquire it.
984263bc
MD
23
24; types:
25; STD always included
26; COMPAT included on COMPAT #ifdef
27; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
28; OBSOL obsolete, not included in system, only specifies name
29; UNIMPL not implemented, placeholder only
30
31; #ifdef's, etc. may be included, and are copied to the output files.
32
33#include <sys/param.h>
34#include <sys/sysent.h>
35#include <sys/sysproto.h>
d9fad06e 36#include <sys/statvfs.h>
984263bc 37
a6feb702
JS
38#ifdef COMPAT_43
39#include <emulation/43bsd/stat.h>
40#endif
41
f91a71dd
JS
42#include <emulation/dragonfly12/stat.h>
43
984263bc
MD
44; Reserved/unimplemented system calls in the range 0-150 inclusive
45; are reserved for use in future Berkeley releases.
46; Additional system calls implemented in vendor and other
47; redistributions should be placed in the reserved range at the end
48; of the current calls.
49
500 STD NOHIDE { int nosys(void); } syscall nosys_args int
753fd850 511 STD NOHIDE { void exit(int rval); }
984263bc 522 STD POSIX { int fork(void); }
3919ced0
MD
533 STD POSIX { ssize_t read(int fd, void *buf, size_t nbyte); }
544 STD POSIX { ssize_t write(int fd, const void *buf, size_t nbyte); }
984263bc
MD
555 STD POSIX { int open(char *path, int flags, int mode); }
56; XXX should be { int open(const char *path, int flags, ...); }
57; but we're not ready for `const' or varargs.
58; XXX man page says `mode_t mode'.
3919ced0 596 STD POSIX { int close(int fd); }
984263bc
MD
607 STD BSD { int wait4(int pid, int *status, int options, \
61 struct rusage *rusage); } wait4 wait_args int
628 COMPAT BSD { int creat(char *path, int mode); }
639 STD POSIX { int link(char *path, char *link); }
6410 STD POSIX { int unlink(char *path); }
6511 OBSOL NOHIDE execv
6612 STD POSIX { int chdir(char *path); }
6713 STD BSD { int fchdir(int fd); }
6814 STD POSIX { int mknod(char *path, int mode, int dev); }
6915 STD POSIX { int chmod(char *path, int mode); }
7016 STD POSIX { int chown(char *path, int uid, int gid); }
7117 STD BSD { int obreak(char *nsize); } break obreak_args int
7218 STD BSD { int getfsstat(struct statfs *buf, long bufsize, \
73 int flags); }
7419 COMPAT POSIX { long lseek(int fd, long offset, int whence); }
7520 STD POSIX { pid_t getpid(void); }
7621 STD BSD { int mount(char *type, char *path, int flags, \
77 caddr_t data); }
78; XXX `path' should have type `const char *' but we're not ready for that.
7922 STD BSD { int unmount(char *path, int flags); }
8023 STD POSIX { int setuid(uid_t uid); }
3919ced0
MD
8124 STD POSIX { uid_t getuid(void); }
8225 STD POSIX { uid_t geteuid(void); }
984263bc
MD
8326 STD BSD { int ptrace(int req, pid_t pid, caddr_t addr, \
84 int data); }
8527 STD BSD { int recvmsg(int s, struct msghdr *msg, int flags); }
8628 STD BSD { int sendmsg(int s, caddr_t msg, int flags); }
8729 STD BSD { int recvfrom(int s, caddr_t buf, size_t len, \
88 int flags, caddr_t from, int *fromlenaddr); }
8930 STD BSD { int accept(int s, caddr_t name, int *anamelen); }
9031 STD BSD { int getpeername(int fdes, caddr_t asa, int *alen); }
9132 STD BSD { int getsockname(int fdes, caddr_t asa, int *alen); }
9233 STD POSIX { int access(char *path, int flags); }
9334 STD BSD { int chflags(char *path, int flags); }
9435 STD BSD { int fchflags(int fd, int flags); }
9536 STD BSD { int sync(void); }
9637 STD POSIX { int kill(int pid, int signum); }
9738 COMPAT POSIX { int stat(char *path, struct ostat *ub); }
07c865ae 9839 STD POSIX { pid_t getppid(void); }
984263bc 9940 COMPAT POSIX { int lstat(char *path, struct ostat *ub); }
3919ced0 10041 STD POSIX { int dup(u_int fd); }
984263bc 10142 STD POSIX { int pipe(void); }
cff4089b 10243 STD POSIX { gid_t getegid(void); }
984263bc
MD
10344 STD BSD { int profil(caddr_t samples, size_t size, \
104 size_t offset, u_int scale); }
10545 STD BSD { int ktrace(const char *fname, int ops, int facs, \
106 int pid); }
65957d54 10746 OBSOL NOHIDE freebsd3_sigaction
3919ced0 10847 STD POSIX { gid_t getgid(void); }
65957d54 10948 OBSOL NOHIDE freebsd3_sigprocmask
984263bc
MD
110; XXX note nonstandard (bogus) calling convention - the libc stub passes
111; us the mask, not a pointer to it, and we return the old mask as the
112; (int) return value.
11349 STD BSD { int getlogin(char *namebuf, u_int namelen); }
11450 STD BSD { int setlogin(char *namebuf); }
11551 STD BSD { int acct(char *path); }
65957d54 11652 OBSOL NOHIDE freebsd3_sigpending
984263bc
MD
11753 STD BSD { int sigaltstack(stack_t *ss, stack_t *oss); }
11854 STD POSIX { int ioctl(int fd, u_long com, caddr_t data); }
11955 STD BSD { int reboot(int opt); }
12056 STD POSIX { int revoke(char *path); }
12157 STD POSIX { int symlink(char *path, char *link); }
12258 STD POSIX { int readlink(char *path, char *buf, int count); }
12359 STD POSIX { int execve(char *fname, char **argv, char **envv); }
3919ced0 12460 STD POSIX { int umask(int newmask); } umask umask_args int
984263bc
MD
12561 STD BSD { int chroot(char *path); }
12662 COMPAT POSIX { int fstat(int fd, struct ostat *sb); }
12763 COMPAT BSD { int getkerninfo(int op, char *where, size_t *size, \
128 int arg); } getkerninfo getkerninfo_args int
12964 COMPAT BSD { int getpagesize(void); } \
130 getpagesize getpagesize_args int
13165 STD BSD { int msync(void *addr, size_t len, int flags); }
13266 STD BSD { int vfork(void); }
13367 OBSOL NOHIDE vread
13468 OBSOL NOHIDE vwrite
13569 STD BSD { int sbrk(int incr); }
13670 STD BSD { int sstk(int incr); }
13771 COMPAT BSD { int mmap(void *addr, int len, int prot, \
138 int flags, int fd, long pos); }
83b1807f 13972 COMPAT BSD { int vadvise(int anom); } vadvise ovadvise_args int
984263bc 14073 STD BSD { int munmap(void *addr, size_t len); }
111e1841 14174 STD BSD { int mprotect(void *addr, size_t len, int prot); }
984263bc
MD
14275 STD BSD { int madvise(void *addr, size_t len, int behav); }
14376 OBSOL NOHIDE vhangup
14477 OBSOL NOHIDE vlimit
14578 STD BSD { int mincore(const void *addr, size_t len, \
146 char *vec); }
14779 STD POSIX { int getgroups(u_int gidsetsize, gid_t *gidset); }
14880 STD POSIX { int setgroups(u_int gidsetsize, gid_t *gidset); }
3919ced0 14981 STD POSIX { int getpgrp(void); }
984263bc
MD
15082 STD POSIX { int setpgid(int pid, int pgid); }
15183 STD BSD { int setitimer(u_int which, struct itimerval *itv, \
152 struct itimerval *oitv); }
15384 COMPAT BSD { int wait(void); }
15485 STD BSD { int swapon(char *name); }
15586 STD BSD { int getitimer(u_int which, struct itimerval *itv); }
15687 COMPAT BSD { int gethostname(char *hostname, u_int len); } \
157 gethostname gethostname_args int
15888 COMPAT BSD { int sethostname(char *hostname, u_int len); } \
159 sethostname sethostname_args int
3919ced0
MD
16089 STD BSD { int getdtablesize(void); }
16190 STD POSIX { int dup2(u_int from, u_int to); }
984263bc 16291 UNIMPL BSD getdopt
3919ced0 16392 STD POSIX { int fcntl(int fd, int cmd, long arg); }
984263bc
MD
164; XXX should be { int fcntl(int fd, int cmd, ...); }
165; but we're not ready for varargs.
166; XXX man page says `int arg' too.
16793 STD BSD { int select(int nd, fd_set *in, fd_set *ou, \
168 fd_set *ex, struct timeval *tv); }
16994 UNIMPL BSD setdopt
17095 STD POSIX { int fsync(int fd); }
17196 STD BSD { int setpriority(int which, int who, int prio); }
17297 STD BSD { int socket(int domain, int type, int protocol); }
17398 STD BSD { int connect(int s, caddr_t name, int namelen); }
17499 CPT_NOA BSD { int accept(int s, caddr_t name, int *anamelen); } \
175 accept accept_args int
176100 STD BSD { int getpriority(int which, int who); }
177101 COMPAT BSD { int send(int s, caddr_t buf, int len, int flags); }
178102 COMPAT BSD { int recv(int s, caddr_t buf, int len, int flags); }
65957d54 179103 OBSOL NOHIDE freebsd3_sigreturn
984263bc
MD
180104 STD BSD { int bind(int s, caddr_t name, int namelen); }
181105 STD BSD { int setsockopt(int s, int level, int name, \
182 caddr_t val, int valsize); }
183106 STD BSD { int listen(int s, int backlog); }
184107 OBSOL NOHIDE vtimes
185108 COMPAT BSD { int sigvec(int signum, struct sigvec *nsv, \
186 struct sigvec *osv); }
187109 COMPAT BSD { int sigblock(int mask); }
188110 COMPAT BSD { int sigsetmask(int mask); }
65957d54 189111 OBSOL NOHIDE freebsd3_sigsuspend
984263bc
MD
190; XXX note nonstandard (bogus) calling convention - the libc stub passes
191; us the mask, not a pointer to it.
192112 COMPAT BSD { int sigstack(struct sigstack *nss, \
193 struct sigstack *oss); }
194113 COMPAT BSD { int recvmsg(int s, struct omsghdr *msg, int flags); }
195114 COMPAT BSD { int sendmsg(int s, caddr_t msg, int flags); }
196115 OBSOL NOHIDE vtrace
3919ced0 197116 STD BSD { int gettimeofday(struct timeval *tp, \
984263bc
MD
198 struct timezone *tzp); }
199117 STD BSD { int getrusage(int who, struct rusage *rusage); }
200118 STD BSD { int getsockopt(int s, int level, int name, \
201 caddr_t val, int *avalsize); }
202119 UNIMPL NOHIDE resuba (BSD/OS 2.x)
3919ced0
MD
203120 STD BSD { int readv(int fd, struct iovec *iovp, u_int iovcnt); }
204121 STD BSD { int writev(int fd, struct iovec *iovp, \
984263bc
MD
205 u_int iovcnt); }
206122 STD BSD { int settimeofday(struct timeval *tv, \
207 struct timezone *tzp); }
208123 STD BSD { int fchown(int fd, int uid, int gid); }
209124 STD BSD { int fchmod(int fd, int mode); }
210125 CPT_NOA BSD { int recvfrom(int s, caddr_t buf, size_t len, \
211 int flags, caddr_t from, int *fromlenaddr); } \
212 recvfrom recvfrom_args int
213126 STD BSD { int setreuid(int ruid, int euid); }
214127 STD BSD { int setregid(int rgid, int egid); }
215128 STD POSIX { int rename(char *from, char *to); }
216129 COMPAT BSD { int truncate(char *path, long length); }
217130 COMPAT BSD { int ftruncate(int fd, long length); }
218131 STD BSD { int flock(int fd, int how); }
219132 STD POSIX { int mkfifo(char *path, int mode); }
220133 STD BSD { int sendto(int s, caddr_t buf, size_t len, \
221 int flags, caddr_t to, int tolen); }
222134 STD BSD { int shutdown(int s, int how); }
223135 STD BSD { int socketpair(int domain, int type, int protocol, \
224 int *rsv); }
225136 STD POSIX { int mkdir(char *path, int mode); }
226137 STD POSIX { int rmdir(char *path); }
227138 STD BSD { int utimes(char *path, struct timeval *tptr); }
228139 OBSOL NOHIDE 4.2 sigreturn
229140 STD BSD { int adjtime(struct timeval *delta, \
230 struct timeval *olddelta); }
231141 COMPAT BSD { int getpeername(int fdes, caddr_t asa, int *alen); }
232142 COMPAT BSD { long gethostid(void); }
233143 COMPAT BSD { int sethostid(long hostid); }
3919ced0
MD
234144 COMPAT BSD { int getrlimit(u_int which, struct orlimit *rlp); }
235145 COMPAT BSD { int setrlimit(u_int which, struct orlimit *rlp); }
984263bc
MD
236146 COMPAT BSD { int killpg(int pgid, int signum); }
237147 STD POSIX { int setsid(void); }
238148 STD BSD { int quotactl(char *path, int cmd, int uid, \
239 caddr_t arg); }
240149 COMPAT BSD { int quota(void); }
241150 CPT_NOA BSD { int getsockname(int fdec, caddr_t asa, int *alen); }\
242 getsockname getsockname_args int
243
244; Syscalls 151-180 inclusive are reserved for vendor-specific
245; system calls. (This includes various calls added for compatibity
246; with other Unix variants.)
247; Some of these calls are now supported by BSD...
248151 UNIMPL NOHIDE sem_lock (BSD/OS 2.x)
249152 UNIMPL NOHIDE sem_wakeup (BSD/OS 2.x)
250153 UNIMPL NOHIDE asyncdaemon (BSD/OS 2.x)
251154 UNIMPL NOHIDE nosys
252; 155 is initialized by the NFS code, if present.
253155 NOIMPL BSD { int nfssvc(int flag, caddr_t argp); }
254156 COMPAT BSD { int getdirentries(int fd, char *buf, u_int count, \
255 long *basep); }
256157 STD BSD { int statfs(char *path, struct statfs *buf); }
257158 STD BSD { int fstatfs(int fd, struct statfs *buf); }
258159 UNIMPL NOHIDE nosys
259160 UNIMPL NOHIDE nosys
260; 161 is initialized by the NFS code, if present.
261161 STD BSD { int getfh(char *fname, struct fhandle *fhp); }
262162 STD BSD { int getdomainname(char *domainname, int len); }
263163 STD BSD { int setdomainname(char *domainname, int len); }
cff4089b 264164 STD BSD { int uname(struct utsname *name); }
984263bc
MD
265165 STD BSD { int sysarch(int op, char *parms); }
266166 STD BSD { int rtprio(int function, pid_t pid, \
267 struct rtprio *rtp); }
268167 UNIMPL NOHIDE nosys
269168 UNIMPL NOHIDE nosys
270169 STD BSD { int semsys(int which, int a2, int a3, int a4, \
271 int a5); }
272; XXX should be { int semsys(int which, ...); }
273170 STD BSD { int msgsys(int which, int a2, int a3, int a4, \
274 int a5, int a6); }
275; XXX should be { int msgsys(int which, ...); }
276171 STD BSD { int shmsys(int which, int a2, int a3, int a4); }
277; XXX should be { int shmsys(int which, ...); }
278172 UNIMPL NOHIDE nosys
3919ced0 279173 STD POSIX { ssize_t extpread(int fd, void *buf, \
9ba76b73 280 size_t nbyte, int flags, off_t offset); }
3919ced0 281174 STD POSIX { ssize_t extpwrite(int fd, const void *buf, \
9ba76b73 282 size_t nbyte, int flags, off_t offset); }
984263bc
MD
283175 UNIMPL NOHIDE nosys
284176 STD BSD { int ntp_adjtime(struct timex *tp); }
285177 UNIMPL NOHIDE sfork (BSD/OS 2.x)
286178 UNIMPL NOHIDE getdescriptor (BSD/OS 2.x)
287179 UNIMPL NOHIDE setdescriptor (BSD/OS 2.x)
288180 UNIMPL NOHIDE nosys
289
290; Syscalls 181-199 are used by/reserved for BSD
291181 STD POSIX { int setgid(gid_t gid); }
292182 STD BSD { int setegid(gid_t egid); }
293183 STD BSD { int seteuid(uid_t euid); }
294184 UNIMPL BSD lfs_bmapv
295185 UNIMPL BSD lfs_markv
296186 UNIMPL BSD lfs_segclean
297187 UNIMPL BSD lfs_segwait
f91a71dd
JS
298188 COMPAT_DF12 POSIX { int stat(const char *path, struct dfbsd12_stat *ub); }
299189 COMPAT_DF12 POSIX { int fstat(int fd, struct dfbsd12_stat *sb); }
300190 COMPAT_DF12 POSIX { int lstat(const char *path, struct dfbsd12_stat *ub); }
984263bc
MD
301191 STD POSIX { int pathconf(char *path, int name); }
302192 STD POSIX { int fpathconf(int fd, int name); }
303193 UNIMPL NOHIDE nosys
cff4089b 304194 STD BSD { int getrlimit(u_int which, \
984263bc
MD
305 struct rlimit *rlp); } \
306 getrlimit __getrlimit_args int
307195 STD BSD { int setrlimit(u_int which, \
308 struct rlimit *rlp); } \
309 setrlimit __setrlimit_args int
01f31ab3
JS
310196 COMPAT_DF12 BSD { int getdirentries(int fd, char *buf, \
311 u_int count, long *basep); }
984263bc
MD
312197 STD BSD { caddr_t mmap(caddr_t addr, size_t len, int prot, \
313 int flags, int fd, int pad, off_t pos); }
314198 STD NOHIDE { int nosys(void); } __syscall __syscall_args int
315199 STD POSIX { off_t lseek(int fd, int pad, off_t offset, \
316 int whence); }
317200 STD BSD { int truncate(char *path, int pad, off_t length); }
318201 STD BSD { int ftruncate(int fd, int pad, off_t length); }
319202 STD BSD { int __sysctl(int *name, u_int namelen, void *old, \
320 size_t *oldlenp, void *new, size_t newlen); } \
321 __sysctl sysctl_args int
322; properly, __sysctl should be a NOHIDE, but making an exception
323; here allows to avoid one in libc/sys/Makefile.inc.
324203 STD BSD { int mlock(const void *addr, size_t len); }
325204 STD BSD { int munlock(const void *addr, size_t len); }
326205 STD BSD { int undelete(char *path); }
327206 STD BSD { int futimes(int fd, struct timeval *tptr); }
328207 STD BSD { int getpgid(pid_t pid); }
329208 UNIMPL NOHIDE newreboot (NetBSD)
330209 STD BSD { int poll(struct pollfd *fds, u_int nfds, \
331 int timeout); }
332
333;
334; The following are reserved for loadable syscalls
335;
702d68a3
DRJ
336; 210 is used by the Checkpoint Module
337210 NODEF NOHIDE lkmnosys lkmnosys nosys_args int
984263bc
MD
338211 NODEF NOHIDE lkmnosys lkmnosys nosys_args int
339212 NODEF NOHIDE lkmnosys lkmnosys nosys_args int
340213 NODEF NOHIDE lkmnosys lkmnosys nosys_args int
341214 NODEF NOHIDE lkmnosys lkmnosys nosys_args int
342215 NODEF NOHIDE lkmnosys lkmnosys nosys_args int
343216 NODEF NOHIDE lkmnosys lkmnosys nosys_args int
344217 NODEF NOHIDE lkmnosys lkmnosys nosys_args int
345218 NODEF NOHIDE lkmnosys lkmnosys nosys_args int
346219 NODEF NOHIDE lkmnosys lkmnosys nosys_args int
347
348;
349; The following were introduced with NetBSD/4.4Lite-2
350;
351220 STD BSD { int __semctl(int semid, int semnum, int cmd, \
352 union semun *arg); }
353221 STD BSD { int semget(key_t key, int nsems, int semflg); }
354222 STD BSD { int semop(int semid, struct sembuf *sops, \
355 u_int nsops); }
356223 UNIMPL NOHIDE semconfig
357224 STD BSD { int msgctl(int msqid, int cmd, \
358 struct msqid_ds *buf); }
359225 STD BSD { int msgget(key_t key, int msgflg); }
360226 STD BSD { int msgsnd(int msqid, void *msgp, size_t msgsz, \
361 int msgflg); }
362227 STD BSD { int msgrcv(int msqid, void *msgp, size_t msgsz, \
363 long msgtyp, int msgflg); }
0c614908 364228 STD BSD { caddr_t shmat(int shmid, void *shmaddr, int shmflg); }
984263bc
MD
365229 STD BSD { int shmctl(int shmid, int cmd, \
366 struct shmid_ds *buf); }
367230 STD BSD { int shmdt(void *shmaddr); }
7849af9f 368231 STD BSD { int shmget(key_t key, size_t size, int shmflg); }
984263bc
MD
369;
370232 STD POSIX { int clock_gettime(clockid_t clock_id, \
371 struct timespec *tp); }
372233 STD POSIX { int clock_settime(clockid_t clock_id, \
373 const struct timespec *tp); }
374234 STD POSIX { int clock_getres(clockid_t clock_id, \
375 struct timespec *tp); }
376235 UNIMPL NOHIDE timer_create
377236 UNIMPL NOHIDE timer_delete
378237 UNIMPL NOHIDE timer_settime
379238 UNIMPL NOHIDE timer_gettime
380239 UNIMPL NOHIDE timer_getoverrun
381240 STD POSIX { int nanosleep(const struct timespec *rqtp, \
382 struct timespec *rmtp); }
383241 UNIMPL NOHIDE nosys
384242 UNIMPL NOHIDE nosys
385243 UNIMPL NOHIDE nosys
386244 UNIMPL NOHIDE nosys
387245 UNIMPL NOHIDE nosys
388246 UNIMPL NOHIDE nosys
389247 UNIMPL NOHIDE nosys
390248 UNIMPL NOHIDE nosys
391249 UNIMPL NOHIDE nosys
392; syscall numbers initially used in OpenBSD
393250 STD BSD { int minherit(void *addr, size_t len, int inherit); }
394251 STD BSD { int rfork(int flags); }
395252 STD BSD { int openbsd_poll(struct pollfd *fds, u_int nfds, \
396 int timeout); }
397253 STD BSD { int issetugid(void); }
398254 STD BSD { int lchown(char *path, int uid, int gid); }
399255 UNIMPL NOHIDE nosys
400256 UNIMPL NOHIDE nosys
401257 UNIMPL NOHIDE nosys
402258 UNIMPL NOHIDE nosys
403259 UNIMPL NOHIDE nosys
404260 UNIMPL NOHIDE nosys
405261 UNIMPL NOHIDE nosys
406262 UNIMPL NOHIDE nosys
407263 UNIMPL NOHIDE nosys
408264 UNIMPL NOHIDE nosys
409265 UNIMPL NOHIDE nosys
410266 UNIMPL NOHIDE nosys
411267 UNIMPL NOHIDE nosys
412268 UNIMPL NOHIDE nosys
413269 UNIMPL NOHIDE nosys
414270 UNIMPL NOHIDE nosys
415271 UNIMPL NOHIDE nosys
01f31ab3 416272 COMPAT_DF12 BSD { int getdents(int fd, char *buf, size_t count); }
984263bc
MD
417273 UNIMPL NOHIDE nosys
418274 STD BSD { int lchmod(char *path, mode_t mode); }
419275 NOPROTO BSD { int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int
420276 STD BSD { int lutimes(char *path, struct timeval *tptr); }
421277 NOPROTO BSD { int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int
48703120
JS
422278 OBSOL BSD { int nstat(char *path, struct nstat *ub); }
423279 OBSOL NOHIDE { int nfstat(int fd, struct nstat *sb); }
424280 OBSOL NOHIDE { int nlstat(char *path, struct nstat *ub); }
984263bc
MD
425281 UNIMPL NOHIDE nosys
426282 UNIMPL NOHIDE nosys
427283 UNIMPL NOHIDE nosys
428284 UNIMPL NOHIDE nosys
429285 UNIMPL NOHIDE nosys
430286 UNIMPL NOHIDE nosys
431287 UNIMPL NOHIDE nosys
432288 UNIMPL NOHIDE nosys
7f83ed38 433; 289 and 290 from NetBSD (OpenBSD: 267 and 268)
3919ced0 434289 STD BSD { ssize_t extpreadv(int fd, struct iovec *iovp, \
9ba76b73 435 u_int iovcnt, int flags, off_t offset); }
3919ced0 436290 STD BSD { ssize_t extpwritev(int fd, struct iovec *iovp,\
9ba76b73 437 u_int iovcnt, int flags, off_t offset); }
984263bc
MD
438291 UNIMPL NOHIDE nosys
439292 UNIMPL NOHIDE nosys
440293 UNIMPL NOHIDE nosys
441294 UNIMPL NOHIDE nosys
442295 UNIMPL NOHIDE nosys
443296 UNIMPL NOHIDE nosys
444; XXX 297 is 300 in NetBSD
445297 STD BSD { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
446298 STD BSD { int fhopen(const struct fhandle *u_fhp, int flags); }
f91a71dd 447299 COMPAT_DF12 POSIX { int fhstat(const struct fhandle *u_fhp, struct dfbsd12_stat *sb); }
984263bc
MD
448; syscall numbers for FreeBSD
449300 STD BSD { int modnext(int modid); }
450301 STD BSD { int modstat(int modid, struct module_stat* stat); }
451302 STD BSD { int modfnext(int modid); }
452303 STD BSD { int modfind(const char *name); }
453304 STD BSD { int kldload(const char *file); }
454305 STD BSD { int kldunload(int fileid); }
455306 STD BSD { int kldfind(const char *file); }
456307 STD BSD { int kldnext(int fileid); }
457308 STD BSD { int kldstat(int fileid, struct kld_file_stat* stat); }
458309 STD BSD { int kldfirstmod(int fileid); }
459310 STD BSD { int getsid(pid_t pid); }
460311 STD BSD { int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
461312 STD BSD { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
462313 OBSOL NOHIDE signanosleep
463314 STD BSD { int aio_return(struct aiocb *aiocbp); }
464315 STD BSD { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
465316 STD BSD { int aio_cancel(int fd, struct aiocb *aiocbp); }
466317 STD BSD { int aio_error(struct aiocb *aiocbp); }
467318 STD BSD { int aio_read(struct aiocb *aiocbp); }
468319 STD BSD { int aio_write(struct aiocb *aiocbp); }
469320 STD BSD { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
470321 STD BSD { int yield(void); }
3919ced0
MD
471322 UNIMPL BSD thr_sleep
472323 UNIMPL BSD thr_wakeup
984263bc
MD
473324 STD BSD { int mlockall(int how); }
474325 STD BSD { int munlockall(void); }
475326 STD BSD { int __getcwd(u_char *buf, u_int buflen); }
476
477327 STD POSIX { int sched_setparam (pid_t pid, const struct sched_param *param); }
478328 STD POSIX { int sched_getparam (pid_t pid, struct sched_param *param); }
479
480329 STD POSIX { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
481330 STD POSIX { int sched_getscheduler (pid_t pid); }
482
483331 STD POSIX { int sched_yield (void); }
484332 STD POSIX { int sched_get_priority_max (int policy); }
485333 STD POSIX { int sched_get_priority_min (int policy); }
486334 STD POSIX { int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
487335 STD BSD { int utrace(const void *addr, size_t len); }
75a872f8 488336 OBSOL NOHIDE freebsd4_sendfile
984263bc
MD
489337 STD BSD { int kldsym(int fileid, int cmd, void *data); }
490338 STD BSD { int jail(struct jail *jail); }
491339 UNIMPL BSD pioctl
3919ced0 492340 STD POSIX { int sigprocmask(int how, const sigset_t *set, \
984263bc
MD
493 sigset_t *oset); }
494341 STD POSIX { int sigsuspend(const sigset_t *sigmask); }
495342 STD POSIX { int sigaction(int sig, const struct sigaction *act, \
496 struct sigaction *oact); }
497343 STD POSIX { int sigpending(sigset_t *set); }
498344 STD BSD { int sigreturn(ucontext_t *sigcntxp); }
3a59f0f7
DX
499345 STD POSIX { int sigtimedwait(const sigset_t *set,\
500 siginfo_t *info, const struct timespec *timeout); }
501346 STD POSIX { int sigwaitinfo(const sigset_t *set,\
502 siginfo_t *info); }
984263bc
MD
503347 STD BSD { int __acl_get_file(const char *path, \
504 acl_type_t type, struct acl *aclp); }
505348 STD BSD { int __acl_set_file(const char *path, \
506 acl_type_t type, struct acl *aclp); }
507349 STD BSD { int __acl_get_fd(int filedes, acl_type_t type, \
508 struct acl *aclp); }
509350 STD BSD { int __acl_set_fd(int filedes, acl_type_t type, \
510 struct acl *aclp); }
511351 STD BSD { int __acl_delete_file(const char *path, \
512 acl_type_t type); }
513352 STD BSD { int __acl_delete_fd(int filedes, acl_type_t type); }
514353 STD BSD { int __acl_aclcheck_file(const char *path, \
515 acl_type_t type, struct acl *aclp); }
516354 STD BSD { int __acl_aclcheck_fd(int filedes, acl_type_t type, \
517 struct acl *aclp); }
518355 STD BSD { int extattrctl(const char *path, int cmd, \
0f6997f9
MD
519 const char *filename, int attrnamespace, \
520 const char *attrname); }
984263bc 521356 STD BSD { int extattr_set_file(const char *path, \
0f6997f9
MD
522 int attrnamespace, const char *attrname, \
523 void *data, size_t nbytes); }
984263bc 524357 STD BSD { int extattr_get_file(const char *path, \
0f6997f9
MD
525 int attrnamespace, const char *attrname, \
526 void *data, size_t nbytes); }
984263bc 527358 STD BSD { int extattr_delete_file(const char *path, \
0f6997f9 528 int attrnamespace, const char *attrname); }
984263bc
MD
529359 STD BSD { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); }
530360 STD BSD { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
531361 STD BSD { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
532362 STD BSD { int kqueue(void); }
533363 STD BSD { int kevent(int fd, \
534 const struct kevent *changelist, int nchanges, \
535 struct kevent *eventlist, int nevents, \
536 const struct timespec *timeout); }
78812139
EN
537364 STD BSD { int sctp_peeloff(int sd, caddr_t name ); }
538; 365-392 used by FreeBSD-current
984263bc
MD
539365 UNIMPL NOHIDE nosys
540366 UNIMPL NOHIDE nosys
541367 UNIMPL NOHIDE nosys
542368 UNIMPL NOHIDE nosys
543369 UNIMPL NOHIDE nosys
544370 UNIMPL NOHIDE nosys
545371 UNIMPL NOHIDE nosys
546372 UNIMPL NOHIDE nosys
547373 UNIMPL NOHIDE nosys
548374 UNIMPL NOHIDE nosys
549375 UNIMPL NOHIDE nosys
550376 UNIMPL NOHIDE nosys
551377 UNIMPL NOHIDE nosys
552378 UNIMPL NOHIDE nosys
553379 UNIMPL NOHIDE nosys
554380 UNIMPL NOHIDE nosys
555381 UNIMPL NOHIDE nosys
556382 UNIMPL NOHIDE nosys
557383 UNIMPL NOHIDE nosys
558384 UNIMPL NOHIDE nosys
559385 UNIMPL NOHIDE nosys
560386 UNIMPL NOHIDE nosys
561387 UNIMPL NOHIDE nosys
562388 UNIMPL NOHIDE nosys
563389 UNIMPL NOHIDE nosys
564390 UNIMPL NOHIDE nosys
23720161 565391 STD BSD { int lchflags(char *path, int flags); }
2a0783db 566392 STD BSD { int uuidgen(struct uuid *store, int count); }
984263bc
MD
567393 STD BSD { int sendfile(int fd, int s, off_t offset, size_t nbytes, \
568 struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
98a7f915
MD
569; 394-439 used by FreeBSD-current
570394 UNIMPL NOHIDE nosys
571395 UNIMPL NOHIDE nosys
572396 UNIMPL NOHIDE nosys
573397 UNIMPL NOHIDE nosys
574398 UNIMPL NOHIDE nosys
575399 UNIMPL NOHIDE nosys
576400 UNIMPL NOHIDE nosys
577401 UNIMPL NOHIDE nosys
578402 UNIMPL NOHIDE nosys
579403 UNIMPL NOHIDE nosys
580404 UNIMPL NOHIDE nosys
581405 UNIMPL NOHIDE nosys
582406 UNIMPL NOHIDE nosys
583407 UNIMPL NOHIDE nosys
584408 UNIMPL NOHIDE nosys
585409 UNIMPL NOHIDE nosys
586410 UNIMPL NOHIDE nosys
587411 UNIMPL NOHIDE nosys
588412 UNIMPL NOHIDE nosys
589413 UNIMPL NOHIDE nosys
590414 UNIMPL NOHIDE nosys
591415 UNIMPL NOHIDE nosys
592416 UNIMPL NOHIDE nosys
593417 UNIMPL NOHIDE nosys
594418 UNIMPL NOHIDE nosys
595419 UNIMPL NOHIDE nosys
596420 UNIMPL NOHIDE nosys
597421 UNIMPL NOHIDE nosys
598422 UNIMPL NOHIDE nosys
599423 UNIMPL NOHIDE nosys
600424 UNIMPL NOHIDE nosys
601425 UNIMPL NOHIDE nosys
602426 UNIMPL NOHIDE nosys
603427 UNIMPL NOHIDE nosys
604428 UNIMPL NOHIDE nosys
605429 UNIMPL NOHIDE nosys
606430 UNIMPL NOHIDE nosys
607431 UNIMPL NOHIDE nosys
608432 UNIMPL NOHIDE nosys
609433 UNIMPL NOHIDE nosys
610434 UNIMPL NOHIDE nosys
611435 UNIMPL NOHIDE nosys
612436 UNIMPL NOHIDE nosys
613437 UNIMPL NOHIDE nosys
614438 UNIMPL NOHIDE nosys
615439 UNIMPL NOHIDE nosys
616; 440-449 reserved for FreeBSD-5.x growth
617440 UNIMPL NOHIDE nosys
618441 UNIMPL NOHIDE nosys
619442 UNIMPL NOHIDE nosys
620443 UNIMPL NOHIDE nosys
621444 UNIMPL NOHIDE nosys
622445 UNIMPL NOHIDE nosys
623446 UNIMPL NOHIDE nosys
624447 UNIMPL NOHIDE nosys
625448 UNIMPL NOHIDE nosys
626449 UNIMPL NOHIDE nosys
627; 450 DragonFly system calls
3919ced0
MD
628450 STD BSD { int varsym_set(int level, const char *name, const char *data); }
629451 STD BSD { int varsym_get(int mask, const char *wild, char *buf, int bufsize); }
630452 STD BSD { int varsym_list(int level, char *buf, int maxsize, int *marker); }
a722be49
MD
631453 STD BSD { int upc_register(struct upcall *upc, void *ctxfunc, void *func, void *data); }
632454 STD BSD { int upc_control(int cmd, int upcid, void *data); }
1bc8e992
MD
633455 STD BSD { int caps_sys_service(const char *name, uid_t uid, gid_t gid, int upcid, int flags); }
634456 STD BSD { int caps_sys_client(const char *name, uid_t uid, gid_t gid, int upcid, int flags); }
635457 STD BSD { int caps_sys_close(int portid); }
636458 STD BSD { off_t caps_sys_put(int portid, void *msg, int msgsize); }
637459 STD BSD { int caps_sys_reply(int portid, void *msg, int msgsize, off_t msgcid); }
638460 STD BSD { int caps_sys_get(int portid, void *msg, int maxsize, struct caps_msgid *msgid, struct caps_cred *ccr); }
639461 STD BSD { int caps_sys_wait(int portid, void *msg, int maxsize, struct caps_msgid *msgid, struct caps_cred *ccr); }
640462 STD BSD { int caps_sys_abort(int portid, off_t msgcid, int flags); }
e30f9e2c
MD
641463 STD BSD { off_t caps_sys_getgen(int portid); }
642464 STD BSD { int caps_sys_setgen(int portid, off_t gen); }
29802dbb
MD
643465 STD BSD { int exec_sys_register(void *entry); }
644466 STD BSD { int exec_sys_unregister(int id); }
0ba6fbbf 645467 STD BSD { int sys_checkpoint(int type, int fd, pid_t pid, int retval); }
2281065e 646468 STD BSD { int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); }
76798859
MD
647469 STD BSD { int umtx_sleep(volatile const int *ptr, int value, int timeout); }
648470 STD BSD { int umtx_wakeup(volatile const int *ptr, int count); }
5b062a39 649471 STD BSD { int jail_attach(int jid); }
3919ced0
MD
650472 STD BSD { int set_tls_area(int which, struct tls_info *info, size_t infosize); }
651473 STD BSD { int get_tls_area(int which, struct tls_info *info, size_t infosize); }
652474 STD BSD { int closefrom(int fd); }
f91a71dd 653475 STD POSIX { int stat(const char *path, struct stat *ub); }
3919ced0 654476 STD POSIX { int fstat(int fd, struct stat *sb); }
f91a71dd
JS
655477 STD POSIX { int lstat(const char *path, struct stat *ub); }
656478 STD BSD { int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
01f31ab3
JS
657479 STD BSD { int getdirentries(int fd, char *buf, u_int count, \
658 long *basep); }
659480 STD BSD { int getdents(int fd, char *buf, size_t count); }
0b7a3518
DX
660481 STD BSD { int usched_set(pid_t pid, int cmd, void *data, \
661 int bytes); }
b09fd398
MD
662482 STD BSD { int extaccept(int s, int flags, caddr_t name, int *anamelen); }
663483 STD BSD { int extconnect(int s, int flags, caddr_t name, int namelen); }
63db58ad 664484 STD BSD { int syslink(int cmd, struct syslink_info *info, size_t bytes); }
0daa37a5
MD
665485 STD BSD { int mcontrol(void *addr, size_t len, int behav, off_t value); }
666486 STD BSD { int vmspace_create(void *id, int type, void *data); }
667487 STD BSD { int vmspace_destroy(void *id); }
4e7c41c5
MD
668488 STD BSD { int vmspace_ctl(void *id, int cmd, \
669 struct trapframe *tframe, \
670 struct vextframe *vframe); }
0daa37a5
MD
671489 STD BSD { int vmspace_mmap(void *id, void *addr, size_t len, \
672 int prot, int flags, int fd, \
673 off_t offset); }
674490 STD BSD { int vmspace_munmap(void *id, void *addr, \
675 size_t len); }
676491 STD BSD { int vmspace_mcontrol(void *id, void *addr, \
677 size_t len, int behav, off_t value); }
021a4ed4
MD
678492 STD BSD { ssize_t vmspace_pread(void *id, void *buf, \
679 size_t nbyte, int flags, off_t offset); }
680493 STD BSD { ssize_t vmspace_pwrite(void *id, const void *buf, \
681 size_t nbyte, int flags, off_t offset); }
d5f340eb 682494 STD BSD { void extexit(int how, int status, void *addr); }
91bd9c1e 683495 STD BSD { int lwp_create(struct lwp_params *params); }
f9366a82
SS
684496 STD BSD { lwpid_t lwp_gettid(void); }
685497 STD BSD { int lwp_kill(pid_t pid, lwpid_t tid, int signum); }
649d3bd2 686498 STD BSD { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); }
ae7cb1b5
NT
687499 STD BSD { int pselect(int nd, fd_set *in, fd_set *ou, \
688 fd_set *ex, const struct timespec *ts, \
689 const sigset_t *sigmask); }
d9fad06e
MD
690500 STD BSD { int statvfs(const char *path, struct statvfs *buf); }
691501 STD BSD { int fstatvfs(int fd, struct statvfs *buf); }
692502 STD BSD { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); }
00fe9d48
MD
693503 STD BSD { int getvfsstat(struct statfs *buf, \
694 struct statvfs *vbuf, long vbufsize, int flags); }
d10ffba1 695504 STD POSIX { int openat(int fd, char *path, int flags, int mode); }
83a11774
NT
696; XXX should be { int openat(int fd, const char *path, int flags, ...);}
697; but we're not ready for `const' or varargs.
698; XXX man page says `mode_t mode'.
e101a3f4
NT
699505 STD POSIX { int fstatat(int fd, char *path, \
700 struct stat *sb, int flags); }
8cde3c79
NT
701506 STD POSIX { int fchmodat(int fd, char *path, int mode, \
702 int flags); }
32013176
NT
703507 STD POSIX { int fchownat(int fd, char *path, int uid, int gid, \
704 int flags); }
3a6d8629 705508 STD POSIX { int unlinkat(int fd, char *path, int flags); }
18cf460b
NT
706509 STD POSIX { int faccessat(int fd, char *path, int amode, \
707 int flags); }
0b96c93b 708
4f7b988a 709; POSIX message queues system calls
3919ced0 710510 STD POSIX { mqd_t mq_open(const char * name, int oflag, \
4f7b988a 711 mode_t mode, struct mq_attr *attr); }
3919ced0
MD
712511 STD POSIX { int mq_close(mqd_t mqdes); }
713512 STD POSIX { int mq_unlink(const char *name); }
714513 STD POSIX { int mq_getattr(mqd_t mqdes, \
4f7b988a 715 struct mq_attr *mqstat); }
3919ced0 716514 STD POSIX { int mq_setattr(mqd_t mqdes, \
4f7b988a
SK
717 const struct mq_attr *mqstat, \
718 struct mq_attr *omqstat); }
3919ced0 719515 STD POSIX { int mq_notify(mqd_t mqdes, \
4f7b988a 720 const struct sigevent *notification); }
3919ced0 721516 STD POSIX { int mq_send(mqd_t mqdes, const char *msg_ptr, \
4f7b988a 722 size_t msg_len, unsigned msg_prio); }
3919ced0 723517 STD POSIX { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \
4f7b988a 724 size_t msg_len, unsigned *msg_prio); }
3919ced0 725518 STD POSIX { int mq_timedsend(mqd_t mqdes, \
4f7b988a
SK
726 const char *msg_ptr, size_t msg_len, \
727 unsigned msg_prio, \
728 const struct timespec *abs_timeout); }
3919ced0 729519 STD POSIX { ssize_t mq_timedreceive(mqd_t mqdes, \
4f7b988a
SK
730 char *msg_ptr, size_t msg_len, unsigned *msg_prio, \
731 const struct timespec *abs_timeout); }
aa166ad1
AH
732520 STD BSD { int ioprio_set(int which, int who, int prio); }
733521 STD BSD { int ioprio_get(int which, int who); }
72f12c5b 734522 STD BSD { int chroot_kernel(char *path); }
c7238745
SW
735523 STD POSIX { int renameat(int oldfd, char *old, int newfd, \
736 char *new); }
6d98f93c
SW
737524 STD POSIX { int mkdirat(int fd, char *path, mode_t mode); }
738525 STD POSIX { int mkfifoat(int fd, char *path, mode_t mode); }
739526 STD POSIX { int mknodat(int fd, char *path, mode_t mode, \
740 dev_t dev); }
741527 STD POSIX { int readlinkat(int fd, char *path, char *buf, \
742 size_t bufsize); }
743528 STD POSIX { int symlinkat(char *path1, int fd, char *path2); }
9f3543c6 744529 STD BSD { int swapoff(char *name); }