Sync with NetBSD 970118
authorniklas <niklas@openbsd.org>
Thu, 23 Jan 1997 16:12:15 +0000 (16:12 +0000)
committerniklas <niklas@openbsd.org>
Thu, 23 Jan 1997 16:12:15 +0000 (16:12 +0000)
sys/compat/ibcs2/files.ibcs2
sys/compat/ibcs2/ibcs2_errno.c
sys/compat/ibcs2/ibcs2_exec.c
sys/compat/ibcs2/ibcs2_ioctl.c
sys/compat/ibcs2/ibcs2_ipc.c
sys/compat/ibcs2/ibcs2_misc.c
sys/compat/ibcs2/ibcs2_socksys.c
sys/compat/ibcs2/ibcs2_stat.c
sys/compat/ibcs2/ibcs2_util.h
sys/compat/ibcs2/syscalls.master

index ce33175..eca9848 100644 (file)
@@ -1,7 +1,7 @@
-#      $OpenBSD: files.ibcs2,v 1.4 1997/01/19 00:43:40 niklas Exp $
+#      $OpenBSD: files.ibcs2,v 1.5 1997/01/23 16:12:15 niklas Exp $
 #      $NetBSD: files.ibcs2,v 1.3 1995/08/14 01:34:09 mycroft Exp $
 #
-# Config.new file description for machine-independent IBCS-2 compat code.
+# Config file description for machine-independent IBCS-2 compat code.
 # Included by ports that need it.
 
 # ports should define any machine-specific files they need in their
index b4bfea0..4e2bcf6 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ibcs2_errno.c,v 1.3 1996/08/02 20:35:03 niklas Exp $  */
+/*     $OpenBSD: ibcs2_errno.c,v 1.4 1997/01/23 16:12:16 niklas Exp $  */
 /*     $NetBSD: ibcs2_errno.c,v 1.2 1996/05/03 17:05:16 christos Exp $ */
 
 /*
@@ -118,4 +118,3 @@ int bsd2ibcs_errno[] = {
        0,                      /* 80 */
        0,                      /* 81 */
 };
-
index f91d08f..6f660dd 100644 (file)
@@ -1,5 +1,5 @@
-/*     $OpenBSD: ibcs2_exec.c,v 1.4 1996/08/31 09:24:02 pefo Exp $     */
-/*     $NetBSD: ibcs2_exec.c,v 1.11 1996/05/03 17:05:19 christos Exp $ */
+/*     $OpenBSD: ibcs2_exec.c,v 1.5 1997/01/23 16:12:16 niklas Exp $   */
+/*     $NetBSD: ibcs2_exec.c,v 1.12 1996/10/12 02:13:52 thorpej Exp $  */
 
 /*
  * Copyright (c) 1994, 1995 Scott Bartram
@@ -38,6 +38,7 @@
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/proc.h>
+#include <sys/exec.h>
 #include <sys/malloc.h>
 #include <sys/vnode.h>
 #include <sys/resourcevar.h>
index a0158c8..4b9bea3 100644 (file)
@@ -1,5 +1,5 @@
-/*     $OpenBSD: ibcs2_ioctl.c,v 1.5 1996/08/10 12:09:21 deraadt Exp $ */
-/*     $NetBSD: ibcs2_ioctl.c,v 1.11 1996/05/03 17:05:22 christos Exp $        */
+/*     $OpenBSD: ibcs2_ioctl.c,v 1.6 1997/01/23 16:12:17 niklas Exp $  */
+/*     $NetBSD: ibcs2_ioctl.c,v 1.12 1996/08/10 09:08:26 mycroft Exp $ */
 
 /*
  * Copyright (c) 1994, 1995 Scott Bartram
index bacbe15..43fe6ca 100644 (file)
@@ -1,5 +1,5 @@
-/*     $OpenBSD: ibcs2_ipc.c,v 1.4 1996/10/17 19:15:47 niklas Exp $    */
-/*     $NetBSD: ibcs2_ipc.c,v 1.6 1996/05/03 17:05:23 christos Exp $   */
+/*     $OpenBSD: ibcs2_ipc.c,v 1.5 1997/01/23 16:12:17 niklas Exp $    */
+/*     $NetBSD: ibcs2_ipc.c,v 1.7 1997/01/18 01:51:41 mycroft Exp $    */
 
 /*
  * Copyright (c) 1995 Scott Bartram
index 95cefda..d24bd0d 100644 (file)
@@ -1,5 +1,5 @@
-/*     $OpenBSD: ibcs2_misc.c,v 1.7 1996/08/10 12:09:22 deraadt Exp $  */
-/*     $NetBSD: ibcs2_misc.c,v 1.15 1996/05/03 17:05:25 christos Exp $ */
+/*     $OpenBSD: ibcs2_misc.c,v 1.8 1997/01/23 16:12:18 niklas Exp $   */
+/*     $NetBSD: ibcs2_misc.c,v 1.23 1997/01/15 01:37:49 perry Exp $    */
 
 /*
  * Copyright (c) 1994, 1995 Scott Bartram
@@ -418,7 +418,8 @@ again:
                idb.d_off = (ibcs2_off_t)off;
                idb.d_reclen = (u_short)ibcs2_reclen;
                strcpy(idb.d_name, bdp->d_name);
-               if ((error = copyout((caddr_t)&idb, outp, ibcs2_reclen)))
+               error = copyout((caddr_t)&idb, outp, ibcs2_reclen);
+               if (error)
                        goto out;
                /* advance past this real entry */
                inp += reclen;
