summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/compat/svr4/svr4_ioctl.c7
-rw-r--r--sys/compat/svr4/svr4_misc.c67
-rw-r--r--sys/compat/svr4/svr4_net.c7
-rw-r--r--sys/compat/svr4/svr4_signal.c18
-rw-r--r--sys/compat/svr4/svr4_sockio.c7
-rw-r--r--sys/compat/svr4/svr4_stat.c117
-rw-r--r--sys/compat/svr4/svr4_stat.h16
-rw-r--r--sys/compat/svr4/svr4_stream.c13
-rw-r--r--sys/compat/svr4/svr4_syscall.h6
-rw-r--r--sys/compat/svr4/svr4_syscallargs.h23
-rw-r--r--sys/compat/svr4/svr4_syscalls.c44
-rw-r--r--sys/compat/svr4/svr4_sysent.c78
-rw-r--r--sys/compat/svr4/syscalls.master48
13 files changed, 361 insertions, 90 deletions
diff --git a/sys/compat/svr4/svr4_ioctl.c b/sys/compat/svr4/svr4_ioctl.c
index ffb57cf9f09..a56bd290cbf 100644
--- a/sys/compat/svr4/svr4_ioctl.c
+++ b/sys/compat/svr4/svr4_ioctl.c
@@ -1,4 +1,5 @@
-/* $NetBSD: svr4_ioctl.c,v 1.13 1995/10/14 20:24:27 christos Exp $ */
+/* $OpenBSD: svr4_ioctl.c,v 1.3 1996/02/26 23:31:57 niklas Exp $ */
+/* $NetBSD: svr4_ioctl.c,v 1.14 1996/02/10 00:48:08 christos Exp $ */
/*
* Copyright (c) 1994 Christos Zoulas
@@ -100,8 +101,8 @@ svr4_sys_ioctl(p, v, retval)
svr4_decode_cmd(SCARG(uap, com), dir, &c, &num, &argsiz);
- printf("svr4_ioctl(%d, _IO%s(%c, %d, %d), %x);\n", SCARG(uap, fd),
- dir, c, num, argsiz, (unsigned int) SCARG(uap, data));
+ printf("svr4_ioctl(%d, _IO%s(%c, %d, %d), %p);\n", SCARG(uap, fd),
+ dir, c, num, argsiz, SCARG(uap, data));
#endif
fdp = p->p_fd;
cmd = SCARG(uap, com);
diff --git a/sys/compat/svr4/svr4_misc.c b/sys/compat/svr4/svr4_misc.c
index 106c4f5ad05..ae843100e61 100644
--- a/sys/compat/svr4/svr4_misc.c
+++ b/sys/compat/svr4/svr4_misc.c
@@ -1,4 +1,5 @@
-/* $NetBSD: svr4_misc.c,v 1.29 1995/10/14 20:24:35 christos Exp $ */
+/* $OpenBSD: svr4_misc.c,v 1.3 1996/02/26 23:31:57 niklas Exp $ */
+/* $NetBSD: svr4_misc.c,v 1.35 1996/02/10 17:12:31 christos Exp $ */
/*
* Copyright (c) 1994 Christos Zoulas
@@ -92,6 +93,9 @@ static void bsd_statfs_to_svr4_statvfs __P((const struct statfs *,
struct svr4_statvfs *));
static struct proc *svr4_pfind __P((pid_t pid));
+static int svr4_mknod __P((struct proc *, register_t *, char *,
+ svr4_mode_t, svr4_dev_t));
+
int
svr4_sys_wait(p, v, retval)
register struct proc *p;
@@ -363,31 +367,57 @@ svr4_sys_fchroot(p, v, retval)
return 0;
}
-
-int
-svr4_sys_mknod(p, v, retval)
- register struct proc *p;
- void *v;
+static int
+svr4_mknod(p, retval, path, mode, dev)
+ struct proc *p;
register_t *retval;
+ char *path;
+ svr4_mode_t mode;
+ svr4_dev_t dev;
{
- struct svr4_sys_mknod_args *uap = v;
caddr_t sg = stackgap_init(p->p_emul);
- SVR4_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
- if (S_ISFIFO(SCARG(uap, mode))) {
+ SVR4_CHECK_ALT_EXIST(p, &sg, path);
+
+ if (S_ISFIFO(mode)) {
struct sys_mkfifo_args ap;
- SCARG(&ap, path) = SCARG(uap, path);
- SCARG(&ap, mode) = SCARG(uap, mode);
+ SCARG(&ap, path) = path;
+ SCARG(&ap, mode) = mode;
return sys_mkfifo(p, &ap, retval);
} else {
struct sys_mknod_args ap;
- SCARG(&ap, path) = SCARG(uap, path);
- SCARG(&ap, mode) = SCARG(uap, mode);
- SCARG(&ap, dev) = SCARG(uap, dev);
+ SCARG(&ap, path) = path;
+ SCARG(&ap, mode) = mode;
+ SCARG(&ap, dev) = dev;
return sys_mknod(p, &ap, retval);
}
}
+
+int
+svr4_sys_mknod(p, v, retval)
+ register struct proc *p;
+ void *v;
+ register_t *retval;
+{
+ struct svr4_sys_mknod_args *uap = v;
+ return svr4_mknod(p, retval,
+ SCARG(uap, path), SCARG(uap, mode), SCARG(uap, dev));
+}
+
+
+int
+svr4_sys_xmknod(p, v, retval)
+ register struct proc *p;
+ void *v;
+ register_t *retval;
+{
+ struct svr4_sys_xmknod_args *uap = v;
+ return svr4_mknod(p, retval,
+ SCARG(uap, path), SCARG(uap, mode), SCARG(uap, dev));
+}
+
+
int
svr4_sys_vhangup(p, v, retval)
struct proc *p;
@@ -842,8 +872,6 @@ svr4_sys_hrtsys(p, v, retval)
register_t *retval;
{
struct svr4_sys_hrtsys_args *uap = v;
- int error;
- struct timeval tv;
switch (SCARG(uap, cmd)) {
case SVR4_HRT_CNTL:
@@ -942,10 +970,9 @@ svr4_sys_waitsys(p, v, retval)
return EINVAL;
}
- DPRINTF(("waitsys(%d, %d, %x, %x)\n",
+ DPRINTF(("waitsys(%d, %d, %p, %x)\n",
SCARG(uap, grp), SCARG(uap, id),
- (unsigned int) SCARG(uap, info),
- SCARG(uap, options)));
+ SCARG(uap, info), SCARG(uap, options)));
loop:
nfound = 0;
@@ -1030,8 +1057,6 @@ loop:
DPRINTF(("jobcontrol %d\n", q->p_pid));
if (((SCARG(uap, options) & SVR4_WNOWAIT)) == 0)
q->p_flag |= P_WAITED;
- else
- DPRINTF(("Don't wait\n"));
*retval = 0;
return svr4_setinfo(q, W_STOPCODE(q->p_xstat),
SCARG(uap, info));
diff --git a/sys/compat/svr4/svr4_net.c b/sys/compat/svr4/svr4_net.c
index e46b95c12df..a425818e2b0 100644
--- a/sys/compat/svr4/svr4_net.c
+++ b/sys/compat/svr4/svr4_net.c
@@ -1,4 +1,5 @@
-/* $NetBSD: svr4_net.c,v 1.5 1995/10/14 20:24:38 christos Exp $ */
+/* $OpenBSD: svr4_net.c,v 1.3 1996/02/26 23:31:59 niklas Exp $ */
+/* $NetBSD: svr4_net.c,v 1.6 1996/02/04 02:01:07 christos Exp $ */
/*
* Copyright (c) 1994 Christos Zoulas
@@ -153,7 +154,7 @@ svr4_netopen(dev, flag, mode, p)
st = malloc(sizeof(struct svr4_strm), M_NETADDR, M_WAITOK);
/* XXX: This is unused; ask for a field and make this legal */
- so->so_tpcb = (caddr_t) st;
+ so->so_internal = st;
st->s_cmd = ~0;
fp->f_data = (caddr_t)so;
DPRINTF(("ok);\n"));
@@ -168,6 +169,6 @@ svr4_netclose(fp, p)
struct proc *p;
{
struct socket *so = (struct socket *) fp->f_data;
- free((char *) so->so_tpcb, M_NETADDR);
+ free(so->so_internal, M_NETADDR);
return soo_close(fp, p);
}
diff --git a/sys/compat/svr4/svr4_signal.c b/sys/compat/svr4/svr4_signal.c
index 51810886d35..6fa34044718 100644
--- a/sys/compat/svr4/svr4_signal.c
+++ b/sys/compat/svr4/svr4_signal.c
@@ -1,5 +1,5 @@
-/* $NetBSD: svr4_signal.c,v 1.20 1996/01/04 22:23:06 jtc Exp $ */
-
+/* $OpenBSD: svr4_signal.c,v 1.3 1996/02/26 23:31:59 niklas Exp $ */
+/* $NetBSD: svr4_signal.c,v 1.21 1996/02/09 23:12:18 christos Exp $ */
/*
* Copyright (c) 1994 Christos Zoulas
* All rights reserved.
@@ -57,7 +57,13 @@
#define svr4_sigismember(s, n) ((s)->bits[svr4_sigword(n)] & svr4_sigmask(n))
#define svr4_sigaddset(s, n) ((s)->bits[svr4_sigword(n)] |= svr4_sigmask(n))
-static inline int
+static __inline int svr4_sigfillset __P((svr4_sigset_t *));
+void svr4_to_bsd_sigaction __P((const struct svr4_sigaction *,
+ struct sigaction *));
+void bsd_to_svr4_sigaction __P((const struct sigaction *,
+ struct svr4_sigaction *));
+
+static __inline int
svr4_sigfillset(s)
svr4_sigset_t *s;
{
@@ -182,7 +188,7 @@ svr4_to_bsd_sigaction(ssa, bsa)
struct sigaction *bsa;
{
- bsa->sa_handler = ssa->sa_handler;
+ bsa->sa_handler = (sig_t) ssa->sa_handler;
svr4_to_bsd_sigset(&ssa->sa_mask, &bsa->sa_mask);
bsa->sa_flags = 0;
if ((ssa->sa_flags & SVR4_SA_ONSTACK) != 0)
@@ -203,7 +209,7 @@ bsd_to_svr4_sigaction(bsa, ssa)
struct svr4_sigaction *ssa;
{
- ssa->sa_handler = bsa->sa_handler;
+ ssa->sa_handler = (svr4_sig_t) bsa->sa_handler;
bsd_to_svr4_sigset(&bsa->sa_mask, &ssa->sa_mask);
ssa->sa_flags = 0;
if ((bsa->sa_flags & SA_ONSTACK) != 0)
@@ -407,7 +413,7 @@ svr4_sys_signal(p, v, retval)
SCARG(&sa_args, nsa) = nbsa;
SCARG(&sa_args, osa) = obsa;
- sa.sa_handler = SCARG(uap, handler);
+ sa.sa_handler = (sig_t) SCARG(uap, handler);
sigemptyset(&sa.sa_mask);
sa.sa_flags = 0;
#if 0
diff --git a/sys/compat/svr4/svr4_sockio.c b/sys/compat/svr4/svr4_sockio.c
index 5251ac761f9..e7c68f44ea1 100644
--- a/sys/compat/svr4/svr4_sockio.c
+++ b/sys/compat/svr4/svr4_sockio.c
@@ -1,4 +1,5 @@
-/* $NetBSD: svr4_sockio.c,v 1.5 1995/10/07 06:27:48 mycroft Exp $ */
+/* $OpenBSD: svr4_sockio.c,v 1.2 1996/02/26 23:32:00 niklas Exp $ */
+/* $NetBSD: svr4_sockio.c,v 1.6 1996/02/09 23:12:20 christos Exp $ */
/*
* Copyright (c) 1995 Christos Zoulas
@@ -83,11 +84,7 @@ svr4_sockioctl(fp, cmd, data, p, retval)
struct proc *p;
register_t *retval;
{
- struct filedesc *fdp = p->p_fd;
- caddr_t sg = stackgap_init(p->p_emul);
int error;
- int fd;
- int num;
int (*ctl) __P((struct file *, u_long, caddr_t, struct proc *)) =
fp->f_ops->fo_ioctl;
diff --git a/sys/compat/svr4/svr4_stat.c b/sys/compat/svr4/svr4_stat.c
index 8bfdff615dd..954ab239382 100644
--- a/sys/compat/svr4/svr4_stat.c
+++ b/sys/compat/svr4/svr4_stat.c
@@ -1,4 +1,5 @@
-/* $NetBSD: svr4_stat.c,v 1.16 1995/12/19 18:27:02 christos Exp $ */
+/* $OpenBSD: svr4_stat.c,v 1.6 1996/02/26 23:32:01 niklas Exp $ */
+/* $NetBSD: svr4_stat.c,v 1.19 1996/02/10 17:12:36 christos Exp $ */
/*
* Copyright (c) 1994 Christos Zoulas
@@ -38,6 +39,7 @@
#include <sys/kernel.h>
#include <sys/mount.h>
#include <sys/malloc.h>
+#include <sys/unistd.h>
#include <sys/time.h>
#include <sys/ucred.h>
@@ -66,6 +68,8 @@
#endif
static void bsd_to_svr4_xstat __P((struct stat *, struct svr4_xstat *));
+int svr4_ustat __P((struct proc *, void *, register_t *));
+static int svr4_to_bsd_pathconf __P((int));
#ifndef SVR4_NO_OSTAT
@@ -85,9 +89,9 @@ bsd_to_svr4_stat(st, st4)
st4->st_gid = st->st_gid;
st4->st_rdev = st->st_rdev;
st4->st_size = st->st_size;
- st4->st_atim = st->st_atimespec.ts_sec;
- st4->st_mtim = st->st_mtimespec.ts_sec;
- st4->st_ctim = st->st_ctimespec.ts_sec;
+ st4->st_atim = st->st_atimespec.tv_sec;
+ st4->st_mtim = st->st_mtimespec.tv_sec;
+ st4->st_ctim = st->st_ctimespec.tv_sec;
}
#endif
@@ -341,14 +345,15 @@ struct svr4_ustat_args {
};
int
-svr4_ustat(p, uap, retval)
+svr4_ustat(p, v, retval)
register struct proc *p;
+ void *v;
+ register_t *retval;
+{
struct svr4_ustat_args /* {
syscallarg(svr4_dev_t) dev;
syscallarg(struct svr4_ustat *) name;
- } */ *uap;
- register_t *retval;
-{
+ } */ *uap = v;
struct svr4_ustat us;
int error;
@@ -533,7 +538,8 @@ svr4_sys_utime(p, v, retval)
tbuf[1].tv_sec = ub.modtime;
tbuf[1].tv_usec = 0;
SCARG(&ap, tptr) = stackgap_alloc(&sg, sizeof(tbuf));
- if (error = copyout(tbuf, SCARG(&ap, tptr), sizeof(tbuf)) != 0)
+ error = copyout(tbuf, SCARG(&ap, tptr), sizeof(tbuf));
+ if (error)
return error;
}
else
@@ -553,3 +559,96 @@ svr4_sys_utimes(p, v, retval)
SVR4_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
return sys_utimes(p, uap, retval);
}
+
+
+static int
+svr4_to_bsd_pathconf(name)
+ int name;
+{
+ switch (name) {
+ case SVR4_PC_LINK_MAX:
+ return _PC_LINK_MAX;
+
+ case SVR4_PC_MAX_CANON:
+ return _PC_MAX_CANON;
+
+ case SVR4_PC_MAX_INPUT:
+ return _PC_MAX_INPUT;
+
+ case SVR4_PC_NAME_MAX:
+ return _PC_NAME_MAX;
+
+ case SVR4_PC_PATH_MAX:
+ return _PC_PATH_MAX;
+
+ case SVR4_PC_PIPE_BUF:
+ return _PC_PIPE_BUF;
+
+ case SVR4_PC_NO_TRUNC:
+ return _PC_NO_TRUNC;
+
+ case SVR4_PC_VDISABLE:
+ return _PC_VDISABLE;
+
+ case SVR4_PC_CHOWN_RESTRICTED:
+ return _PC_CHOWN_RESTRICTED;
+
+ case SVR4_PC_ASYNC_IO:
+ case SVR4_PC_PRIO_IO:
+ case SVR4_PC_SYNC_IO:
+ /* Not supported */
+ return 0;
+
+ default:
+ /* Invalid */
+ return -1;
+ }
+}
+
+
+int
+svr4_sys_pathconf(p, v, retval)
+ register struct proc *p;
+ void *v;
+ register_t *retval;
+{
+ struct svr4_sys_pathconf_args *uap = v;
+ caddr_t sg = stackgap_init(p->p_emul);
+
+ SVR4_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
+
+ SCARG(uap, name) = svr4_to_bsd_pathconf(SCARG(uap, name));
+
+ switch (SCARG(uap, name)) {
+ case -1:
+ *retval = -1;
+ return EINVAL;
+ case 0:
+ *retval = 0;
+ return 0;
+ default:
+ return sys_pathconf(p, uap, retval);
+ }
+}
+
+int
+svr4_sys_fpathconf(p, v, retval)
+ register struct proc *p;
+ void *v;
+ register_t *retval;
+{
+ struct svr4_sys_fpathconf_args *uap = v;
+
+ SCARG(uap, name) = svr4_to_bsd_pathconf(SCARG(uap, name));
+
+ switch (SCARG(uap, name)) {
+ case -1:
+ *retval = -1;
+ return EINVAL;
+ case 0:
+ *retval = 0;
+ return 0;
+ default:
+ return sys_fpathconf(p, uap, retval);
+ }
+}
diff --git a/sys/compat/svr4/svr4_stat.h b/sys/compat/svr4/svr4_stat.h
index 7af8232bf4c..45c49191ba8 100644
--- a/sys/compat/svr4/svr4_stat.h
+++ b/sys/compat/svr4/svr4_stat.h
@@ -1,4 +1,5 @@
-/* $NetBSD: svr4_stat.h,v 1.3 1994/10/29 00:43:27 christos Exp $ */
+/* $OpenBSD: svr4_stat.h,v 1.2 1996/02/26 23:32:02 niklas Exp $ */
+/* $NetBSD: svr4_stat.h,v 1.4 1996/02/10 17:12:38 christos Exp $ */
/*
* Copyright (c) 1994 Christos Zoulas
@@ -68,4 +69,17 @@ struct svr4_xstat {
long st_pad4[8];
};
+#define SVR4_PC_LINK_MAX 1
+#define SVR4_PC_MAX_CANON 2
+#define SVR4_PC_MAX_INPUT 3
+#define SVR4_PC_NAME_MAX 4
+#define SVR4_PC_PATH_MAX 5
+#define SVR4_PC_PIPE_BUF 6
+#define SVR4_PC_NO_TRUNC 7
+#define SVR4_PC_VDISABLE 8
+#define SVR4_PC_CHOWN_RESTRICTED 9
+#define SVR4_PC_ASYNC_IO 10
+#define SVR4_PC_PRIO_IO 11
+#define SVR4_PC_SYNC_IO 12
+
#endif /* !_SVR4_STAT_H_ */
diff --git a/sys/compat/svr4/svr4_stream.c b/sys/compat/svr4/svr4_stream.c
index f052f7fbc6f..fcd4a109afe 100644
--- a/sys/compat/svr4/svr4_stream.c
+++ b/sys/compat/svr4/svr4_stream.c
@@ -1,4 +1,5 @@
-/* $NetBSD: svr4_stream.c,v 1.9 1995/10/07 06:27:52 mycroft Exp $ */
+/* $OpenBSD: svr4_stream.c,v 1.2 1996/02/26 23:32:03 niklas Exp $ */
+/* $NetBSD: svr4_stream.c,v 1.11 1996/02/10 00:48:12 christos Exp $ */
/*
* Copyright (c) 1994 Christos Zoulas
@@ -339,7 +340,7 @@ svr4_showioc(str, ioc)
int error;
int i;
- printf("%s cmd = %d, timeout = %d, len = %d, buf = %x { ",
+ printf("%s cmd = %d, timeout = %d, len = %d, buf = %p { ",
str, ioc->cmd, ioc->timeout, ioc->len, ioc->buf);
if ((error = copyin(ioc->buf, ptr, ioc->len)) != 0) {
@@ -584,7 +585,7 @@ svr4_getstrbuf(str)
}
}
- printf(", { %d, %d, %x=[ ", str->maxlen, str->len, str->buf);
+ printf(", { %d, %d, %p=[ ", str->maxlen, str->len, str->buf);
for (i = 0; i < len; i++) {
printf("%x ", (unsigned char) ptr[i]);
if (i > 20) {
@@ -688,7 +689,7 @@ svr4_sys_putmsg(p, v, retval)
}
so = (struct socket *) fp->f_data;
- st = (struct svr4_strm *) so->so_tpcb;
+ st = (struct svr4_strm *) so->so_internal;
if (ctl.len > sizeof(sc)) {
@@ -821,7 +822,7 @@ svr4_sys_getmsg(p, v, retval)
}
so = (struct socket *) fp->f_data;
- st = (struct svr4_strm *) so->so_tpcb;
+ st = (struct svr4_strm *) so->so_internal;
if (ctl.maxlen == -1 || dat.maxlen == -1) {
DPRINTF(("getmsg: Cannot handle -1 maxlen (yet)\n"));
@@ -913,7 +914,7 @@ svr4_sys_getmsg(p, v, retval)
aiov.iov_len = dat.maxlen;
msg.msg_flags = 0;
- error = recvit(p, SCARG(uap, fd), &msg, flen, retval);
+ error = recvit(p, SCARG(uap, fd), &msg, (caddr_t) flen, retval);
if (error) {
DPRINTF(("getmsg: recvit failed %d\n", error))
diff --git a/sys/compat/svr4/svr4_syscall.h b/sys/compat/svr4/svr4_syscall.h
index 4b6675b1ca1..fc6f0b81667 100644
--- a/sys/compat/svr4/svr4_syscall.h
+++ b/sys/compat/svr4/svr4_syscall.h
@@ -2,7 +2,7 @@
* System call numbers.
*
* DO NOT EDIT-- this file is automatically generated.
- * created from NetBSD: syscalls.master,v 1.15 1995/12/19 07:13:27 christos Exp
+ * created from NetBSD: syscalls.master,v 1.17 1996/02/10 17:12:51 christos Exp
*/
#define SVR4_SYS_syscall 0
@@ -86,6 +86,7 @@
#define SVR4_SYS_fstatvfs 104
#define SVR4_SYS_waitsys 107
#define SVR4_SYS_hrtsys 109
+#define SVR4_SYS_pathconf 113
#define SVR4_SYS_mmap 115
#define SVR4_SYS_mprotect 116
#define SVR4_SYS_munmap 117
@@ -97,6 +98,7 @@
#define SVR4_SYS_xstat 123
#define SVR4_SYS_lxstat 124
#define SVR4_SYS_fxstat 125
+#define SVR4_SYS_xmknod 126
#define SVR4_SYS_setrlimit 128
#define SVR4_SYS_getrlimit 129
#define SVR4_SYS_rename 134
@@ -112,4 +114,4 @@
#define SVR4_SYS_gettimeofday 156
#define SVR4_SYS_getitimer 157
#define SVR4_SYS_setitimer 158
-#define SVR4_SYS_MAXSYSCALL 187
+#define SVR4_SYS_MAXSYSCALL 213
diff --git a/sys/compat/svr4/svr4_syscallargs.h b/sys/compat/svr4/svr4_syscallargs.h
index 9b3c286d00c..481cf11a66c 100644
--- a/sys/compat/svr4/svr4_syscallargs.h
+++ b/sys/compat/svr4/svr4_syscallargs.h
@@ -2,7 +2,7 @@
* System call argument lists.
*
* DO NOT EDIT-- this file is automatically generated.
- * created from NetBSD: syscalls.master,v 1.15 1995/12/19 07:13:27 christos Exp
+ * created from NetBSD: syscalls.master,v 1.17 1996/02/10 17:12:51 christos Exp
*/
#define syscallarg(x) union { x datum; register_t pad; }
@@ -230,6 +230,11 @@ struct svr4_sys_hrtsys_args {
syscallarg(void *) rv2;
};
+struct svr4_sys_pathconf_args {
+ syscallarg(char *) path;
+ syscallarg(int) name;
+};
+
struct svr4_sys_mmap_args {
syscallarg(svr4_caddr_t) addr;
syscallarg(svr4_size_t) len;
@@ -239,6 +244,11 @@ struct svr4_sys_mmap_args {
syscallarg(svr4_off_t) pos;
};
+struct svr4_sys_fpathconf_args {
+ syscallarg(int) fd;
+ syscallarg(int) name;
+};
+
struct svr4_sys_xstat_args {
syscallarg(int) two;
syscallarg(char *) path;
@@ -257,6 +267,13 @@ struct svr4_sys_fxstat_args {
syscallarg(struct svr4_xstat *) sb;
};
+struct svr4_sys_xmknod_args {
+ syscallarg(int) two;
+ syscallarg(char *) path;
+ syscallarg(svr4_mode_t) mode;
+ syscallarg(svr4_dev_t) dev;
+};
+
struct svr4_sys_setrlimit_args {
syscallarg(int) which;
syscallarg(struct ogetrlimit *) rlp;
@@ -379,10 +396,11 @@ int svr4_sys_statvfs __P((struct proc *, void *, register_t *));
int svr4_sys_fstatvfs __P((struct proc *, void *, register_t *));
int svr4_sys_waitsys __P((struct proc *, void *, register_t *));
int svr4_sys_hrtsys __P((struct proc *, void *, register_t *));
+int svr4_sys_pathconf __P((struct proc *, void *, register_t *));
int svr4_sys_mmap __P((struct proc *, void *, register_t *));
int sys_mprotect __P((struct proc *, void *, register_t *));
int sys_munmap __P((struct proc *, void *, register_t *));
-int sys_fpathconf __P((struct proc *, void *, register_t *));
+int svr4_sys_fpathconf __P((struct proc *, void *, register_t *));
int sys_vfork __P((struct proc *, void *, register_t *));
int sys_fchdir __P((struct proc *, void *, register_t *));
int sys_readv __P((struct proc *, void *, register_t *));
@@ -390,6 +408,7 @@ int sys_writev __P((struct proc *, void *, register_t *));
int svr4_sys_xstat __P((struct proc *, void *, register_t *));
int svr4_sys_lxstat __P((struct proc *, void *, register_t *));
int svr4_sys_fxstat __P((struct proc *, void *, register_t *));
+int svr4_sys_xmknod __P((struct proc *, void *, register_t *));
int svr4_sys_setrlimit __P((struct proc *, void *, register_t *));
int svr4_sys_getrlimit __P((struct proc *, void *, register_t *));
int sys_rename __P((struct proc *, void *, register_t *));
diff --git a/sys/compat/svr4/svr4_syscalls.c b/sys/compat/svr4/svr4_syscalls.c
index d6b687c1225..35f97140761 100644
--- a/sys/compat/svr4/svr4_syscalls.c
+++ b/sys/compat/svr4/svr4_syscalls.c
@@ -2,7 +2,7 @@
* System call names.
*
* DO NOT EDIT-- this file is automatically generated.
- * created from NetBSD: syscalls.master,v 1.15 1995/12/19 07:13:27 christos Exp
+ * created from NetBSD: syscalls.master,v 1.17 1996/02/10 17:12:51 christos Exp
*/
char *svr4_syscallnames[] = {
@@ -131,7 +131,7 @@ char *svr4_syscallnames[] = {
"#110 (unimplemented acancel)", /* 110 = unimplemented acancel */
"#111 (unimplemented async)", /* 111 = unimplemented async */
"#112 (unimplemented priocntlsys)", /* 112 = unimplemented priocntlsys */
- "#113 (unimplemented pathconf)", /* 113 = unimplemented pathconf */
+ "pathconf", /* 113 = pathconf */
"#114 (unimplemented mincore)", /* 114 = unimplemented mincore */
"mmap", /* 115 = mmap */
"mprotect", /* 116 = mprotect */
@@ -144,7 +144,7 @@ char *svr4_syscallnames[] = {
"xstat", /* 123 = xstat */
"lxstat", /* 124 = lxstat */
"fxstat", /* 125 = fxstat */
- "#126 (unimplemented xmknod)", /* 126 = unimplemented xmknod */
+ "xmknod", /* 126 = xmknod */
"#127 (unimplemented clocal)", /* 127 = unimplemented clocal */
"setrlimit", /* 128 = setrlimit */
"getrlimit", /* 129 = getrlimit */
@@ -162,11 +162,11 @@ char *svr4_syscallnames[] = {
"seteuid", /* 141 = seteuid */
"#142 (unimplemented vtrace)", /* 142 = unimplemented vtrace */
"#143 (unimplemented fork1)", /* 143 = unimplemented fork1 */
- "#144 (unimplemented sigwait)", /* 144 = unimplemented sigwait */
+ "#144 (unimplemented sigtimedwait)", /* 144 = unimplemented sigtimedwait */
"#145 (unimplemented lwp_info)", /* 145 = unimplemented lwp_info */
"#146 (unimplemented yield)", /* 146 = unimplemented yield */
- "#147 (unimplemented lwp_sema_p)", /* 147 = unimplemented lwp_sema_p */
- "#148 (unimplemented lwp_sema_v)", /* 148 = unimplemented lwp_sema_v */
+ "#147 (unimplemented lwp_sema_wait)", /* 147 = unimplemented lwp_sema_wait */
+ "#148 (unimplemented lwp_sema_post)", /* 148 = unimplemented lwp_sema_post */
"#149 (unimplemented)", /* 149 = unimplemented */
"#150 (unimplemented)", /* 150 = unimplemented */
"#151 (unimplemented)", /* 151 = unimplemented */
@@ -196,13 +196,39 @@ char *svr4_syscallnames[] = {
"#175 (unimplemented llseek)", /* 175 = unimplemented llseek */
"#176 (unimplemented inst_sync)", /* 176 = unimplemented inst_sync */
"#177 (unimplemented)", /* 177 = unimplemented */
- "#178 (unimplemented)", /* 178 = unimplemented */
+ "#178 (unimplemented kaio)", /* 178 = unimplemented kaio */
"#179 (unimplemented)", /* 179 = unimplemented */
"#180 (unimplemented)", /* 180 = unimplemented */
"#181 (unimplemented)", /* 181 = unimplemented */
"#182 (unimplemented)", /* 182 = unimplemented */
"#183 (unimplemented)", /* 183 = unimplemented */
- "#184 (unimplemented)", /* 184 = unimplemented */
- "#185 (unimplemented)", /* 185 = unimplemented */
+ "#184 (unimplemented tsolsys)", /* 184 = unimplemented tsolsys */
+ "#185 (unimplemented acl)", /* 185 = unimplemented acl */
"#186 (unimplemented auditsys)", /* 186 = unimplemented auditsys */
+ "#187 (unimplemented processor_bind)", /* 187 = unimplemented processor_bind */
+ "#188 (unimplemented processor_info)", /* 188 = unimplemented processor_info */
+ "#189 (unimplemented p_online)", /* 189 = unimplemented p_online */
+ "#190 (unimplemented sigqueue)", /* 190 = unimplemented sigqueue */
+ "#191 (unimplemented clock_gettime)", /* 191 = unimplemented clock_gettime */
+ "#192 (unimplemented clock_settime)", /* 192 = unimplemented clock_settime */
+ "#193 (unimplemented clock_getres)", /* 193 = unimplemented clock_getres */
+ "#194 (unimplemented timer_create)", /* 194 = unimplemented timer_create */
+ "#195 (unimplemented timer_delete)", /* 195 = unimplemented timer_delete */
+ "#196 (unimplemented timer_settime)", /* 196 = unimplemented timer_settime */
+ "#197 (unimplemented timer_gettime)", /* 197 = unimplemented timer_gettime */
+ "#198 (unimplemented timer_getoverrun)", /* 198 = unimplemented timer_getoverrun */
+ "#199 (unimplemented nanosleep)", /* 199 = unimplemented nanosleep */
+ "#200 (unimplemented facl)", /* 200 = unimplemented facl */
+ "#201 (unimplemented door)", /* 201 = unimplemented door */
+ "#202 (unimplemented setreuid)", /* 202 = unimplemented setreuid */
+ "#203 (unimplemented setregid)", /* 203 = unimplemented setregid */
+ "#204 (unimplemented)", /* 204 = unimplemented */
+ "#205 (unimplemented)", /* 205 = unimplemented */
+ "#206 (unimplemented)", /* 206 = unimplemented */
+ "#207 (unimplemented)", /* 207 = unimplemented */
+ "#208 (unimplemented)", /* 208 = unimplemented */
+ "#209 (unimplemented)", /* 209 = unimplemented */
+ "#210 (unimplemented signotifywait)", /* 210 = unimplemented signotifywait */
+ "#211 (unimplemented lwp_sigredirect)", /* 211 = unimplemented lwp_sigredirect */
+ "#212 (unimplemented lwp_alarm)", /* 212 = unimplemented lwp_alarm */
};
diff --git a/sys/compat/svr4/svr4_sysent.c b/sys/compat/svr4/svr4_sysent.c
index 93e38692f58..2aad9e9278a 100644
--- a/sys/compat/svr4/svr4_sysent.c
+++ b/sys/compat/svr4/svr4_sysent.c
@@ -2,7 +2,7 @@
* System call switch table.
*
* DO NOT EDIT-- this file is automatically generated.
- * created from NetBSD: syscalls.master,v 1.15 1995/12/19 07:13:27 christos Exp
+ * created from NetBSD: syscalls.master,v 1.17 1996/02/10 17:12:51 christos Exp
*/
#include <sys/param.h>
@@ -279,8 +279,8 @@ struct sysent svr4_sysent[] = {
sys_nosys }, /* 111 = unimplemented async */
{ 0, 0,
sys_nosys }, /* 112 = unimplemented priocntlsys */
- { 0, 0,
- sys_nosys }, /* 113 = unimplemented pathconf */
+ { 2, s(struct svr4_sys_pathconf_args),
+ svr4_sys_pathconf }, /* 113 = pathconf */
{ 0, 0,
sys_nosys }, /* 114 = unimplemented mincore */
{ 6, s(struct svr4_sys_mmap_args),
@@ -289,8 +289,8 @@ struct sysent svr4_sysent[] = {
sys_mprotect }, /* 116 = mprotect */
{ 2, s(struct sys_munmap_args),
sys_munmap }, /* 117 = munmap */
- { 2, s(struct sys_fpathconf_args),
- sys_fpathconf }, /* 118 = fpathconf */
+ { 2, s(struct svr4_sys_fpathconf_args),
+ svr4_sys_fpathconf }, /* 118 = fpathconf */
{ 0, 0,
sys_vfork }, /* 119 = vfork */
{ 1, s(struct sys_fchdir_args),
@@ -305,8 +305,8 @@ struct sysent svr4_sysent[] = {
svr4_sys_lxstat }, /* 124 = lxstat */
{ 3, s(struct svr4_sys_fxstat_args),
svr4_sys_fxstat }, /* 125 = fxstat */
- { 0, 0,
- sys_nosys }, /* 126 = unimplemented xmknod */
+ { 4, s(struct svr4_sys_xmknod_args),
+ svr4_sys_xmknod }, /* 126 = xmknod */
{ 0, 0,
sys_nosys }, /* 127 = unimplemented clocal */
{ 2, s(struct svr4_sys_setrlimit_args),
@@ -342,15 +342,15 @@ struct sysent svr4_sysent[] = {
{ 0, 0,
sys_nosys }, /* 143 = unimplemented fork1 */
{ 0, 0,
- sys_nosys }, /* 144 = unimplemented sigwait */
+ sys_nosys }, /* 144 = unimplemented sigtimedwait */
{ 0, 0,
sys_nosys }, /* 145 = unimplemented lwp_info */
{ 0, 0,
sys_nosys }, /* 146 = unimplemented yield */
{ 0, 0,
- sys_nosys }, /* 147 = unimplemented lwp_sema_p */
+ sys_nosys }, /* 147 = unimplemented lwp_sema_wait */
{ 0, 0,
- sys_nosys }, /* 148 = unimplemented lwp_sema_v */
+ sys_nosys }, /* 148 = unimplemented lwp_sema_post */
{ 0, 0,
sys_nosys }, /* 149 = unimplemented */
{ 0, 0,
@@ -410,7 +410,7 @@ struct sysent svr4_sysent[] = {
{ 0, 0,
sys_nosys }, /* 177 = unimplemented */
{ 0, 0,
- sys_nosys }, /* 178 = unimplemented */
+ sys_nosys }, /* 178 = unimplemented kaio */
{ 0, 0,
sys_nosys }, /* 179 = unimplemented */
{ 0, 0,
@@ -422,10 +422,62 @@ struct sysent svr4_sysent[] = {
{ 0, 0,
sys_nosys }, /* 183 = unimplemented */
{ 0, 0,
- sys_nosys }, /* 184 = unimplemented */
+ sys_nosys }, /* 184 = unimplemented tsolsys */
{ 0, 0,
- sys_nosys }, /* 185 = unimplemented */
+ sys_nosys }, /* 185 = unimplemented acl */
{ 0, 0,
sys_nosys }, /* 186 = unimplemented auditsys */
+ { 0, 0,
+ sys_nosys }, /* 187 = unimplemented processor_bind */
+ { 0, 0,
+ sys_nosys }, /* 188 = unimplemented processor_info */
+ { 0, 0,
+ sys_nosys }, /* 189 = unimplemented p_online */
+ { 0, 0,
+ sys_nosys }, /* 190 = unimplemented sigqueue */
+ { 0, 0,
+ sys_nosys }, /* 191 = unimplemented clock_gettime */
+ { 0, 0,
+ sys_nosys }, /* 192 = unimplemented clock_settime */
+ { 0, 0,
+ sys_nosys }, /* 193 = unimplemented clock_getres */
+ { 0, 0,
+ sys_nosys }, /* 194 = unimplemented timer_create */
+ { 0, 0,
+ sys_nosys }, /* 195 = unimplemented timer_delete */
+ { 0, 0,
+ sys_nosys }, /* 196 = unimplemented timer_settime */
+ { 0, 0,
+ sys_nosys }, /* 197 = unimplemented timer_gettime */
+ { 0, 0,
+ sys_nosys }, /* 198 = unimplemented timer_getoverrun */
+ { 0, 0,
+ sys_nosys }, /* 199 = unimplemented nanosleep */
+ { 0, 0,
+ sys_nosys }, /* 200 = unimplemented facl */
+ { 0, 0,
+ sys_nosys }, /* 201 = unimplemented door */
+ { 0, 0,
+ sys_nosys }, /* 202 = unimplemented setreuid */
+ { 0, 0,
+ sys_nosys }, /* 203 = unimplemented setregid */
+ { 0, 0,
+ sys_nosys }, /* 204 = unimplemented */
+ { 0, 0,
+ sys_nosys }, /* 205 = unimplemented */
+ { 0, 0,
+ sys_nosys }, /* 206 = unimplemented */
+ { 0, 0,
+ sys_nosys }, /* 207 = unimplemented */
+ { 0, 0,
+ sys_nosys }, /* 208 = unimplemented */
+ { 0, 0,
+ sys_nosys }, /* 209 = unimplemented */
+ { 0, 0,
+ sys_nosys }, /* 210 = unimplemented signotifywait */
+ { 0, 0,
+ sys_nosys }, /* 211 = unimplemented lwp_sigredirect */
+ { 0, 0,
+ sys_nosys }, /* 212 = unimplemented lwp_alarm */
};
diff --git a/sys/compat/svr4/syscalls.master b/sys/compat/svr4/syscalls.master
index fb07135a50d..1489a1b964e 100644
--- a/sys/compat/svr4/syscalls.master
+++ b/sys/compat/svr4/syscalls.master
@@ -1,4 +1,5 @@
- $NetBSD: syscalls.master,v 1.15 1995/12/19 07:13:27 christos Exp $
+ $OpenBSD: syscalls.master,v 1.4 1996/02/26 23:32:08 niklas Exp $
+ $NetBSD: syscalls.master,v 1.17 1996/02/10 17:12:51 christos Exp $
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
@@ -190,14 +191,14 @@
110 UNIMPL acancel
111 UNIMPL async
112 UNIMPL priocntlsys
-113 UNIMPL pathconf
+113 STD { int svr4_sys_pathconf(char *path, int name); }
114 UNIMPL mincore
115 STD { int svr4_sys_mmap(svr4_caddr_t addr, \
svr4_size_t len, int prot, int flags, int fd, \
svr4_off_t pos); }
116 NOARGS { int sys_mprotect(caddr_t addr, int len, int prot); }
117 NOARGS { int sys_munmap(caddr_t addr, int len); }
-118 NOARGS { int sys_fpathconf(int fd, int name); }
+118 STD { int svr4_sys_fpathconf(int fd, int name); }
119 NOARGS { int sys_vfork(void); }
120 NOARGS { int sys_fchdir(int fd); }
121 NOARGS { int sys_readv(int fd, struct iovec *iovp, u_int iovcnt); }
@@ -209,7 +210,8 @@
struct svr4_xstat *ub); }
125 STD { int svr4_sys_fxstat(int two, int fd, \
struct svr4_xstat *sb); }
-126 UNIMPL xmknod
+126 STD { int svr4_sys_xmknod(int two, char *path, \
+ svr4_mode_t mode, svr4_dev_t dev); }
127 UNIMPL clocal
128 STD { int svr4_sys_setrlimit(int which, \
struct ogetrlimit *rlp); }
@@ -232,11 +234,11 @@
141 NOARGS { int sys_seteuid(uid_t euid); }
142 UNIMPL vtrace
143 UNIMPL fork1
-144 UNIMPL sigwait
+144 UNIMPL sigtimedwait
145 UNIMPL lwp_info
146 UNIMPL yield
-147 UNIMPL lwp_sema_p
-148 UNIMPL lwp_sema_v
+147 UNIMPL lwp_sema_wait
+148 UNIMPL lwp_sema_post
149 UNIMPL
150 UNIMPL
151 UNIMPL
@@ -269,12 +271,38 @@
175 UNIMPL llseek
176 UNIMPL inst_sync
177 UNIMPL
-178 UNIMPL
+178 UNIMPL kaio
179 UNIMPL
180 UNIMPL
181 UNIMPL
182 UNIMPL
183 UNIMPL
-184 UNIMPL
-185 UNIMPL
+184 UNIMPL tsolsys
+185 UNIMPL acl
186 UNIMPL auditsys
+187 UNIMPL processor_bind
+188 UNIMPL processor_info
+189 UNIMPL p_online
+190 UNIMPL sigqueue
+191 UNIMPL clock_gettime
+192 UNIMPL clock_settime
+193 UNIMPL clock_getres
+194 UNIMPL timer_create
+195 UNIMPL timer_delete
+196 UNIMPL timer_settime
+197 UNIMPL timer_gettime
+198 UNIMPL timer_getoverrun
+199 UNIMPL nanosleep
+200 UNIMPL facl
+201 UNIMPL door
+202 UNIMPL setreuid
+203 UNIMPL setregid
+204 UNIMPL
+205 UNIMPL
+206 UNIMPL
+207 UNIMPL
+208 UNIMPL
+209 UNIMPL
+210 UNIMPL signotifywait
+211 UNIMPL lwp_sigredirect
+212 UNIMPL lwp_alarm