Module Name: src
Committed By: pgoyette
Date: Sat May 9 05:51:27 UTC 2015
Modified Files:
src/sys/kern: makesyscalls.sh syscalls.master
Log Message:
Teach makesyscalls.sh how to auto-generate the list of syscalls that
can be resolved by module auto-load.
Update syscalls.master to identify the specific module that contains
the auto-loadable code for each syscall.
To generate a diff of this commit:
cvs rdiff -u -r1.151 -r1.152 src/sys/kern/makesyscalls.sh
cvs rdiff -u -r1.273 -r1.274 src/sys/kern/syscalls.master
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/kern/makesyscalls.sh
diff -u src/sys/kern/makesyscalls.sh:1.151 src/sys/kern/makesyscalls.sh:1.152
--- src/sys/kern/makesyscalls.sh:1.151 Sun Mar 8 20:31:53 2015
+++ src/sys/kern/makesyscalls.sh Sat May 9 05:51:26 2015
@@ -1,4 +1,4 @@
-# $NetBSD: makesyscalls.sh,v 1.151 2015/03/08 20:31:53 christos Exp $
+# $NetBSD: makesyscalls.sh,v 1.152 2015/05/09 05:51:26 pgoyette Exp $
#
# Copyright (c) 1994, 1996, 2000 Christopher G. Demetriou
# All rights reserved.
@@ -45,6 +45,7 @@ esac
# sysnames the syscall names file
# sysnumhdr the syscall numbers file
# syssw the syscall switch file
+# sysautoload the syscall autoload definitions file
# sysarghdr the syscall argument struct definitions
# compatopts those syscall types that are for 'compat' syscalls
# switchname the name for the 'struct sysent' we define
@@ -140,6 +141,7 @@ BEGIN {
# to allow nested #if/#else/#endif sets
savedepth = 0
+ auto_skip = 0
# to track already processed syscalls
sysnames = \"$sysnames\"
@@ -150,6 +152,7 @@ BEGIN {
systrace = \"$systrace\"
systracetmp = \"$systracetmp\"
systraceret = \"$systraceret\"
+ sysautoload = \"$sysautoload\"
rumpcalls = \"$rumpcalls\"
rumpcallshdr = \"$rumpcallshdr\"
rumpsysent = \"$rumpsysent\"
@@ -220,6 +223,10 @@ BEGIN {
printf "/*\n * System call argument lists.\n *\n" > sysarghdr
printf " * DO NOT EDIT-- this file is automatically generated.\n" > sysarghdr
+ printf "/* %s */\n\n", tag > sysautoload
+ printf "/*\n * System call autoload table.\n *\n" > sysautoload
+ printf " * DO NOT EDIT-- this file is automatically generated.\n" > sysautoload
+
printf "/* %s */\n\n", tag > rumpcalls
printf "/*\n * System call vector and marshalling for rump.\n *\n" > rumpcalls
printf " * DO NOT EDIT-- this file is automatically generated.\n" > rumpcalls
@@ -240,6 +247,13 @@ NR == 1 {
printf " * created from%s\n */\n\n", $0 > sysnames
printf "#include <sys/cdefs.h>\n__KERNEL_RCSID(0, \"%s\");\n\n", tag > sysnames
+ printf " * created from%s\n */\n\n", $0 > sysautoload
+ printf "#include <sys/cdefs.h>\n__KERNEL_RCSID(0, \"%s\");\n\n", tag > sysautoload
+ printf("static struct {\n") > sysautoload
+ printf("\tu_int\t\tal_code;\n") > sysautoload
+ printf("\tconst char\t*al_module;\n") > sysautoload
+ printf("} const syscalls_autoload[] = {\n") > sysautoload
+
printf " * created from%s\n */\n\n", $0 > rumpcalls
printf "#ifdef RUMP_CLIENT\n" > rumpcalls
printf "#include <rump/rumpuser_port.h>\n" > rumpcalls
@@ -385,6 +399,19 @@ $1 ~ /^#/ && intable {
if ($1 ~ /^#[ ]*if/) {
savedepth++
savesyscall[savedepth] = syscall
+ skip_auto[savedepth] = auto_skip
+ auto_skip = 0
+
+ # Special handling for sysautoload conditionals
+ #
+ # We ignore all conditions other than those for
+ # !defined(_LP64) which are used for SYSV* syscalls
+ # only
+
+ if ($0 ~ /!defined\(_LP64\)/) {
+ printf("#if !defined(_LP64)\n") > sysautoload
+ auto_skip = savedepth
+ }
}
if ($1 ~ /^#[ ]*else/) {
if (savedepth <= 0) {
@@ -392,6 +419,9 @@ $1 ~ /^#/ && intable {
infile, NR)
exit 1
}
+ if (auto_skip == savedepth) {
+ print > sysautoload
+ }
syscall = savesyscall[savedepth]
}
if ($1 ~ /^#[ ]*endif/) {
@@ -400,6 +430,10 @@ $1 ~ /^#/ && intable {
infile, NR)
exit 1
}
+ if (auto_skip == savedepth) {
+ print > sysautoload
+ }
+ auto_skip = skip_auto[savedepth];
savedepth--
}
print > sysent
@@ -455,6 +489,8 @@ function parseline() {
if ($f == "MODULAR") { # registered at runtime
modular = 1
f++
+ modname = $f
+ f++
} else {
modular = 0;
}
@@ -637,6 +673,13 @@ function printproto(wrap) {
printf("#define\t%s%s%s\t%d\n\n", constprefix, wrap, funcalias,
syscall) > sysnumhdr
+ # output entry for syscall autoload table, if modular
+ if (modular ) {
+ printf("\t { %s%s%s, \"%s\" },\n", constprefix, wrap,
+ funcalias, modname) > sysautoload
+ }
+
+
# rumpalooza
if (!rumpable)
return
@@ -1084,6 +1127,7 @@ END {
cat $sysprotos >> $sysarghdr
echo "#endif /* _${constprefix}SYSCALL_H_ */" >> $sysnumhdr
echo "#endif /* _${constprefix}SYSCALLARGS_H_ */" >> $sysarghdr
+echo "};" >> $sysautoload
printf "\n#endif /* _RUMP_RUMP_SYSCALLS_H_ */\n" >> $rumpprotos
cat $sysdcl $sysent > $syssw
cat $sysnamesbottom >> $sysnames
@@ -1100,4 +1144,4 @@ cat $systracetmp >> $systrace
cat $systraceret >> $systrace
echo Generated following files:
-echo $sysarghdr $sysnumhdr $syssw $sysnames $systrace $rumpcalls $rumpcallshdr $rumpsysmap
+echo $sysarghdr $sysnumhdr $syssw $sysnames $sysautoload $systrace $rumpcalls $rumpcallshdr $rumpsysmap
Index: src/sys/kern/syscalls.master
diff -u src/sys/kern/syscalls.master:1.273 src/sys/kern/syscalls.master:1.274
--- src/sys/kern/syscalls.master:1.273 Wed Apr 8 13:24:25 2015
+++ src/sys/kern/syscalls.master Sat May 9 05:51:26 2015
@@ -1,4 +1,4 @@
- $NetBSD: syscalls.master,v 1.273 2015/04/08 13:24:25 justin Exp $
+ compat $NetBSD: syscalls.master,v 1.274 2015/05/09 05:51:26 pgoyette Exp $
; @(#)syscalls.master 8.2 (Berkeley) 1/13/94
@@ -12,7 +12,7 @@
;
; Optional fields are specified after the type field
; (NOTE! they *must* be specified in this order):
-; MODULAR:attempt to autoload system call if not present
+; MODULAR modname :attempt to autoload system call module if not present
; RUMP: generate rump syscall entry point
;
; types:
@@ -75,26 +75,29 @@
5 STD RUMP { int|sys||open(const char *path, \
int flags, ... mode_t mode); }
6 STD RUMP { int|sys||close(int fd); }
-7 COMPAT_50 MODULAR { int|sys||wait4(pid_t pid, int *status, \
+7 COMPAT_50 MODULAR compat { int|sys||wait4(pid_t pid, int *status, \
int options, struct rusage50 *rusage); }
-8 COMPAT_43 MODULAR { int|sys||creat(const char *path, mode_t mode); } ocreat
+8 COMPAT_43 MODULAR compat \
+ { int|sys||creat(const char *path, mode_t mode); } ocreat
9 STD RUMP { int|sys||link(const char *path, const char *link); }
10 STD RUMP { int|sys||unlink(const char *path); }
11 OBSOL execv
12 STD RUMP { int|sys||chdir(const char *path); }
13 STD RUMP { int|sys||fchdir(int fd); }
-14 COMPAT_50 MODULAR RUMP { int|sys||mknod(const char *path, mode_t mode, \
- uint32_t dev); }
+14 COMPAT_50 MODULAR compat RUMP \
+ { int|sys||mknod(const char *path, mode_t mode, uint32_t dev); }
15 STD RUMP { int|sys||chmod(const char *path, mode_t mode); }
16 STD RUMP { int|sys||chown(const char *path, uid_t uid, \
gid_t gid); }
17 STD { int|sys||obreak(char *nsize); } break
-18 COMPAT_20 MODULAR { int|sys||getfsstat(struct statfs12 *buf, \
+18 COMPAT_20 MODULAR compat { int|sys||getfsstat(struct statfs12 *buf, \
long bufsize, int flags); }
-19 COMPAT_43 MODULAR { long|sys||lseek(int fd, long offset, int whence); }\
+19 COMPAT_43 MODULAR compat \
+ { long|sys||lseek(int fd, long offset, int whence); }\
olseek
20 NOERR RUMP { pid_t|sys||getpid_with_ppid(void); } getpid
-21 COMPAT_40 MODULAR { int|sys||mount(const char *type, const char *path, \
+21 COMPAT_40 MODULAR compat \
+ { int|sys||mount(const char *type, const char *path, \
int flags, void *data); }
22 STD RUMP { int|sys||unmount(const char *path, int flags); }
23 STD RUMP { int|sys||setuid(uid_t uid); }
@@ -120,10 +123,11 @@
35 STD RUMP { int|sys||fchflags(int fd, u_long flags); }
36 NOERR RUMP { void|sys||sync(void); }
37 STD { int|sys||kill(pid_t pid, int signum); }
-38 COMPAT_43 MODULAR { int|sys||stat(const char *path, struct stat43 *ub); } \
- stat43
+38 COMPAT_43 MODULAR compat \
+ { int|sys||stat(const char *path, struct stat43 *ub); } stat43
39 NOERR RUMP { pid_t|sys||getppid(void); }
-40 COMPAT_43 MODULAR { int|sys||lstat(const char *path, \
+40 COMPAT_43 MODULAR compat \
+ { int|sys||lstat(const char *path, \
struct stat43 *ub); } lstat43
41 STD RUMP { int|sys||dup(int fd); }
42 STD RUMP { int|sys||pipe(void); }
@@ -132,22 +136,22 @@
u_long offset, u_int scale); }
45 STD RUMP { int|sys||ktrace(const char *fname, int ops, \
int facs, pid_t pid); }
-46 COMPAT_13 MODULAR { int|sys||sigaction(int signum, \
+46 COMPAT_13 MODULAR compat { int|sys||sigaction(int signum, \
const struct sigaction13 *nsa, \
struct sigaction13 *osa); } sigaction13
47 NOERR RUMP { gid_t|sys||getgid_with_egid(void); } getgid
-48 COMPAT_13 MODULAR { int|sys||sigprocmask(int how, \
+48 COMPAT_13 MODULAR compat { int|sys||sigprocmask(int how, \
int mask); } sigprocmask13
49 STD RUMP { int|sys||__getlogin(char *namebuf, size_t namelen); }
50 STD RUMP { int|sys||__setlogin(const char *namebuf); }
51 STD { int|sys||acct(const char *path); }
-52 COMPAT_13 MODULAR { int|sys||sigpending(void); } sigpending13
-53 COMPAT_13 MODULAR { int|sys||sigaltstack( \
+52 COMPAT_13 MODULAR compat { int|sys||sigpending(void); } sigpending13
+53 COMPAT_13 MODULAR compat { int|sys||sigaltstack( \
const struct sigaltstack13 *nss, \
struct sigaltstack13 *oss); } sigaltstack13
54 STD RUMP { int|sys||ioctl(int fd, \
u_long com, ... void *data); }
-55 COMPAT_12 MODULAR { int|sys||reboot(int opt); } oreboot
+55 COMPAT_12 MODULAR compat { int|sys||reboot(int opt); } oreboot
56 STD RUMP { int|sys||revoke(const char *path); }
57 STD RUMP { int|sys||symlink(const char *path, \
const char *link); }
@@ -157,18 +161,22 @@
char * const *argp, char * const *envp); }
60 STD RUMP { mode_t|sys||umask(mode_t newmask); }
61 STD RUMP { int|sys||chroot(const char *path); }
-62 COMPAT_43 MODULAR { int|sys||fstat(int fd, struct stat43 *sb); } fstat43
-63 COMPAT_43 MODULAR { int|sys||getkerninfo(int op, char *where, int *size, \
+62 COMPAT_43 MODULAR compat \
+ { int|sys||fstat(int fd, struct stat43 *sb); } fstat43
+63 COMPAT_43 MODULAR compat \
+ { int|sys||getkerninfo(int op, char *where, int *size, \
int arg); } ogetkerninfo
-64 COMPAT_43 MODULAR { int|sys||getpagesize(void); } ogetpagesize
-65 COMPAT_12 MODULAR { int|sys||msync(void *addr, size_t len); }
+64 COMPAT_43 MODULAR compat \
+ { int|sys||getpagesize(void); } ogetpagesize
+65 COMPAT_12 MODULAR compat { int|sys||msync(void *addr, size_t len); }
; XXX COMPAT_??? for 4.4BSD-compatible vfork(2)?
66 STD { int|sys||vfork(void); }
67 OBSOL vread
68 OBSOL vwrite
69 STD { int|sys||sbrk(intptr_t incr); }
70 STD { int|sys||sstk(int incr); }
-71 COMPAT_43 MODULAR { int|sys||mmap(void *addr, size_t len, int prot, \
+71 COMPAT_43 MODULAR compat \
+ { int|sys||mmap(void *addr, size_t len, int prot, \
int flags, int fd, long pos); } ommap
72 STD { int|sys||ovadvise(int anom); } vadvise
73 STD { int|sys||munmap(void *addr, size_t len); }
@@ -186,37 +194,44 @@
const gid_t *gidset); }
81 STD RUMP { int|sys||getpgrp(void); }
82 STD RUMP { int|sys||setpgid(pid_t pid, pid_t pgid); }
-83 COMPAT_50 MODULAR { int|sys||setitimer(int which, \
+83 COMPAT_50 MODULAR compat { int|sys||setitimer(int which, \
const struct itimerval50 *itv, \
struct itimerval50 *oitv); }
-84 COMPAT_43 MODULAR { int|sys||wait(void); } owait
-85 COMPAT_12 MODULAR { int|sys||swapon(const char *name); } oswapon
-86 COMPAT_50 MODULAR { int|sys||getitimer(int which, \
+84 COMPAT_43 MODULAR compat { int|sys||wait(void); } owait
+85 COMPAT_12 MODULAR compat { int|sys||swapon(const char *name); } oswapon
+86 COMPAT_50 MODULAR compat { int|sys||getitimer(int which, \
struct itimerval50 *itv); }
-87 COMPAT_43 MODULAR { int|sys||gethostname(char *hostname, u_int len); } \
+87 COMPAT_43 MODULAR compat \
+ { int|sys||gethostname(char *hostname, u_int len); } \
ogethostname
-88 COMPAT_43 MODULAR { int|sys||sethostname(char *hostname, u_int len); } \
+88 COMPAT_43 MODULAR compat \
+ { int|sys||sethostname(char *hostname, u_int len); } \
osethostname
-89 COMPAT_43 MODULAR { int|sys||getdtablesize(void); } ogetdtablesize
+89 COMPAT_43 MODULAR compat \
+ { int|sys||getdtablesize(void); } ogetdtablesize
90 STD RUMP { int|sys||dup2(int from, int to); }
91 UNIMPL getdopt
92 STD RUMP { int|sys||fcntl(int fd, int cmd, ... void *arg); }
-93 COMPAT_50 MODULAR RUMP { int|sys||select(int nd, fd_set *in, fd_set *ou, \
+93 COMPAT_50 MODULAR compat RUMP \
+ { int|sys||select(int nd, fd_set *in, fd_set *ou, \
fd_set *ex, struct timeval50 *tv); }
94 UNIMPL setdopt
95 STD RUMP { int|sys||fsync(int fd); }
96 STD { int|sys||setpriority(int which, id_t who, int prio); }
-97 COMPAT_30 MODULAR { int|sys||socket(int domain, int type, int protocol); }
+97 COMPAT_30 MODULAR compat \
+ { int|sys||socket(int domain, int type, int protocol); }
98 STD RUMP { int|sys||connect(int s, const struct sockaddr *name, \
socklen_t namelen); }
-99 COMPAT_43 MODULAR { int|sys||accept(int s, void *name, \
+99 COMPAT_43 MODULAR compat \
+ { int|sys||accept(int s, void *name, \
socklen_t *anamelen); } oaccept
100 STD { int|sys||getpriority(int which, id_t who); }
-101 COMPAT_43 MODULAR { int|sys||send(int s, void *buf, int len, \
+101 COMPAT_43 MODULAR compat { int|sys||send(int s, void *buf, int len, \
int flags); } osend
-102 COMPAT_43 MODULAR { int|sys||recv(int s, void *buf, int len, \
+102 COMPAT_43 MODULAR compat { int|sys||recv(int s, void *buf, int len, \
int flags); } orecv
-103 COMPAT_13 MODULAR { int|sys||sigreturn(struct sigcontext13 *sigcntxp); } \
+103 COMPAT_13 MODULAR compat \
+ { int|sys||sigreturn(struct sigcontext13 *sigcntxp); } \
sigreturn13
104 STD RUMP { int|sys||bind(int s, const struct sockaddr *name, \
socklen_t namelen); }
@@ -224,21 +239,24 @@
const void *val, socklen_t valsize); }
106 STD RUMP { int|sys||listen(int s, int backlog); }
107 OBSOL vtimes
-108 COMPAT_43 MODULAR { int|sys||sigvec(int signum, struct sigvec *nsv, \
+108 COMPAT_43 MODULAR compat \
+ { int|sys||sigvec(int signum, struct sigvec *nsv, \
struct sigvec *osv); } osigvec
-109 COMPAT_43 MODULAR { int|sys||sigblock(int mask); } osigblock
-110 COMPAT_43 MODULAR { int|sys||sigsetmask(int mask); } osigsetmask
-111 COMPAT_13 MODULAR { int|sys||sigsuspend(int mask); } sigsuspend13
-112 COMPAT_43 MODULAR { int|sys||sigstack(struct sigstack *nss, \
+109 COMPAT_43 MODULAR compat { int|sys||sigblock(int mask); } osigblock
+110 COMPAT_43 MODULAR compat { int|sys||sigsetmask(int mask); } osigsetmask
+111 COMPAT_13 MODULAR compat { int|sys||sigsuspend(int mask); } sigsuspend13
+112 COMPAT_43 MODULAR compat { int|sys||sigstack(struct sigstack *nss, \
struct sigstack *oss); } osigstack
-113 COMPAT_43 MODULAR { int|sys||recvmsg(int s, struct omsghdr *msg, \
+113 COMPAT_43 MODULAR compat \
+ { int|sys||recvmsg(int s, struct omsghdr *msg, \
int flags); } orecvmsg
-114 COMPAT_43 MODULAR { int|sys||sendmsg(int s, void *msg, int flags); } \
- osendmsg
+114 COMPAT_43 MODULAR compat \
+ { int|sys||sendmsg(int s, void *msg, int flags); } osendmsg
115 OBSOL vtrace
-116 COMPAT_50 MODULAR { int|sys||gettimeofday(struct timeval50 *tp, \
+116 COMPAT_50 MODULAR compat { int|sys||gettimeofday(struct timeval50 *tp, \
void *tzp); }
-117 COMPAT_50 MODULAR { int|sys||getrusage(int who, struct rusage50 *rusage); }
+117 COMPAT_50 MODULAR compat \
+ { int|sys||getrusage(int who, struct rusage50 *rusage); }
118 STD RUMP { int|sys||getsockopt(int s, int level, int name, \
void *val, socklen_t *avalsize); }
119 OBSOL resuba
@@ -246,19 +264,22 @@
const struct iovec *iovp, int iovcnt); }
121 STD RUMP { ssize_t|sys||writev(int fd, \
const struct iovec *iovp, int iovcnt); }
-122 COMPAT_50 MODULAR { int|sys||settimeofday(const struct timeval50 *tv, \
+122 COMPAT_50 MODULAR compat \
+ { int|sys||settimeofday(const struct timeval50 *tv, \
const void *tzp); }
123 STD RUMP { int|sys||fchown(int fd, uid_t uid, gid_t gid); }
124 STD RUMP { int|sys||fchmod(int fd, mode_t mode); }
-125 COMPAT_43 MODULAR { int|sys||recvfrom(int s, void *buf, size_t len, \
+125 COMPAT_43 MODULAR compat \
+ { int|sys||recvfrom(int s, void *buf, size_t len, \
int flags, void *from, socklen_t *fromlenaddr); } \
orecvfrom
126 STD RUMP { int|sys||setreuid(uid_t ruid, uid_t euid); }
127 STD RUMP { int|sys||setregid(gid_t rgid, gid_t egid); }
128 STD RUMP { int|sys||rename(const char *from, const char *to); }
-129 COMPAT_43 MODULAR { int|sys||truncate(const char *path, long length); } \
- otruncate
-130 COMPAT_43 MODULAR { int|sys||ftruncate(int fd, long length); } oftruncate
+129 COMPAT_43 MODULAR compat \
+ { int|sys||truncate(const char *path, long length); } otruncate
+130 COMPAT_43 MODULAR compat \
+ { int|sys||ftruncate(int fd, long length); } oftruncate
131 STD RUMP { int|sys||flock(int fd, int how); }
132 STD RUMP { int|sys||mkfifo(const char *path, mode_t mode); }
133 STD RUMP { ssize_t|sys||sendto(int s, const void *buf, \
@@ -269,25 +290,31 @@
int protocol, int *rsv); }
136 STD RUMP { int|sys||mkdir(const char *path, mode_t mode); }
137 STD RUMP { int|sys||rmdir(const char *path); }
-138 COMPAT_50 MODULAR RUMP { int|sys||utimes(const char *path, \
+138 COMPAT_50 MODULAR compat RUMP { int|sys||utimes(const char *path, \
const struct timeval50 *tptr); }
139 OBSOL 4.2 sigreturn
-140 COMPAT_50 MODULAR { int|sys||adjtime(const struct timeval50 *delta, \
+140 COMPAT_50 MODULAR compat \
+ { int|sys||adjtime(const struct timeval50 *delta, \
struct timeval50 *olddelta); }
-141 COMPAT_43 MODULAR { int|sys||getpeername(int fdes, void *asa, \
+141 COMPAT_43 MODULAR compat \
+ { int|sys||getpeername(int fdes, void *asa, \
socklen_t *alen); } ogetpeername
-142 COMPAT_43 MODULAR { int32_t|sys||gethostid(void); } ogethostid
-143 COMPAT_43 MODULAR { int|sys||sethostid(int32_t hostid); } osethostid
-144 COMPAT_43 MODULAR { int|sys||getrlimit(int which, \
+142 COMPAT_43 MODULAR compat \
+ { int32_t|sys||gethostid(void); } ogethostid
+143 COMPAT_43 MODULAR compat \
+ { int|sys||sethostid(int32_t hostid); } osethostid
+144 COMPAT_43 MODULAR compat \
+ { int|sys||getrlimit(int which, \
struct orlimit *rlp); } ogetrlimit
-145 COMPAT_43 MODULAR { int|sys||setrlimit(int which, \
+145 COMPAT_43 MODULAR compat { int|sys||setrlimit(int which, \
const struct orlimit *rlp); } osetrlimit
-146 COMPAT_43 MODULAR { int|sys||killpg(int pgid, int signum); } okillpg
+146 COMPAT_43 MODULAR compat \
+ { int|sys||killpg(int pgid, int signum); } okillpg
147 STD RUMP { int|sys||setsid(void); }
-148 COMPAT_50 MODULAR { int|sys||quotactl(const char *path, int cmd, \
+148 COMPAT_50 MODULAR XXX { int|sys||quotactl(const char *path, int cmd, \
int uid, void *arg); }
-149 COMPAT_43 MODULAR { int|sys||quota(void); } oquota
-150 COMPAT_43 MODULAR { int|sys||getsockname(int fdec, void *asa, \
+149 COMPAT_43 MODULAR compat { int|sys||quota(void); } oquota
+150 COMPAT_43 MODULAR compat { int|sys||getsockname(int fdec, void *asa, \
socklen_t *alen); } ogetsockname
; Syscalls 151-180 inclusive are reserved for vendor-specific
@@ -298,42 +325,50 @@
152 UNIMPL
153 UNIMPL
154 UNIMPL
-155 STD MODULAR RUMP { int|sys||nfssvc(int flag, void *argp); }
-156 COMPAT_43 MODULAR { int|sys||getdirentries(int fd, char *buf, \
+155 STD MODULAR nfsserver RUMP { int|sys||nfssvc(int flag, void *argp); }
+156 COMPAT_43 MODULAR compat \
+ { int|sys||getdirentries(int fd, char *buf, \
u_int count, long *basep); } ogetdirentries
-157 COMPAT_20 MODULAR { int|sys||statfs(const char *path, \
+157 COMPAT_20 MODULAR compat { int|sys||statfs(const char *path, \
struct statfs12 *buf); }
-158 COMPAT_20 MODULAR { int|sys||fstatfs(int fd, struct statfs12 *buf); }
+158 COMPAT_20 MODULAR compat \
+ { int|sys||fstatfs(int fd, struct statfs12 *buf); }
159 UNIMPL
160 UNIMPL
-161 COMPAT_30 MODULAR { int|sys||getfh(const char *fname, \
+161 COMPAT_30 MODULAR compat { int|sys||getfh(const char *fname, \
struct compat_30_fhandle *fhp); }
-162 COMPAT_09 MODULAR { int|sys||getdomainname(char *domainname, int len); } \
+162 COMPAT_09 MODULAR compat \
+ { int|sys||getdomainname(char *domainname, int len); } \
ogetdomainname
-163 COMPAT_09 MODULAR { int|sys||setdomainname(char *domainname, int len); } \
+163 COMPAT_09 MODULAR compat \
+ { int|sys||setdomainname(char *domainname, int len); } \
osetdomainname
-164 COMPAT_09 MODULAR { int|sys||uname(struct outsname *name); } ouname
+164 COMPAT_09 MODULAR compat \
+ { int|sys||uname(struct outsname *name); } ouname
165 STD { int|sys||sysarch(int op, void *parms); }
166 UNIMPL
167 UNIMPL
168 UNIMPL
; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
#if (defined(SYSVSEM) || !defined(_KERNEL_OPT)) && !defined(_LP64)
-169 COMPAT_10 MODULAR { int|sys||semsys(int which, int a2, int a3, int a4, \
+169 COMPAT_10 MODULAR compat \
+ { int|sys||semsys(int which, int a2, int a3, int a4, \
int a5); } osemsys
#else
169 EXCL 1.0 semsys
#endif
; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
#if (defined(SYSVMSG) || !defined(_KERNEL_OPT)) && !defined(_LP64)
-170 COMPAT_10 MODULAR { int|sys||msgsys(int which, int a2, int a3, int a4, \
+170 COMPAT_10 MODULAR compat \
+ { int|sys||msgsys(int which, int a2, int a3, int a4, \
int a5, int a6); } omsgsys
#else
170 EXCL 1.0 msgsys
#endif
; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
#if (defined(SYSVSHM) || !defined(_KERNEL_OPT)) && !defined(_LP64)
-171 COMPAT_10 MODULAR { int|sys||shmsys(int which, int a2, int a3, int a4); } \
+171 COMPAT_10 MODULAR compat \
+ { int|sys||shmsys(int which, int a2, int a3, int a4); } \
oshmsys
#else
171 EXCL 1.0 shmsys
@@ -359,17 +394,18 @@
181 STD RUMP { int|sys||setgid(gid_t gid); }
182 STD RUMP { int|sys||setegid(gid_t egid); }
183 STD RUMP { int|sys||seteuid(uid_t euid); }
-184 STD MODULAR { int|sys||lfs_bmapv(fsid_t *fsidp, \
+184 STD MODULAR lfs { int|sys||lfs_bmapv(fsid_t *fsidp, \
struct block_info *blkiov, int blkcnt); }
-185 STD MODULAR { int|sys||lfs_markv(fsid_t *fsidp, \
+185 STD MODULAR lfs { int|sys||lfs_markv(fsid_t *fsidp, \
struct block_info *blkiov, int blkcnt); }
-186 STD MODULAR { int|sys||lfs_segclean(fsid_t *fsidp, u_long segment); }
-187 COMPAT_50 MODULAR { int|sys||lfs_segwait(fsid_t *fsidp, \
+186 STD MODULAR lfs { int|sys||lfs_segclean(fsid_t *fsidp, u_long segment); }
+187 COMPAT_50 MODULAR compat { int|sys||lfs_segwait(fsid_t *fsidp, \
struct timeval50 *tv); }
-188 COMPAT_12 MODULAR { int|sys||stat(const char *path, struct stat12 *ub); } \
- stat12
-189 COMPAT_12 MODULAR { int|sys||fstat(int fd, struct stat12 *sb); } fstat12
-190 COMPAT_12 MODULAR { int|sys||lstat(const char *path, \
+188 COMPAT_12 MODULAR compat \
+ { int|sys||stat(const char *path, struct stat12 *ub); } stat12
+189 COMPAT_12 MODULAR compat \
+ { int|sys||fstat(int fd, struct stat12 *sb); } fstat12
+190 COMPAT_12 MODULAR compat { int|sys||lstat(const char *path, \
struct stat12 *ub); } lstat12
191 STD RUMP { long|sys||pathconf(const char *path, int name); }
192 STD RUMP { long|sys||fpathconf(int fd, int name); }
@@ -378,7 +414,8 @@
struct rlimit *rlp); }
195 STD RUMP { int|sys||setrlimit(int which, \
const struct rlimit *rlp); }
-196 COMPAT_12 MODULAR { int|sys||getdirentries(int fd, char *buf, \
+196 COMPAT_12 MODULAR compat \
+ { int|sys||getdirentries(int fd, char *buf, \
u_int count, long *basep); }
197 STD { void *|sys||mmap(void *addr, size_t len, int prot, \
int flags, int fd, long PAD, off_t pos); }
@@ -395,7 +432,7 @@
203 STD { int|sys||mlock(const void *addr, size_t len); }
204 STD { int|sys||munlock(const void *addr, size_t len); }
205 STD { int|sys||undelete(const char *path); }
-206 COMPAT_50 MODULAR RUMP { int|sys||futimes(int fd, \
+206 COMPAT_50 MODULAR compat RUMP { int|sys||futimes(int fd, \
const struct timeval50 *tptr); }
207 STD RUMP { pid_t|sys||getpgid(pid_t pid); }
208 STD RUMP { int|sys||reboot(int opt, char *bootstr); }
@@ -404,7 +441,7 @@
;
; Syscalls 210-219 are reserved for dynamically loaded syscalls
;
-210 EXTERN MODULAR { int|sys||afssys(long id, long a1, long a2, \
+210 EXTERN MODULAR openafs { int|sys||afssys(long id, long a1, long a2, \
long a3, long a4, long a5, long a6); }
211 UNIMPL
212 UNIMPL
@@ -417,7 +454,8 @@
219 UNIMPL
; System calls 220-300 are reserved for use by NetBSD
#if defined(SYSVSEM) || !defined(_KERNEL_OPT)
-220 COMPAT_14 MODULAR { int|sys||__semctl(int semid, int semnum, int cmd, \
+220 COMPAT_14 MODULAR compat \
+ { int|sys||__semctl(int semid, int semnum, int cmd, \
union __semun *arg); }
221 STD { int|sys||semget(key_t key, int nsems, int semflg); }
222 STD { int|sys||semop(int semid, struct sembuf *sops, \
@@ -430,7 +468,7 @@
223 EXCL semconfig
#endif
#if defined(SYSVMSG) || !defined(_KERNEL_OPT)
-224 COMPAT_14 MODULAR { int|sys||msgctl(int msqid, int cmd, \
+224 COMPAT_14 MODULAR compat { int|sys||msgctl(int msqid, int cmd, \
struct msqid_ds14 *buf); }
225 STD { int|sys||msgget(key_t key, int msgflg); }
226 STD { int|sys||msgsnd(int msqid, const void *msgp, \
@@ -446,7 +484,7 @@
#if defined(SYSVSHM) || !defined(_KERNEL_OPT)
228 STD { void *|sys||shmat(int shmid, const void *shmaddr, \
int shmflg); }
-229 COMPAT_14 MODULAR { int|sys||shmctl(int shmid, int cmd, \
+229 COMPAT_14 MODULAR compat { int|sys||shmctl(int shmid, int cmd, \
struct shmid_ds14 *buf); }
230 STD { int|sys||shmdt(const void *shmaddr); }
231 STD { int|sys||shmget(key_t key, size_t size, int shmflg); }
@@ -456,68 +494,77 @@
230 EXCL shmdt
231 EXCL shmget
#endif
-232 COMPAT_50 MODULAR { int|sys||clock_gettime(clockid_t clock_id, \
+232 COMPAT_50 MODULAR compat { int|sys||clock_gettime(clockid_t clock_id, \
struct timespec50 *tp); }
-233 COMPAT_50 MODULAR { int|sys||clock_settime(clockid_t clock_id, \
+233 COMPAT_50 MODULAR compat { int|sys||clock_settime(clockid_t clock_id, \
const struct timespec50 *tp); }
-234 COMPAT_50 MODULAR { int|sys||clock_getres(clockid_t clock_id, \
+234 COMPAT_50 MODULAR compat { int|sys||clock_getres(clockid_t clock_id, \
struct timespec50 *tp); }
235 STD RUMP { int|sys||timer_create(clockid_t clock_id, \
struct sigevent *evp, timer_t *timerid); }
236 STD RUMP { int|sys||timer_delete(timer_t timerid); }
-237 COMPAT_50 MODULAR { int|sys||timer_settime(timer_t timerid, int flags, \
- const struct itimerspec50 *value, \
+237 COMPAT_50 MODULAR compat { int|sys||timer_settime(timer_t timerid, \
+ int flags, const struct itimerspec50 *value, \
struct itimerspec50 *ovalue); }
-238 COMPAT_50 MODULAR { int|sys||timer_gettime(timer_t timerid, struct \
- itimerspec50 *value); }
+238 COMPAT_50 MODULAR compat { int|sys||timer_gettime(timer_t timerid, \
+ struct itimerspec50 *value); }
239 STD RUMP { int|sys||timer_getoverrun(timer_t timerid); }
;
; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls
;
-240 COMPAT_50 MODULAR { int|sys||nanosleep(const struct timespec50 *rqtp, \
+240 COMPAT_50 MODULAR compat \
+ { int|sys||nanosleep(const struct timespec50 *rqtp, \
struct timespec50 *rmtp); }
241 STD RUMP { int|sys||fdatasync(int fd); }
242 STD { int|sys||mlockall(int flags); }
243 STD { int|sys||munlockall(void); }
-244 COMPAT_50 MODULAR { int|sys||__sigtimedwait(const sigset_t *set, \
- siginfo_t *info, \
- struct timespec50 *timeout); }
+244 COMPAT_50 MODULAR compat \
+ { int|sys||__sigtimedwait(const sigset_t *set, \
+ siginfo_t *info, struct timespec50 *timeout); }
245 STD { int|sys||sigqueueinfo(pid_t pid, \
const siginfo_t *info); }
246 STD RUMP { int|sys||modctl(int cmd, void *arg); }
-247 STD MODULAR RUMP { int|sys||_ksem_init(unsigned int value, intptr_t *idp); }
-248 STD MODULAR RUMP { int|sys||_ksem_open(const char *name, int oflag, \
+247 STD MODULAR ksem RUMP { int|sys||_ksem_init(unsigned int value, intptr_t *idp); }
+248 STD MODULAR ksem RUMP { int|sys||_ksem_open(const char *name, int oflag, \
mode_t mode, unsigned int value, intptr_t *idp); }
-249 STD MODULAR RUMP { int|sys||_ksem_unlink(const char *name); }
-250 STD MODULAR RUMP { int|sys||_ksem_close(intptr_t id); }
-251 STD MODULAR RUMP { int|sys||_ksem_post(intptr_t id); }
-252 STD MODULAR RUMP { int|sys||_ksem_wait(intptr_t id); }
-253 STD MODULAR RUMP { int|sys||_ksem_trywait(intptr_t id); }
-254 STD MODULAR RUMP { int|sys||_ksem_getvalue(intptr_t id, \
+249 STD MODULAR ksem RUMP { int|sys||_ksem_unlink(const char *name); }
+250 STD MODULAR ksem RUMP { int|sys||_ksem_close(intptr_t id); }
+251 STD MODULAR ksem RUMP { int|sys||_ksem_post(intptr_t id); }
+252 STD MODULAR ksem RUMP { int|sys||_ksem_wait(intptr_t id); }
+253 STD MODULAR ksem RUMP { int|sys||_ksem_trywait(intptr_t id); }
+254 STD MODULAR ksem RUMP { int|sys||_ksem_getvalue(intptr_t id, \
unsigned int *value); }
-255 STD MODULAR RUMP { int|sys||_ksem_destroy(intptr_t id); }
-256 STD MODULAR RUMP { int|sys||_ksem_timedwait(intptr_t id, \
+255 STD MODULAR ksem RUMP { int|sys||_ksem_destroy(intptr_t id); }
+256 STD MODULAR ksem RUMP { int|sys||_ksem_timedwait(intptr_t id, \
const struct timespec *abstime); }
-257 STD MODULAR { mqd_t|sys||mq_open(const char * name, int oflag, \
+257 STD MODULAR mqueue \
+ { mqd_t|sys||mq_open(const char * name, int oflag, \
mode_t mode, struct mq_attr *attr); }
-258 STD MODULAR { int|sys||mq_close(mqd_t mqdes); }
-259 STD MODULAR { int|sys||mq_unlink(const char *name); }
-260 STD MODULAR { int|sys||mq_getattr(mqd_t mqdes, \
+258 STD MODULAR mqueue { int|sys||mq_close(mqd_t mqdes); }
+259 STD MODULAR mqueue { int|sys||mq_unlink(const char *name); }
+260 STD MODULAR mqueue \
+ { int|sys||mq_getattr(mqd_t mqdes, \
struct mq_attr *mqstat); }
-261 STD MODULAR { int|sys||mq_setattr(mqd_t mqdes, \
+261 STD MODULAR mqueue \
+ { int|sys||mq_setattr(mqd_t mqdes, \
const struct mq_attr *mqstat, \
struct mq_attr *omqstat); }
-262 STD MODULAR { int|sys||mq_notify(mqd_t mqdes, \
+262 STD MODULAR mqueue \
+ { int|sys||mq_notify(mqd_t mqdes, \
const struct sigevent *notification); }
-263 STD MODULAR { int|sys||mq_send(mqd_t mqdes, const char *msg_ptr, \
+263 STD MODULAR mqueue \
+ { int|sys||mq_send(mqd_t mqdes, const char *msg_ptr, \
size_t msg_len, unsigned msg_prio); }
-264 STD MODULAR { ssize_t|sys||mq_receive(mqd_t mqdes, char *msg_ptr, \
+264 STD MODULAR mqueue \
+ { ssize_t|sys||mq_receive(mqd_t mqdes, char *msg_ptr, \
size_t msg_len, unsigned *msg_prio); }
-265 COMPAT_50 MODULAR { int|sys||mq_timedsend(mqd_t mqdes, \
+265 COMPAT_50 MODULAR compat \
+ { int|sys||mq_timedsend(mqd_t mqdes, \
const char *msg_ptr, size_t msg_len, \
unsigned msg_prio, \
const struct timespec50 *abs_timeout); }
-266 COMPAT_50 MODULAR { ssize_t|sys||mq_timedreceive(mqd_t mqdes, \
+266 COMPAT_50 MODULAR compat \
+ { ssize_t|sys||mq_timedreceive(mqd_t mqdes, \
char *msg_ptr, size_t msg_len, unsigned *msg_prio, \
const struct timespec50 *abs_timeout); }
267 UNIMPL
@@ -526,18 +573,21 @@
270 STD RUMP { int|sys||__posix_rename(const char *from, \
const char *to); }
271 STD { int|sys||swapctl(int cmd, void *arg, int misc); }
-272 COMPAT_30 MODULAR { int|sys||getdents(int fd, char *buf, size_t count); }
+272 COMPAT_30 MODULAR compat { int|sys||getdents(int fd, char *buf, size_t count); }
273 STD { int|sys||minherit(void *addr, size_t len, \
int inherit); }
274 STD RUMP { int|sys||lchmod(const char *path, mode_t mode); }
275 STD RUMP { int|sys||lchown(const char *path, uid_t uid, \
gid_t gid); }
-276 COMPAT_50 MODULAR RUMP { int|sys||lutimes(const char *path, \
+276 COMPAT_50 MODULAR compat RUMP { int|sys||lutimes(const char *path, \
const struct timeval50 *tptr); }
277 STD { int|sys|13|msync(void *addr, size_t len, int flags); }
-278 COMPAT_30 MODULAR { int|sys|13|stat(const char *path, struct stat13 *ub); }
-279 COMPAT_30 MODULAR { int|sys|13|fstat(int fd, struct stat13 *sb); }
-280 COMPAT_30 MODULAR { int|sys|13|lstat(const char *path, struct stat13 *ub); }
+278 COMPAT_30 MODULAR compat \
+ { int|sys|13|stat(const char *path, struct stat13 *ub); }
+279 COMPAT_30 MODULAR compat \
+ { int|sys|13|fstat(int fd, struct stat13 *sb); }
+280 COMPAT_30 MODULAR compat \
+ { int|sys|13|lstat(const char *path, struct stat13 *ub); }
281 STD { int|sys|14|sigaltstack( \
const struct sigaltstack *nss, \
struct sigaltstack *oss); }
@@ -558,7 +608,7 @@
290 STD RUMP { ssize_t|sys||pwritev(int fd, \
const struct iovec *iovp, int iovcnt, \
int PAD, off_t offset); }
-291 COMPAT_16 MODULAR { int|sys|14|sigaction(int signum, \
+291 COMPAT_16 MODULAR compat { int|sys|14|sigaction(int signum, \
const struct sigaction *nsa, \
struct sigaction *osa); }
292 STD { int|sys|14|sigpending(sigset_t *set); }
@@ -566,28 +616,33 @@
const sigset_t *set, \
sigset_t *oset); }
294 STD { int|sys|14|sigsuspend(const sigset_t *set); }
-295 COMPAT_16 MODULAR { int|sys|14|sigreturn(struct sigcontext *sigcntxp); }
+295 COMPAT_16 MODULAR compat \
+ { int|sys|14|sigreturn(struct sigcontext *sigcntxp); }
296 STD RUMP { int|sys||__getcwd(char *bufp, size_t length); }
297 STD RUMP { int|sys||fchroot(int fd); }
-298 COMPAT_30 MODULAR { int|sys||fhopen(const struct compat_30_fhandle *fhp, int flags); }
-299 COMPAT_30 MODULAR { int|sys||fhstat(const struct compat_30_fhandle *fhp, \
+298 COMPAT_30 MODULAR compat \
+ { int|sys||fhopen(const struct compat_30_fhandle *fhp, int flags); }
+299 COMPAT_30 MODULAR compat \
+ { int|sys||fhstat(const struct compat_30_fhandle *fhp, \
struct stat13 *sb); }
-300 COMPAT_20 MODULAR { int|sys||fhstatfs(const struct compat_30_fhandle *fhp, \
+300 COMPAT_20 MODULAR compat \
+ { int|sys||fhstatfs(const struct compat_30_fhandle *fhp, \
struct statfs12 *buf); }
#if defined(SYSVSEM) || !defined(_KERNEL_OPT)
-301 COMPAT_50 MODULAR { int|sys|13|__semctl(int semid, int semnum, int cmd, \
+301 COMPAT_50 MODULAR compat \
+ { int|sys|13|__semctl(int semid, int semnum, int cmd, \
... union __semun *arg); }
#else
301 EXCL ____semctl13
#endif
#if defined(SYSVMSG) || !defined(_KERNEL_OPT)
-302 COMPAT_50 MODULAR { int|sys|13|msgctl(int msqid, int cmd, \
+302 COMPAT_50 MODULAR compat { int|sys|13|msgctl(int msqid, int cmd, \
struct msqid_ds *buf); }
#else
302 EXCL __msgctl13
#endif
#if defined(SYSVSHM) || !defined(_KERNEL_OPT)
-303 COMPAT_50 MODULAR { int|sys|13|shmctl(int shmid, int cmd, \
+303 COMPAT_50 MODULAR compat { int|sys|13|shmctl(int shmid, int cmd, \
struct shmid_ds13 *buf); }
#else
303 EXCL __shmctl13
@@ -611,7 +666,8 @@
317 STD { void|sys||_lwp_setprivate(void *ptr); }
318 STD { int|sys||_lwp_kill(lwpid_t target, int signo); }
319 STD { int|sys||_lwp_detach(lwpid_t target); }
-320 COMPAT_50 MODULAR { int|sys||_lwp_park(const struct timespec50 *ts, \
+320 COMPAT_50 MODULAR compat \
+ { int|sys||_lwp_park(const struct timespec50 *ts, \
lwpid_t unpark, const void *hint, \
const void *unparkhint); }
321 STD { int|sys||_lwp_unpark(lwpid_t target, const void *hint); }
@@ -651,7 +707,7 @@
342 STD { int|sys||pmc_control(int ctr, int op, void *args); }
343 STD { int|sys||rasctl(void *addr, size_t len, int op); }
344 STD RUMP { int|sys||kqueue(void); }
-345 COMPAT_50 MODULAR RUMP { int|sys||kevent(int fd, \
+345 COMPAT_50 MODULAR compat RUMP { int|sys||kevent(int fd, \
const struct kevent *changelist, size_t nchanges, \
struct kevent *eventlist, size_t nevents, \
const struct timespec50 *timeout); }
@@ -679,7 +735,8 @@
struct statvfs *buf, int flags); }
358 STD RUMP { int|sys||fstatvfs1(int fd, struct statvfs *buf, \
int flags); }
-359 COMPAT_30 MODULAR { int|sys||fhstatvfs1(const struct compat_30_fhandle *fhp, \
+359 COMPAT_30 MODULAR compat \
+ { int|sys||fhstatvfs1(const struct compat_30_fhandle *fhp, \
struct statvfs *buf, int flags); }
360 STD RUMP { int|sys||extattrctl(const char *path, int cmd, \
const char *filename, int attrnamespace, \
@@ -714,10 +771,12 @@
int attrnamespace, void *data, size_t nbytes); }
372 STD RUMP { ssize_t|sys||extattr_list_link(const char *path, \
int attrnamespace, void *data, size_t nbytes); }
-373 COMPAT_50 MODULAR RUMP { int|sys||pselect(int nd, fd_set *in, fd_set *ou, \
+373 COMPAT_50 MODULAR compat RUMP \
+ { int|sys||pselect(int nd, fd_set *in, fd_set *ou, \
fd_set *ex, const struct timespec50 *ts, \
const sigset_t *mask); }
-374 COMPAT_50 MODULAR RUMP { int|sys||pollts(struct pollfd *fds, u_int nfds, \
+374 COMPAT_50 MODULAR compat RUMP \
+ { int|sys||pollts(struct pollfd *fds, u_int nfds, \
const struct timespec50 *ts, const sigset_t *mask); }
375 STD RUMP { int|sys||setxattr(const char *path, \
const char *name, const void *value, size_t size, \
@@ -746,14 +805,18 @@
const char *name); }
386 STD RUMP { int|sys||fremovexattr(int fd, \
const char *name); }
-387 COMPAT_50 MODULAR RUMP { int|sys|30|stat(const char *path, struct stat30 *ub); }
-388 COMPAT_50 MODULAR RUMP { int|sys|30|fstat(int fd, struct stat30 *sb); }
-389 COMPAT_50 MODULAR RUMP { int|sys|30|lstat(const char *path, struct stat30 *ub); }
+387 COMPAT_50 MODULAR compat RUMP \
+ { int|sys|30|stat(const char *path, struct stat30 *ub); }
+388 COMPAT_50 MODULAR compat RUMP \
+ { int|sys|30|fstat(int fd, struct stat30 *sb); }
+389 COMPAT_50 MODULAR compat RUMP \
+ { int|sys|30|lstat(const char *path, struct stat30 *ub); }
390 STD RUMP { int|sys|30|getdents(int fd, char *buf, size_t count); }
391 IGNORED old posix_fadvise
-392 COMPAT_30 MODULAR { int|sys|30|fhstat(const struct compat_30_fhandle \
+392 COMPAT_30 MODULAR compat { int|sys|30|fhstat(const struct compat_30_fhandle \
*fhp, struct stat30 *sb); }
-393 COMPAT_50 MODULAR { int|sys|30|ntp_gettime(struct ntptimeval50 *ntvp); }
+393 COMPAT_50 MODULAR compat \
+ { int|sys|30|ntp_gettime(struct ntptimeval50 *ntvp); }
394 STD RUMP { int|sys|30|socket(int domain, int type, int protocol); }
395 STD RUMP { int|sys|30|getfh(const char *fname, void *fhp, \
size_t *fh_size); }
@@ -761,20 +824,28 @@
int flags); }
397 STD RUMP { int|sys|40|fhstatvfs1(const void *fhp, \
size_t fh_size, struct statvfs *buf, int flags); }
-398 COMPAT_50 MODULAR RUMP { int|sys|40|fhstat(const void *fhp, \
+398 COMPAT_50 MODULAR compat RUMP { int|sys|40|fhstat(const void *fhp, \
size_t fh_size, struct stat30 *sb); }
; Asynchronous I/O system calls
-399 STD MODULAR RUMP { int|sys||aio_cancel(int fildes, struct aiocb *aiocbp); }
-400 STD MODULAR RUMP { int|sys||aio_error(const struct aiocb *aiocbp); }
-401 STD MODULAR RUMP { int|sys||aio_fsync(int op, struct aiocb *aiocbp); }
-402 STD MODULAR RUMP { int|sys||aio_read(struct aiocb *aiocbp); }
-403 STD MODULAR RUMP { int|sys||aio_return(struct aiocb *aiocbp); }
-404 COMPAT_50 MODULAR { int|sys||aio_suspend(const struct aiocb *const *list, \
- int nent, const struct timespec50 *timeout); }
-405 STD MODULAR RUMP { int|sys||aio_write(struct aiocb *aiocbp); }
-406 STD MODULAR RUMP { int|sys||lio_listio(int mode, struct aiocb *const *list, \
- int nent, struct sigevent *sig); }
+399 STD MODULAR aio RUMP \
+ { int|sys||aio_cancel(int fildes, struct aiocb *aiocbp); }
+400 STD MODULAR aio RUMP \
+ { int|sys||aio_error(const struct aiocb *aiocbp); }
+401 STD MODULAR aio RUMP \
+ { int|sys||aio_fsync(int op, struct aiocb *aiocbp); }
+402 STD MODULAR aio RUMP \
+ { int|sys||aio_read(struct aiocb *aiocbp); }
+403 STD MODULAR aio RUMP \
+ { int|sys||aio_return(struct aiocb *aiocbp); }
+404 COMPAT_50 MODULAR compat \
+ { int|sys||aio_suspend(const struct aiocb *const *list, \
+ int nent, const struct timespec50 *timeout); }
+405 STD MODULAR aio RUMP \
+ { int|sys||aio_write(struct aiocb *aiocbp); }
+406 STD MODULAR aio RUMP \
+ { int|sys||lio_listio(int mode, struct aiocb *const *list, \
+ int nent, struct sigevent *sig); }
407 UNIMPL
408 UNIMPL
@@ -805,7 +876,7 @@
const struct timeval *tptr); }
421 STD RUMP { int|sys|50|adjtime(const struct timeval *delta, \
struct timeval *olddelta); }
-422 STD MODULAR { int|sys|50|lfs_segwait(fsid_t *fsidp, \
+422 STD MODULAR lfs { int|sys|50|lfs_segwait(fsid_t *fsidp, \
struct timeval *tv); }
423 STD RUMP { int|sys|50|futimes(int fd, \
const struct timeval *tptr); }
@@ -827,14 +898,17 @@
431 STD { int|sys|50|__sigtimedwait(const sigset_t *set, \
siginfo_t *info, \
struct timespec *timeout); }
-432 STD MODULAR { int|sys|50|mq_timedsend(mqd_t mqdes, \
+432 STD MODULAR mqueue \
+ { int|sys|50|mq_timedsend(mqd_t mqdes, \
const char *msg_ptr, size_t msg_len, \
unsigned msg_prio, \
const struct timespec *abs_timeout); }
-433 STD MODULAR { ssize_t|sys|50|mq_timedreceive(mqd_t mqdes, \
+433 STD MODULAR mqueue \
+ { ssize_t|sys|50|mq_timedreceive(mqd_t mqdes, \
char *msg_ptr, size_t msg_len, unsigned *msg_prio, \
const struct timespec *abs_timeout); }
-434 COMPAT_60 MODULAR { int|sys||_lwp_park(const struct timespec *ts, \
+434 COMPAT_60 MODULAR compat \
+ { int|sys||_lwp_park(const struct timespec *ts, \
lwpid_t unpark, const void *hint, \
const void *unparkhint); }
435 STD RUMP { int|sys|50|kevent(int fd, \
@@ -846,7 +920,7 @@
const sigset_t *mask); }
437 STD RUMP { int|sys|50|pollts(struct pollfd *fds, u_int nfds, \
const struct timespec *ts, const sigset_t *mask); }
-438 STD MODULAR RUMP { int|sys|50|aio_suspend( \
+438 STD MODULAR aio RUMP { int|sys|50|aio_suspend( \
const struct aiocb *const *list, \
int nent, const struct timespec *timeout); }
439 STD RUMP { int|sys|50|stat(const char *path, struct stat *ub); }