@@ -453,11 +454,11 @@ ibcs2_sys_read(p, v, retval)
                syscallarg(u_int) nbytes;
        } */ *uap = v;
        register struct dirent *bdp;
-       register struct vnode *vp;
-       register caddr_t inp, buf;      /* BSD-format */
-       register int len, reclen;       /* BSD-format */
-       register caddr_t outp;          /* iBCS2-format */
-       register int resid;             /* iBCS2-format */
+       struct vnode *vp;
+       caddr_t inp, buf;       /* BSD-format */
+       int len, reclen;        /* BSD-format */
+       caddr_t outp;           /* iBCS2-format */
+       int resid, ibcs2_reclen;/* iBCS2-format */
        struct file *fp;
        struct uio auio;
        struct iovec aiov;
@@ -504,12 +505,9 @@ again:
         */
        error = VOP_READDIR(vp, &auio, fp->f_cred, &eofflag, cookiebuf,
            ncookies);
-       if (error) {
-               DPRINTF(("VOP_READDIR failed: %d\n", error));
+       if (error)
                goto out;
-       }
-       inp = buf + off;
-       buflen -= off;
+       inp = buf;
        outp = SCARG(uap, buf);
        resid = SCARG(uap, nbytes);
        if ((len = buflen - auio.uio_resid) == 0)
@@ -519,12 +517,13 @@ again:
                reclen = bdp->d_reclen;
                if (reclen & 3)
                        panic("ibcs2_read");
+               off = *cookie++;        /* each entry points to the next */
                if (bdp->d_fileno == 0) {
                        inp += reclen;  /* it is a hole; squish it out */
-                       off = *cookie++;
                        continue;
                }
-               if (reclen > len || resid < sizeof(struct ibcs2_direct)) {
+               ibcs2_reclen = 16;
+               if (reclen > len || resid < ibcs2_reclen) {
                        /* entry too big for buffer, so just stop */
                        outp++;
                        break;
@@ -540,15 +539,14 @@ again:
                idb.ino = (bdp->d_fileno > 0xfffe) ? 0xfffe : bdp->d_fileno;
                (void)copystr(bdp->d_name, idb.name, 14, &size);
                bzero(idb.name + size, 14 - size);
-               error = copyout(&idb, outp, sizeof(struct ibcs2_direct));
+               error = copyout(&idb, outp, ibcs2_reclen);
                if (error)
                        goto out;
                /* advance past this real entry */
-               off = *cookie++;        /* each entry points to the next */
                inp += reclen;
                /* advance output past iBCS2-shaped entry */
-               outp += sizeof(struct ibcs2_direct);
-               resid -= sizeof(struct ibcs2_direct);
+               outp += ibcs2_reclen;
+               resid -= ibcs2_reclen;
        }
        /* if we squished out the whole block, try again */
        if (outp == SCARG(uap, buf))
@@ -641,8 +639,7 @@ ibcs2_sys_setgroups(p, v, retval)
        caddr_t sg = stackgap_init(p->p_emul);
 
        SCARG(&sa, gidsetsize) = SCARG(uap, gidsetsize);
-       SCARG(&sa, gidset) = stackgap_alloc(&sg, SCARG(&sa, gidsetsize) *
-                                           sizeof(gid_t *));
+       gp = stackgap_alloc(&sg, SCARG(&sa, gidsetsize) * sizeof(gid_t *));
        iset = stackgap_alloc(&sg, SCARG(&sa, gidsetsize) *
                              sizeof(ibcs2_gid_t *));
        if (SCARG(&sa, gidsetsize)) {
@@ -651,8 +648,9 @@ ibcs2_sys_setgroups(p, v, retval)
                if (error)
                        return error;
        }
-       for (i = 0, gp = SCARG(&sa, gidset); i < SCARG(&sa, gidsetsize); i++)
-               *gp++ = (gid_t)iset[i];
+       for (i = 0; i < SCARG(&sa, gidsetsize); i++)
+               gp[i]= (gid_t)iset[i];
+       SCARG(&sa, gidset) = gp;
        return sys_setgroups(p, &sa, retval);
 }
 
@@ -704,7 +702,8 @@ xenix_sys_ftime(p, v, retval)
        itb.millitm = (tv.tv_usec / 1000);
        itb.timezone = tz.tz_minuteswest;
        itb.dstflag = tz.tz_dsttime;
-       return copyout((caddr_t)&itb, (caddr_t)SCARG(uap, tp), xenix_timeb_len);
+       return copyout((caddr_t)&itb, (caddr_t)SCARG(uap, tp),
+           xenix_timeb_len);
 }
 
 int
@@ -962,14 +961,16 @@ ibcs2_sys_stime(p, v, retval)
        int error;
        struct sys_settimeofday_args sa;
        caddr_t sg = stackgap_init(p->p_emul);
+       struct timeval *tvp;
 
-       SCARG(&sa, tv) = stackgap_alloc(&sg, sizeof(*SCARG(&sa, tv)));
+       tvp = stackgap_alloc(&sg, sizeof(*SCARG(&sa, tv)));
        SCARG(&sa, tzp) = NULL;
-       error = copyin((caddr_t)SCARG(uap, timep),
-           &(SCARG(&sa, tv)->tv_sec), sizeof(long));
+       error = copyin((caddr_t)SCARG(uap, timep), (void *)&tvp->tv_sec,
+           sizeof(long));
        if (error)
                return error;
-       SCARG(&sa, tv)->tv_usec = 0;
+       tvp->tv_usec = 0;
+       SCARG(&sa, tv) = tvp;
        if ((error = sys_settimeofday(p, &sa, retval)) != 0)
                return EPERM;
        return 0;
@@ -999,14 +1000,12 @@ ibcs2_sys_utime(p, v, retval)
                    sizeof(ubuf));
                if (error)
                        return error;
-               SCARG(&sa, tptr) = stackgap_alloc(&sg,
-                                                 2 * sizeof(struct timeval *));
-               tp = (struct timeval *)SCARG(&sa, tptr);
-               tp->tv_sec = ubuf.actime;
-               tp->tv_usec = 0;
-               tp++;
-               tp->tv_sec = ubuf.modtime;
-               tp->tv_usec = 0;
+               tp = stackgap_alloc(&sg, 2 * sizeof(struct timeval *));
+               tp[0].tv_sec = ubuf.actime;
+               tp[0].tv_usec = 0;
+               tp[1].tv_sec = ubuf.modtime;
+               tp[1].tv_usec = 0;
+               SCARG(&sa, tptr) = tp;
        } else
                SCARG(&sa, tptr) = NULL;
        return sys_utimes(p, &sa, retval);
@@ -1026,10 +1025,10 @@ ibcs2_sys_nice(p, v, retval)
 
        SCARG(&sa, which) = PRIO_PROCESS;
        SCARG(&sa, who) = 0;
-       SCARG(&sa, prio) = p->p_nice + SCARG(uap, incr);
+       SCARG(&sa, prio) = p->p_nice - PZERO + SCARG(uap, incr);
        if ((error = sys_setpriority(p, &sa, retval)) != 0)
                return EPERM;
-       *retval = p->p_nice;
+       *retval = p->p_nice - PZERO;
        return 0;
 }
 
index 3cee3ff..0b46681 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ibcs2_socksys.c,v 1.3 1996/08/02 20:35:10 niklas Exp $        */
+/*     $OpenBSD: ibcs2_socksys.c,v 1.4 1997/01/23 16:12:19 niklas Exp $        */
 /*     $NetBSD: ibcs2_socksys.c,v 1.4 1996/05/03 17:05:29 christos Exp $       */
 
 /*
@@ -131,8 +131,8 @@ ibcs2_socksys(p, v, retval)
 
        default:
                printf("socksys unknown %08x %08x %08x %08x %08x %08x %08x\n",
-                       realargs[0], realargs[1], realargs[2], realargs[3], 
-                       realargs[4], realargs[5], realargs[6]);
+                   realargs[0], realargs[1], realargs[2], realargs[3], 
+                   realargs[4], realargs[5], realargs[6]);
                return EINVAL;
        }
        /* NOTREACHED */
index d8fc2c0..4614b6a 100644 (file)
@@ -1,5 +1,6 @@
-/*     $OpenBSD: ibcs2_stat.c,v 1.3 1996/08/02 20:35:11 niklas Exp $   */
+/*     $OpenBSD: ibcs2_stat.c,v 1.4 1997/01/23 16:12:19 niklas Exp $   */
 /*     $NetBSD: ibcs2_stat.c,v 1.5 1996/05/03 17:05:32 christos Exp $  */
+
 /*
  * Copyright (c) 1995 Scott Bartram
  * All rights reserved.
index d0e91e3..7ac809a 100644 (file)
@@ -1,5 +1,5 @@
-/*     $OpenBSD: ibcs2_util.h,v 1.2 1996/08/02 20:35:18 niklas Exp $   */
-/*     $NetBSD: ibcs2_util.h,v 1.2 1995/06/24 20:19:06 christos Exp $  */
+/*     $OpenBSD: ibcs2_util.h,v 1.3 1997/01/23 16:12:20 niklas Exp $   */
+/*     $NetBSD: ibcs2_util.h,v 1.4 1996/10/13 00:46:52 christos Exp $  */
 
 /*
  * Copyright (c) 1994 Christos Zoulas
index 3908119..a56e1b6 100644 (file)
@@ -1,5 +1,5 @@
-       $OpenBSD: syscalls.master,v 1.5 1996/08/02 21:55:17 niklas Exp $
-;      $NetBSD: syscalls.master,v 1.8 1996/01/07 06:09:43 mycroft Exp $
+       $OpenBSD: syscalls.master,v 1.6 1997/01/23 16:12:20 niklas Exp $
+;      $NetBSD: syscalls.master,v 1.10 1996/09/07 14:21:59 mycroft Exp $
 
 ;      @(#)syscalls.master     8.1 (Berkeley) 7/19/93
 
 86     STD             { int ibcs2_sys_putmsg(int fd, \
                            struct ibcs2_stropts *ctl, \
                            struct ibcs2_stropts *dat, int flags); }
-87     NOARGS          { int sys_poll(struct pollfd *fds, \
-                           unsigned long nfds, int timeout); }
+87     NOARGS          { int sys_poll(struct pollfd *fds, u_long nfds, \
+                           int timeout); }
 88     UNIMPL
 89     UNIMPL
 90     STD             { int ibcs2_sys_symlink(char *path, char *link); }