From 4c8218a5c7d132b8ae0bd2a5a677455d69fabaab Mon Sep 17 00:00:00 2001 From: phk Date: Thu, 6 Nov 1997 19:29:57 +0000 Subject: Move the "retval" (3rd) parameter from all syscall functions and put it in struct proc instead. This fixes a boatload of compiler warning, and removes a lot of cruft from the sources. I have not removed the /*ARGSUSED*/, they will require some looking at. libkvm, ps and other userland struct proc frobbing programs will need recompiled. --- sys/i386/i386/machdep.c | 5 +- sys/i386/i386/sys_machdep.c | 15 ++- sys/i386/i386/trap.c | 16 +-- sys/i386/ibcs2/ibcs2_fcntl.c | 42 ++++---- sys/i386/ibcs2/ibcs2_ioctl.c | 62 ++++++----- sys/i386/ibcs2/ibcs2_ipc.c | 47 ++++----- sys/i386/ibcs2/ibcs2_isc.c | 6 +- sys/i386/ibcs2/ibcs2_misc.c | 234 +++++++++++++++++------------------------ sys/i386/ibcs2/ibcs2_msg.c | 21 ++-- sys/i386/ibcs2/ibcs2_other.c | 24 ++--- sys/i386/ibcs2/ibcs2_proto.h | 112 ++++++++++---------- sys/i386/ibcs2/ibcs2_signal.c | 49 ++++----- sys/i386/ibcs2/ibcs2_socksys.c | 57 +++++----- sys/i386/ibcs2/ibcs2_socksys.h | 2 +- sys/i386/ibcs2/ibcs2_stat.c | 24 ++--- sys/i386/ibcs2/ibcs2_sysi86.c | 4 +- sys/i386/ibcs2/ibcs2_util.h | 2 +- sys/i386/ibcs2/ibcs2_xenix.c | 31 +++--- sys/i386/ibcs2/ibcs2_xenix.h | 39 +++---- sys/i386/linux/linux_dummy.c | 72 ++++++------- sys/i386/linux/linux_file.c | 117 +++++++++++---------- sys/i386/linux/linux_ioctl.c | 114 ++++++++++---------- sys/i386/linux/linux_ipc.c | 102 +++++++++--------- sys/i386/linux/linux_misc.c | 105 +++++++++--------- sys/i386/linux/linux_proto.h | 188 ++++++++++++++++----------------- sys/i386/linux/linux_signal.c | 39 ++++--- sys/i386/linux/linux_socket.c | 94 ++++++++--------- sys/i386/linux/linux_stats.c | 13 ++- sys/i386/linux/linux_sysvec.c | 5 +- 29 files changed, 781 insertions(+), 860 deletions(-) (limited to 'sys/i386') diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index 0ab6bca..7097e5b 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $Id: machdep.c,v 1.268 1997/10/10 12:42:52 peter Exp $ + * $Id: machdep.c,v 1.269 1997/10/12 20:23:17 phk Exp $ */ #include "apm.h" @@ -595,12 +595,11 @@ sendsig(catcher, sig, mask, code) * state to gain improper privileges. */ int -sigreturn(p, uap, retval) +sigreturn(p, uap) struct proc *p; struct sigreturn_args /* { struct sigcontext *sigcntxp; } */ *uap; - int *retval; { register struct sigcontext *scp; register struct sigframe *fp; diff --git a/sys/i386/i386/sys_machdep.c b/sys/i386/i386/sys_machdep.c index e6daefd..3c78a70 100644 --- a/sys/i386/i386/sys_machdep.c +++ b/sys/i386/i386/sys_machdep.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)sys_machdep.c 5.5 (Berkeley) 1/19/91 - * $Id: sys_machdep.c,v 1.26 1997/10/10 09:44:08 peter Exp $ + * $Id: sys_machdep.c,v 1.27 1997/10/10 12:42:54 peter Exp $ * */ @@ -83,32 +83,31 @@ struct sysarch_args { #endif int -sysarch(p, uap, retval) +sysarch(p, uap) struct proc *p; register struct sysarch_args *uap; - int *retval; { int error = 0; switch(uap->op) { #ifdef USER_LDT case I386_GET_LDT: - error = i386_get_ldt(p, uap->parms, retval); + error = i386_get_ldt(p, uap->parms, p->p_retval); break; case I386_SET_LDT: - error = i386_set_ldt(p, uap->parms, retval); + error = i386_set_ldt(p, uap->parms, p->p_retval); break; #endif #ifdef VM86 case I386_GET_IOPERM: - error = i386_get_ioperm(p, uap->parms, retval); + error = i386_get_ioperm(p, uap->parms, p->p_retval); break; case I386_SET_IOPERM: - error = i386_set_ioperm(p, uap->parms, retval); + error = i386_set_ioperm(p, uap->parms, p->p_retval); break; case I386_VM86: - error = vm86_sysarch(p, uap->parms, retval); + error = vm86_sysarch(p, uap->parms, p->p_retval); break; #endif default: diff --git a/sys/i386/i386/trap.c b/sys/i386/i386/trap.c index ec74808..4cab4c1 100644 --- a/sys/i386/i386/trap.c +++ b/sys/i386/i386/trap.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)trap.c 7.4 (Berkeley) 5/13/91 - * $Id: trap.c,v 1.112 1997/10/10 09:44:09 peter Exp $ + * $Id: trap.c,v 1.113 1997/10/10 12:42:48 peter Exp $ */ /* @@ -904,7 +904,7 @@ syscall(frame) struct proc *p = curproc; u_quad_t sticks; int error; - int args[8], rval[2]; + int args[8]; u_int code; sticks = p->p_sticks; @@ -956,10 +956,10 @@ syscall(frame) if (KTRPOINT(p, KTR_SYSCALL)) ktrsyscall(p->p_tracep, code, callp->sy_narg, args); #endif - rval[0] = 0; - rval[1] = frame.tf_edx; + p->p_retval[0] = 0; + p->p_retval[1] = frame.tf_edx; - error = (*callp->sy_call)(p, args, rval); + error = (*callp->sy_call)(p, args); switch (error) { @@ -969,8 +969,8 @@ syscall(frame) * if this is a child returning from fork syscall. */ p = curproc; - frame.tf_eax = rval[0]; - frame.tf_edx = rval[1]; + frame.tf_eax = p->p_retval[0]; + frame.tf_edx = p->p_retval[1]; frame.tf_eflags &= ~PSL_C; break; @@ -1007,7 +1007,7 @@ bad: #ifdef KTRACE if (KTRPOINT(p, KTR_SYSRET)) - ktrsysret(p->p_tracep, code, error, rval[0]); + ktrsysret(p->p_tracep, code, error, p->p_retval[0]); #endif } diff --git a/sys/i386/ibcs2/ibcs2_fcntl.c b/sys/i386/ibcs2/ibcs2_fcntl.c index 0930ea9..82d7286 100644 --- a/sys/i386/ibcs2/ibcs2_fcntl.c +++ b/sys/i386/ibcs2/ibcs2_fcntl.c @@ -24,7 +24,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ibcs2_fcntl.c,v 1.8 1997/03/24 11:52:23 bde Exp $ + * $Id: ibcs2_fcntl.c,v 1.9 1997/07/20 09:39:41 bde Exp $ */ #include @@ -165,10 +165,9 @@ oflags2ioflags(flags) } int -ibcs2_open(p, uap, retval) +ibcs2_open(p, uap) struct proc *p; struct ibcs2_open_args *uap; - int *retval; { int noctty = SCARG(uap, flags) & IBCS2_O_NOCTTY; int ret; @@ -179,17 +178,17 @@ ibcs2_open(p, uap, retval) CHECKALTCREAT(p, &sg, SCARG(uap, path)); else CHECKALTEXIST(p, &sg, SCARG(uap, path)); - ret = open(p, (struct open_args *)uap, retval); + ret = open(p, (struct open_args *)uap); #ifdef SPX_HACK if(ret == ENXIO) if(!strcmp(SCARG(uap, path), "/compat/ibcs2/dev/spx")) - ret = spx_open(p, uap, retval); + ret = spx_open(p, uap); else #endif /* SPX_HACK */ if (!ret && !noctty && SESS_LEADER(p) && !(p->p_flag & P_CONTROLT)) { struct filedesc *fdp = p->p_fd; - struct file *fp = fdp->fd_ofiles[*retval]; + struct file *fp = fdp->fd_ofiles[p->p_retval[0]]; /* ignore any error, just give it a try */ if (fp->f_type == DTYPE_VNODE) @@ -199,10 +198,9 @@ ibcs2_open(p, uap, retval) } int -ibcs2_creat(p, uap, retval) +ibcs2_creat(p, uap) struct proc *p; struct ibcs2_creat_args *uap; - int *retval; { struct open_args cup; caddr_t sg = stackgap_init(); @@ -211,14 +209,13 @@ ibcs2_creat(p, uap, retval) SCARG(&cup, path) = SCARG(uap, path); SCARG(&cup, mode) = SCARG(uap, mode); SCARG(&cup, flags) = O_WRONLY | O_CREAT | O_TRUNC; - return open(p, &cup, retval); + return open(p, &cup); } int -ibcs2_access(p, uap, retval) +ibcs2_access(p, uap) struct proc *p; struct ibcs2_access_args *uap; - int *retval; { struct access_args cup; caddr_t sg = stackgap_init(); @@ -226,14 +223,13 @@ ibcs2_access(p, uap, retval) CHECKALTEXIST(p, &sg, SCARG(uap, path)); SCARG(&cup, path) = SCARG(uap, path); SCARG(&cup, flags) = SCARG(uap, flags); - return access(p, &cup, retval); + return access(p, &cup); } int -ibcs2_fcntl(p, uap, retval) +ibcs2_fcntl(p, uap) struct proc *p; struct ibcs2_fcntl_args *uap; - int *retval; { int error; struct fcntl_args fa; @@ -245,32 +241,32 @@ ibcs2_fcntl(p, uap, retval) SCARG(&fa, fd) = SCARG(uap, fd); SCARG(&fa, cmd) = F_DUPFD; SCARG(&fa, arg) = (/* XXX */ int)SCARG(uap, arg); - return fcntl(p, &fa, retval); + return fcntl(p, &fa); case IBCS2_F_GETFD: SCARG(&fa, fd) = SCARG(uap, fd); SCARG(&fa, cmd) = F_GETFD; SCARG(&fa, arg) = (/* XXX */ int)SCARG(uap, arg); - return fcntl(p, &fa, retval); + return fcntl(p, &fa); case IBCS2_F_SETFD: SCARG(&fa, fd) = SCARG(uap, fd); SCARG(&fa, cmd) = F_SETFD; SCARG(&fa, arg) = (/* XXX */ int)SCARG(uap, arg); - return fcntl(p, &fa, retval); + return fcntl(p, &fa); case IBCS2_F_GETFL: SCARG(&fa, fd) = SCARG(uap, fd); SCARG(&fa, cmd) = F_GETFL; SCARG(&fa, arg) = (/* XXX */ int)SCARG(uap, arg); - error = fcntl(p, &fa, retval); + error = fcntl(p, &fa); if (error) return error; - *retval = oflags2ioflags(*retval); + p->p_retval[0] = oflags2ioflags(p->p_retval[0]); return error; case IBCS2_F_SETFL: SCARG(&fa, fd) = SCARG(uap, fd); SCARG(&fa, cmd) = F_SETFL; SCARG(&fa, arg) = (/* XXX */ int) ioflags2oflags((int)SCARG(uap, arg)); - return fcntl(p, &fa, retval); + return fcntl(p, &fa); case IBCS2_F_GETLK: { @@ -284,7 +280,7 @@ ibcs2_fcntl(p, uap, retval) SCARG(&fa, fd) = SCARG(uap, fd); SCARG(&fa, cmd) = F_GETLK; SCARG(&fa, arg) = (/* XXX */ int)flp; - error = fcntl(p, &fa, retval); + error = fcntl(p, &fa); if (error) return error; cvt_flock2iflock(flp, &ifl); @@ -305,7 +301,7 @@ ibcs2_fcntl(p, uap, retval) SCARG(&fa, cmd) = F_SETLK; SCARG(&fa, arg) = (/* XXX */ int)flp; - return fcntl(p, &fa, retval); + return fcntl(p, &fa); } case IBCS2_F_SETLKW: @@ -320,7 +316,7 @@ ibcs2_fcntl(p, uap, retval) SCARG(&fa, fd) = SCARG(uap, fd); SCARG(&fa, cmd) = F_SETLKW; SCARG(&fa, arg) = (/* XXX */ int)flp; - return fcntl(p, &fa, retval); + return fcntl(p, &fa); } } return ENOSYS; diff --git a/sys/i386/ibcs2/ibcs2_ioctl.c b/sys/i386/ibcs2/ibcs2_ioctl.c index 18ef367..873ecc8 100644 --- a/sys/i386/ibcs2/ibcs2_ioctl.c +++ b/sys/i386/ibcs2/ibcs2_ioctl.c @@ -53,7 +53,7 @@ static void stio2stios __P((struct ibcs2_termio *, struct ibcs2_termios *)); int -ibcs2_gtty(struct proc *p, struct ibcs2_gtty_args *args, int *retval) +ibcs2_gtty(struct proc *p, struct ibcs2_gtty_args *args) { struct ioctl_args ioctl_arg; @@ -61,11 +61,11 @@ ibcs2_gtty(struct proc *p, struct ibcs2_gtty_args *args, int *retval) ioctl_arg.com = TIOCGETC; ioctl_arg.data = (caddr_t)args->buf; - return ioctl(p, &ioctl_arg, retval); + return ioctl(p, &ioctl_arg); } int -ibcs2_stty(struct proc *p, struct ibcs2_stty_args *args, int *retval) +ibcs2_stty(struct proc *p, struct ibcs2_stty_args *args) { struct ioctl_args ioctl_arg; @@ -73,7 +73,7 @@ ibcs2_stty(struct proc *p, struct ibcs2_stty_args *args, int *retval) ioctl_arg.com = TIOCSETC; ioctl_arg.data = (caddr_t)args->buf; - return ioctl(p, &ioctl_arg, retval); + return ioctl(p, &ioctl_arg); } @@ -332,10 +332,9 @@ stio2stios(t, ts) } int -ibcs2_ioctl(p, uap, retval) +ibcs2_ioctl(p, uap) struct proc *p; struct ibcs2_ioctl_args *uap; - int *retval; { struct filedesc *fdp = p->p_fd; struct file *fp; @@ -493,11 +492,11 @@ ibcs2_ioctl(p, uap, retval) case IBCS2_TIOCGWINSZ: SCARG(uap, cmd) = TIOCGWINSZ; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_TIOCSWINSZ: SCARG(uap, cmd) = TIOCSWINSZ; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_TIOCGPGRP: return copyout((caddr_t)&p->p_pgrp->pg_id, SCARG(uap, data), @@ -509,7 +508,7 @@ ibcs2_ioctl(p, uap, retval) SCARG(&sa, pid) = 0; SCARG(&sa, pgid) = (int)SCARG(uap, data); - if (error = setpgid(p, &sa, retval)) + if (error = setpgid(p, &sa)) return error; return 0; } @@ -543,93 +542,92 @@ ibcs2_ioctl(p, uap, retval) case IBCS2_KDGKBMODE: /* get keyboard translation mode */ SCARG(uap, cmd) = KDGKBMODE; /* printf("ioctl KDGKBMODE = %x\n", SCARG(uap, cmd));*/ - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_KDSKBMODE: /* set keyboard translation mode */ SCARG(uap, cmd) = KDSKBMODE; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_KDMKTONE: /* sound tone */ SCARG(uap, cmd) = KDMKTONE; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_KDGETMODE: /* get text/graphics mode */ SCARG(uap, cmd) = KDGETMODE; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_KDSETMODE: /* set text/graphics mode */ SCARG(uap, cmd) = KDSETMODE; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_KDSBORDER: /* set ega color border */ SCARG(uap, cmd) = KDSBORDER; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_KDGKBSTATE: SCARG(uap, cmd) = KDGKBSTATE; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_KDSETRAD: SCARG(uap, cmd) = KDSETRAD; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_KDENABIO: /* enable direct I/O to ports */ SCARG(uap, cmd) = KDENABIO; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_KDDISABIO: /* disable direct I/O to ports */ SCARG(uap, cmd) = KDDISABIO; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_KIOCSOUND: /* start sound generation */ SCARG(uap, cmd) = KIOCSOUND; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_KDGKBTYPE: /* get keyboard type */ SCARG(uap, cmd) = KDGKBTYPE; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_KDGETLED: /* get keyboard LED status */ SCARG(uap, cmd) = KDGETLED; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_KDSETLED: /* set keyboard LED status */ SCARG(uap, cmd) = KDSETLED; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); /* Xenix keyboard and display ioctl's from sys/kd.h -- type 'k' */ case IBCS2_GETFKEY: /* Get function key */ SCARG(uap, cmd) = GETFKEY; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_SETFKEY: /* Set function key */ SCARG(uap, cmd) = SETFKEY; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_GIO_SCRNMAP: /* Get screen output map table */ SCARG(uap, cmd) = GIO_SCRNMAP; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_PIO_SCRNMAP: /* Set screen output map table */ SCARG(uap, cmd) = PIO_SCRNMAP; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_GIO_KEYMAP: /* Get keyboard map table */ SCARG(uap, cmd) = GIO_KEYMAP; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); case IBCS2_PIO_KEYMAP: /* Set keyboard map table */ SCARG(uap, cmd) = PIO_KEYMAP; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); /* socksys */ case IBCS2_SIOCSOCKSYS: - return ibcs2_socksys(p, (struct ibcs2_socksys_args *)uap, - retval); + return ibcs2_socksys(p, (struct ibcs2_socksys_args *)uap); case IBCS2_I_NREAD: /* STREAMS */ SCARG(uap, cmd) = FIONREAD; - return ioctl(p, (struct ioctl_args *)uap, retval); + return ioctl(p, (struct ioctl_args *)uap); default: DPRINTF(("ibcs2_ioctl(%d): unknown cmd 0x%lx ", diff --git a/sys/i386/ibcs2/ibcs2_ipc.c b/sys/i386/ibcs2/ibcs2_ipc.c index 824eb33..32f3fa3 100644 --- a/sys/i386/ibcs2/ibcs2_ipc.c +++ b/sys/i386/ibcs2/ibcs2_ipc.c @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ibcs2_ipc.c,v 1.11 1997/03/24 11:23:31 bde Exp $ + * $Id: ibcs2_ipc.c,v 1.12 1997/07/20 09:39:42 bde Exp $ */ #include @@ -100,15 +100,14 @@ struct msqid_ds *bp; } int -ibcs2_msgsys(p, uap, retval) +ibcs2_msgsys(p, uap) struct proc *p; struct ibcs2_msgsys_args *uap; - int *retval; { switch (SCARG(uap, which)) { case 0: /* msgget */ SCARG(uap, which) = 1; - return msgsys(p, (struct msgsys_args *)uap, retval); + return msgsys(p, (struct msgsys_args *)uap); case 1: { /* msgctl */ int error; struct msgsys_args margs; @@ -121,7 +120,7 @@ ibcs2_msgsys(p, uap, retval) SCARG(&margs, a3) = SCARG(uap, a3); switch (SCARG(&margs, a3)) { case IBCS2_IPC_STAT: - error = msgsys(p, &margs, retval); + error = msgsys(p, &margs); if (!error) cvt_msqid2imsqid( (struct msqid_ds *)SCARG(&margs, a4), @@ -131,18 +130,18 @@ ibcs2_msgsys(p, uap, retval) cvt_imsqid2msqid((struct ibcs2_msqid_ds *)SCARG(uap, a4), (struct msqid_ds *)SCARG(&margs, a4)); - return msgsys(p, &margs, retval); + return msgsys(p, &margs); case IBCS2_IPC_RMID: - return msgsys(p, &margs, retval); + return msgsys(p, &margs); } return EINVAL; } case 2: /* msgrcv */ SCARG(uap, which) = 3; - return msgsys(p, (struct msgsys_args *)uap, retval); + return msgsys(p, (struct msgsys_args *)uap); case 3: /* msgsnd */ SCARG(uap, which) = 2; - return msgsys(p, (struct msgsys_args *)uap, retval); + return msgsys(p, (struct msgsys_args *)uap); default: return EINVAL; } @@ -204,10 +203,9 @@ struct semid_ds *bp; } int -ibcs2_semsys(p, uap, retval) +ibcs2_semsys(p, uap) struct proc *p; struct ibcs2_semsys_args *uap; - int *retval; { int error; @@ -223,7 +221,7 @@ ibcs2_semsys(p, uap, retval) isp = (struct ibcs2_semid_ds *)SCARG(uap, a5); sp = stackgap_alloc(&sg, sizeof(struct semid_ds)); SCARG(uap, a5) = (int)sp; - error = semsys(p, (struct semsys_args *)uap, retval); + error = semsys(p, (struct semsys_args *)uap); if (!error) { SCARG(uap, a5) = (int)isp; isp = stackgap_alloc(&sg, sizeof(*isp)); @@ -248,7 +246,7 @@ ibcs2_semsys(p, uap, retval) return error; cvt_isemid2semid(isp, sp); SCARG(uap, a5) = (int)sp; - return semsys(p, (struct semsys_args *)uap, retval); + return semsys(p, (struct semsys_args *)uap); } case IBCS2_SETVAL: { @@ -258,17 +256,17 @@ ibcs2_semsys(p, uap, retval) sp = stackgap_alloc(&sg, sizeof(*sp)); sp->val = (int) SCARG(uap, a5); SCARG(uap, a5) = (int)sp; - return semsys(p, (struct semsys_args *)uap, retval); + return semsys(p, (struct semsys_args *)uap); } } - return semsys(p, (struct semsys_args *)uap, retval); + return semsys(p, (struct semsys_args *)uap); case 1: /* semget */ - return semsys(p, (struct semsys_args *)uap, retval); + return semsys(p, (struct semsys_args *)uap); case 2: /* semop */ - return semsys(p, (struct semsys_args *)uap, retval); + return semsys(p, (struct semsys_args *)uap); } return EINVAL; } @@ -313,16 +311,15 @@ struct shmid_ds *bp; } int -ibcs2_shmsys(p, uap, retval) +ibcs2_shmsys(p, uap) struct proc *p; struct ibcs2_shmsys_args *uap; - int *retval; { int error; switch (SCARG(uap, which)) { case 0: /* shmat */ - return shmsys(p, (struct shmsys_args *)uap, retval); + return shmsys(p, (struct shmsys_args *)uap); case 1: /* shmctl */ switch(SCARG(uap, a3)) { @@ -335,7 +332,7 @@ ibcs2_shmsys(p, uap, retval) isp = (struct ibcs2_shmid_ds *)SCARG(uap, a4); sp = stackgap_alloc(&sg, sizeof(*sp)); SCARG(uap, a4) = (int)sp; - error = shmsys(p, (struct shmsys_args *)uap, retval); + error = shmsys(p, (struct shmsys_args *)uap); if (!error) { SCARG(uap, a4) = (int)isp; isp = stackgap_alloc(&sg, sizeof(*isp)); @@ -360,17 +357,17 @@ ibcs2_shmsys(p, uap, retval) return error; cvt_ishmid2shmid(isp, sp); SCARG(uap, a4) = (int)sp; - return shmsys(p, (struct shmsys_args *)uap, retval); + return shmsys(p, (struct shmsys_args *)uap); } } - return shmsys(p, (struct shmsys_args *)uap, retval); + return shmsys(p, (struct shmsys_args *)uap); case 2: /* shmdt */ - return shmsys(p, (struct shmsys_args *)uap, retval); + return shmsys(p, (struct shmsys_args *)uap); case 3: /* shmget */ - return shmsys(p, (struct shmsys_args *)uap, retval); + return shmsys(p, (struct shmsys_args *)uap); } return EINVAL; } diff --git a/sys/i386/ibcs2/ibcs2_isc.c b/sys/i386/ibcs2/ibcs2_isc.c index c333450..8984141 100644 --- a/sys/i386/ibcs2/ibcs2_isc.c +++ b/sys/i386/ibcs2/ibcs2_isc.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ibcs2_isc.c,v 1.9 1997/05/07 20:05:44 peter Exp $ + * $Id: ibcs2_isc.c,v 1.10 1997/07/20 09:39:43 bde Exp $ */ #include @@ -44,7 +44,7 @@ extern struct sysent isc_sysent[]; int -ibcs2_isc(struct proc *p, struct ibcs2_isc_args *uap, int *retval) +ibcs2_isc(struct proc *p, struct ibcs2_isc_args *uap) { struct trapframe *tf = p->p_md.md_regs; struct sysent *callp; @@ -54,7 +54,7 @@ ibcs2_isc(struct proc *p, struct ibcs2_isc_args *uap, int *retval) callp = &isc_sysent[code]; if(code < IBCS2_ISC_MAXSYSCALL) - return((*callp->sy_call)(p, (void *)uap, retval)); + return((*callp->sy_call)(p, (void *)uap)); else return ENOSYS; } diff --git a/sys/i386/ibcs2/ibcs2_misc.c b/sys/i386/ibcs2/ibcs2_misc.c index ad36679..dab0855 100644 --- a/sys/i386/ibcs2/ibcs2_misc.c +++ b/sys/i386/ibcs2/ibcs2_misc.c @@ -45,7 +45,7 @@ * * @(#)sun_misc.c 8.1 (Berkeley) 6/18/93 * - * $Id: ibcs2_misc.c,v 1.22 1997/07/20 09:39:44 bde Exp $ + * $Id: ibcs2_misc.c,v 1.23 1997/08/25 21:56:23 bde Exp $ */ /* @@ -85,10 +85,9 @@ int -ibcs2_ulimit(p, uap, retval) +ibcs2_ulimit(p, uap) struct proc *p; struct ibcs2_ulimit_args *uap; - int *retval; { #ifdef notyet int error; @@ -105,31 +104,30 @@ ibcs2_ulimit(p, uap, retval) switch (SCARG(uap, cmd)) { case IBCS2_GETFSIZE: - *retval = p->p_rlimit[RLIMIT_FSIZE].rlim_cur; - if (*retval == -1) *retval = 0x7fffffff; + p->p_retval[0] = p->p_rlimit[RLIMIT_FSIZE].rlim_cur; + if (p->p_retval[0] == -1) p->p_retval[0] = 0x7fffffff; return 0; case IBCS2_SETFSIZE: /* XXX - fix this */ #ifdef notyet rl.rlim_cur = SCARG(uap, newlimit); sra.resource = RLIMIT_FSIZE; sra.rlp = &rl; - error = setrlimit(p, &sra, retval); + error = setrlimit(p, &sra); if (!error) - *retval = p->p_rlimit[RLIMIT_FSIZE].rlim_cur; + p->p_retval[0] = p->p_rlimit[RLIMIT_FSIZE].rlim_cur; else DPRINTF(("failed ")); return error; #else - *retval = SCARG(uap, newlimit); + p->p_retval[0] = SCARG(uap, newlimit); return 0; #endif case IBCS2_GETPSIZE: - *retval = p->p_rlimit[RLIMIT_RSS].rlim_cur; /* XXX */ + p->p_retval[0] = p->p_rlimit[RLIMIT_RSS].rlim_cur; /* XXX */ return 0; case IBCS2_GETDTABLESIZE: uap->cmd = IBCS2_SC_OPEN_MAX; - return ibcs2_sysconf(p, (struct ibcs2_sysconf_args *)uap, - retval); + return ibcs2_sysconf(p, (struct ibcs2_sysconf_args *)uap); default: return ENOSYS; } @@ -138,10 +136,9 @@ ibcs2_ulimit(p, uap, retval) #define IBCS2_WSTOPPED 0177 #define IBCS2_STOPCODE(sig) ((sig) << 8 | IBCS2_WSTOPPED) int -ibcs2_wait(p, uap, retval) +ibcs2_wait(p, uap) struct proc *p; struct ibcs2_wait_args *uap; - int *retval; { int error, status; struct wait_args w4; @@ -160,7 +157,7 @@ ibcs2_wait(p, uap, retval) SCARG(&w4, status) = (int *)SCARG(uap, a1); SCARG(&w4, options) = 0; } - if ((error = wait4(p, &w4, retval)) != 0) + if ((error = wait4(p, &w4)) != 0) return error; if (SCARG(&w4, status)) { /* this is real iBCS brain-damage */ error = copyin((caddr_t)SCARG(&w4, status), (caddr_t)&status, @@ -177,7 +174,7 @@ ibcs2_wait(p, uap, retval) /* else exit status -- identical */ /* record result/status */ - retval[1] = status; + p->p_retval[1] = status; return copyout((caddr_t)&status, (caddr_t)SCARG(&w4, status), sizeof(SCARG(&w4, status))); } @@ -186,10 +183,9 @@ ibcs2_wait(p, uap, retval) } int -ibcs2_execv(p, uap, retval) +ibcs2_execv(p, uap) struct proc *p; struct ibcs2_execv_args *uap; - int *retval; { struct execve_args ea; caddr_t sg = stackgap_init(); @@ -198,38 +194,35 @@ ibcs2_execv(p, uap, retval) SCARG(&ea, fname) = SCARG(uap, path); SCARG(&ea, argv) = SCARG(uap, argp); SCARG(&ea, envv) = NULL; - return execve(p, &ea, retval); + return execve(p, &ea); } int -ibcs2_execve(p, uap, retval) +ibcs2_execve(p, uap) struct proc *p; struct ibcs2_execve_args *uap; - int *retval; { caddr_t sg = stackgap_init(); CHECKALTEXIST(p, &sg, SCARG(uap, path)); - return execve(p, (struct execve_args *)uap, retval); + return execve(p, (struct execve_args *)uap); } int -ibcs2_umount(p, uap, retval) +ibcs2_umount(p, uap) struct proc *p; struct ibcs2_umount_args *uap; - int *retval; { struct unmount_args um; SCARG(&um, path) = SCARG(uap, name); SCARG(&um, flags) = 0; - return unmount(p, &um, retval); + return unmount(p, &um); } int -ibcs2_mount(p, uap, retval) +ibcs2_mount(p, uap) struct proc *p; struct ibcs2_mount_args *uap; - int *retval; { #ifdef notyet int oflags = SCARG(uap, flags), nflags, error; @@ -285,7 +278,7 @@ ibcs2_mount(p, uap, retval) if (error = copyout(&na, SCARG(uap, data), sizeof na)) return (error); } - return (mount(p, uap, retval)); + return (mount(p, uap)); #else return EINVAL; #endif @@ -300,10 +293,9 @@ ibcs2_mount(p, uap, retval) */ int -ibcs2_getdents(p, uap, retval) +ibcs2_getdents(p, uap) struct proc *p; register struct ibcs2_getdents_args *uap; - int *retval; { register struct vnode *vp; register caddr_t inp, buf; /* BSD-format */ @@ -432,7 +424,7 @@ again: goto again; fp->f_offset = off; /* update the vnode offset */ eof: - *retval = SCARG(uap, nbytes) - resid; + p->p_retval[0] = SCARG(uap, nbytes) - resid; out: if (cookies) free(cookies, M_TEMP); @@ -442,10 +434,9 @@ out: } int -ibcs2_read(p, uap, retval) +ibcs2_read(p, uap) struct proc *p; struct ibcs2_read_args *uap; - int *retval; { register struct vnode *vp; register caddr_t inp, buf; /* BSD-format */ @@ -466,7 +457,7 @@ ibcs2_read(p, uap, retval) if (error = getvnode(p->p_fd, SCARG(uap, fd), &fp)) { if (error == EINVAL) - return read(p, (struct read_args *)uap, retval); + return read(p, (struct read_args *)uap); else return error; } @@ -474,7 +465,7 @@ ibcs2_read(p, uap, retval) return (EBADF); vp = (struct vnode *)fp->f_data; if (vp->v_type != VDIR) - return read(p, (struct read_args *)uap, retval); + return read(p, (struct read_args *)uap); DPRINTF(("ibcs2_read: read directory\n")); @@ -584,7 +575,7 @@ again: goto again; fp->f_offset = off; /* update the vnode offset */ eof: - *retval = SCARG(uap, nbytes) - resid; + p->p_retval[0] = SCARG(uap, nbytes) - resid; out: if (cookies) free(cookies, M_TEMP); @@ -594,10 +585,9 @@ out: } int -ibcs2_mknod(p, uap, retval) +ibcs2_mknod(p, uap) struct proc *p; struct ibcs2_mknod_args *uap; - int *retval; { caddr_t sg = stackgap_init(); @@ -606,21 +596,20 @@ ibcs2_mknod(p, uap, retval) struct mkfifo_args ap; SCARG(&ap, path) = SCARG(uap, path); SCARG(&ap, mode) = SCARG(uap, mode); - return mkfifo(p, &ap, retval); + return mkfifo(p, &ap); } else { struct mknod_args ap; SCARG(&ap, path) = SCARG(uap, path); SCARG(&ap, mode) = SCARG(uap, mode); SCARG(&ap, dev) = SCARG(uap, dev); - return mknod(p, &ap, retval); + return mknod(p, &ap); } } int -ibcs2_getgroups(p, uap, retval) +ibcs2_getgroups(p, uap) struct proc *p; struct ibcs2_getgroups_args *uap; - int *retval; { int error, i; ibcs2_gid_t *iset; @@ -635,25 +624,24 @@ ibcs2_getgroups(p, uap, retval) iset = stackgap_alloc(&sg, SCARG(uap, gidsetsize) * sizeof(ibcs2_gid_t)); } - if (error = getgroups(p, &sa, retval)) + if (error = getgroups(p, &sa)) return error; if (SCARG(uap, gidsetsize) == 0) return 0; - for (i = 0, gp = SCARG(&sa, gidset); i < retval[0]; i++) + for (i = 0, gp = SCARG(&sa, gidset); i < p->p_retval[0]; i++) iset[i] = (ibcs2_gid_t)*gp++; - if (retval[0] && (error = copyout((caddr_t)iset, + if (p->p_retval[0] && (error = copyout((caddr_t)iset, (caddr_t)SCARG(uap, gidset), - sizeof(ibcs2_gid_t) * retval[0]))) + sizeof(ibcs2_gid_t) * p->p_retval[0]))) return error; return 0; } int -ibcs2_setgroups(p, uap, retval) +ibcs2_setgroups(p, uap) struct proc *p; struct ibcs2_setgroups_args *uap; - int *retval; { int error, i; ibcs2_gid_t *iset; @@ -674,43 +662,40 @@ ibcs2_setgroups(p, uap, retval) } for (i = 0, gp = SCARG(&sa, gidset); i < SCARG(&sa, gidsetsize); i++) *gp++ = (gid_t)iset[i]; - return setgroups(p, &sa, retval); + return setgroups(p, &sa); } int -ibcs2_setuid(p, uap, retval) +ibcs2_setuid(p, uap) struct proc *p; struct ibcs2_setuid_args *uap; - int *retval; { struct setuid_args sa; SCARG(&sa, uid) = (uid_t)SCARG(uap, uid); - return setuid(p, &sa, retval); + return setuid(p, &sa); } int -ibcs2_setgid(p, uap, retval) +ibcs2_setgid(p, uap) struct proc *p; struct ibcs2_setgid_args *uap; - int *retval; { struct setgid_args sa; SCARG(&sa, gid) = (gid_t)SCARG(uap, gid); - return setgid(p, &sa, retval); + return setgid(p, &sa); } int -ibcs2_time(p, uap, retval) +ibcs2_time(p, uap) struct proc *p; struct ibcs2_time_args *uap; - int *retval; { struct timeval tv; microtime(&tv); - *retval = tv.tv_sec; + p->p_retval[0] = tv.tv_sec; if (SCARG(uap, tp)) return copyout((caddr_t)&tv.tv_sec, (caddr_t)SCARG(uap, tp), sizeof(ibcs2_time_t)); @@ -719,30 +704,27 @@ ibcs2_time(p, uap, retval) } int -ibcs2_pathconf(p, uap, retval) +ibcs2_pathconf(p, uap) struct proc *p; struct ibcs2_pathconf_args *uap; - int *retval; { SCARG(uap, name)++; /* iBCS2 _PC_* defines are offset by one */ - return pathconf(p, (struct pathconf_args *)uap, retval); + return pathconf(p, (struct pathconf_args *)uap); } int -ibcs2_fpathconf(p, uap, retval) +ibcs2_fpathconf(p, uap) struct proc *p; struct ibcs2_fpathconf_args *uap; - int *retval; { SCARG(uap, name)++; /* iBCS2 _PC_* defines are offset by one */ - return fpathconf(p, (struct fpathconf_args *)uap, retval); + return fpathconf(p, (struct fpathconf_args *)uap); } int -ibcs2_sysconf(p, uap, retval) +ibcs2_sysconf(p, uap) struct proc *p; struct ibcs2_sysconf_args *uap; - int *retval; { int mib[2], value, len, error; struct sysctl_args sa; @@ -759,14 +741,14 @@ ibcs2_sysconf(p, uap, retval) SCARG(&ga, which) = RLIMIT_NPROC; SCARG(&ga, rlp) = stackgap_alloc(&sg, sizeof(struct rlimit *)); - if (error = getrlimit(p, &ga, retval)) + if (error = getrlimit(p, &ga)) return error; - *retval = SCARG(&ga, rlp)->rlim_cur; + p->p_retval[0] = SCARG(&ga, rlp)->rlim_cur; return 0; } case IBCS2_SC_CLK_TCK: - *retval = hz; + p->p_retval[0] = hz; return 0; case IBCS2_SC_NGROUPS_MAX: @@ -779,9 +761,9 @@ ibcs2_sysconf(p, uap, retval) SCARG(&ga, which) = RLIMIT_NOFILE; SCARG(&ga, rlp) = stackgap_alloc(&sg, sizeof(struct rlimit *)); - if (error = getrlimit(p, &ga, retval)) + if (error = getrlimit(p, &ga)) return error; - *retval = SCARG(&ga, rlp)->rlim_cur; + p->p_retval[0] = SCARG(&ga, rlp)->rlim_cur; return 0; } @@ -798,11 +780,11 @@ ibcs2_sysconf(p, uap, retval) break; case IBCS2_SC_PASS_MAX: - *retval = 128; /* XXX - should we create PASS_MAX ? */ + p->p_retval[0] = 128; /* XXX - should we create PASS_MAX ? */ return 0; case IBCS2_SC_XOPEN_VERSION: - *retval = 2; /* XXX: What should that be? */ + p->p_retval[0] = 2; /* XXX: What should that be? */ return 0; default: @@ -817,17 +799,16 @@ ibcs2_sysconf(p, uap, retval) SCARG(&sa, oldlenp) = &len; SCARG(&sa, new) = NULL; SCARG(&sa, newlen) = 0; - if (error = __sysctl(p, &sa, retval)) + if (error = __sysctl(p, &sa)) return error; - *retval = value; + p->p_retval[0] = value; return 0; } int -ibcs2_alarm(p, uap, retval) +ibcs2_alarm(p, uap) struct proc *p; struct ibcs2_alarm_args *uap; - int *retval; { int error; struct itimerval *itp, *oitp; @@ -843,20 +824,19 @@ ibcs2_alarm(p, uap, retval) SCARG(&sa, which) = ITIMER_REAL; SCARG(&sa, itv) = itp; SCARG(&sa, oitv) = oitp; - error = setitimer(p, &sa, retval); + error = setitimer(p, &sa); if (error) return error; if (oitp->it_value.tv_usec) oitp->it_value.tv_sec++; - *retval = oitp->it_value.tv_sec; + p->p_retval[0] = oitp->it_value.tv_sec; return 0; } int -ibcs2_times(p, uap, retval) +ibcs2_times(p, uap) struct proc *p; struct ibcs2_times_args *uap; - int *retval; { int error; struct getrusage_args ga; @@ -868,31 +848,30 @@ ibcs2_times(p, uap, retval) SCARG(&ga, who) = RUSAGE_SELF; SCARG(&ga, rusage) = ru; - error = getrusage(p, &ga, retval); + error = getrusage(p, &ga); if (error) return error; tms.tms_utime = CONVTCK(ru->ru_utime); tms.tms_stime = CONVTCK(ru->ru_stime); SCARG(&ga, who) = RUSAGE_CHILDREN; - error = getrusage(p, &ga, retval); + error = getrusage(p, &ga); if (error) return error; tms.tms_cutime = CONVTCK(ru->ru_utime); tms.tms_cstime = CONVTCK(ru->ru_stime); microtime(&t); - *retval = CONVTCK(t); + p->p_retval[0] = CONVTCK(t); return copyout((caddr_t)&tms, (caddr_t)SCARG(uap, tp), sizeof(struct tms)); } int -ibcs2_stime(p, uap, retval) +ibcs2_stime(p, uap) struct proc *p; struct ibcs2_stime_args *uap; - int *retval; { int error; struct settimeofday_args sa; @@ -904,16 +883,15 @@ ibcs2_stime(p, uap, retval) &(SCARG(&sa, tv)->tv_sec), sizeof(long))) return error; SCARG(&sa, tv)->tv_usec = 0; - if (error = settimeofday(p, &sa, retval)) + if (error = settimeofday(p, &sa)) return EPERM; return 0; } int -ibcs2_utime(p, uap, retval) +ibcs2_utime(p, uap) struct proc *p; struct ibcs2_utime_args *uap; - int *retval; { int error; struct utimes_args sa; @@ -938,14 +916,13 @@ ibcs2_utime(p, uap, retval) tp->tv_usec = 0; } else SCARG(&sa, tptr) = NULL; - return utimes(p, &sa, retval); + return utimes(p, &sa); } int -ibcs2_nice(p, uap, retval) +ibcs2_nice(p, uap) struct proc *p; struct ibcs2_nice_args *uap; - int *retval; { int error; struct setpriority_args sa; @@ -953,9 +930,9 @@ ibcs2_nice(p, uap, retval) SCARG(&sa, which) = PRIO_PROCESS; SCARG(&sa, who) = 0; SCARG(&sa, prio) = p->p_nice + SCARG(uap, incr); - if (error = setpriority(p, &sa, retval)) + if (error = setpriority(p, &sa)) return EPERM; - *retval = p->p_nice; + p->p_retval[0] = p->p_nice; return 0; } @@ -964,14 +941,13 @@ ibcs2_nice(p, uap, retval) */ int -ibcs2_pgrpsys(p, uap, retval) +ibcs2_pgrpsys(p, uap) struct proc *p; struct ibcs2_pgrpsys_args *uap; - int *retval; { switch (SCARG(uap, type)) { case 0: /* getpgrp */ - *retval = p->p_pgrp->pg_id; + p->p_retval[0] = p->p_pgrp->pg_id; return 0; case 1: /* setpgrp */ @@ -980,8 +956,8 @@ ibcs2_pgrpsys(p, uap, retval) SCARG(&sa, pid) = 0; SCARG(&sa, pgid) = 0; - setpgid(p, &sa, retval); - *retval = p->p_pgrp->pg_id; + setpgid(p, &sa); + p->p_retval[0] = p->p_pgrp->pg_id; return 0; } @@ -991,11 +967,11 @@ ibcs2_pgrpsys(p, uap, retval) SCARG(&sa, pid) = SCARG(uap, pid); SCARG(&sa, pgid) = SCARG(uap, pgid); - return setpgid(p, &sa, retval); + return setpgid(p, &sa); } case 3: /* setsid */ - return setsid(p, NULL, retval); + return setsid(p, NULL); default: return EINVAL; @@ -1007,10 +983,9 @@ ibcs2_pgrpsys(p, uap, retval) */ int -ibcs2_plock(p, uap, retval) +ibcs2_plock(p, uap) struct proc *p; struct ibcs2_plock_args *uap; - int *retval; { int error; #define IBCS2_UNLOCK 0 @@ -1032,10 +1007,9 @@ ibcs2_plock(p, uap, retval) } int -ibcs2_uadmin(p, uap, retval) +ibcs2_uadmin(p, uap) struct proc *p; struct ibcs2_uadmin_args *uap; - int *retval; { #define SCO_A_REBOOT 1 #define SCO_A_SHUTDOWN 2 @@ -1067,11 +1041,11 @@ ibcs2_uadmin(p, uap, retval) case SCO_AD_PWRDOWN: case SCO_AD_PWRNAP: r.opt = RB_HALT; - reboot(p, &r, retval); + reboot(p, &r); case SCO_AD_BOOT: case SCO_AD_IBOOT: r.opt = RB_AUTOBOOT; - reboot(p, &r, retval); + reboot(p, &r); } return EINVAL; case SCO_A_REMOUNT: @@ -1085,10 +1059,9 @@ ibcs2_uadmin(p, uap, retval) } int -ibcs2_sysfs(p, uap, retval) +ibcs2_sysfs(p, uap) struct proc *p; struct ibcs2_sysfs_args *uap; - int *retval; { #define IBCS2_GETFSIND 1 #define IBCS2_GETFSTYP 2 @@ -1104,111 +1077,102 @@ ibcs2_sysfs(p, uap, retval) } int -ibcs2_unlink(p, uap, retval) +ibcs2_unlink(p, uap) struct proc *p; struct ibcs2_unlink_args *uap; - int *retval; { caddr_t sg = stackgap_init(); CHECKALTEXIST(p, &sg, SCARG(uap, path)); - return unlink(p, (struct unlink_args *)uap, retval); + return unlink(p, (struct unlink_args *)uap); } int -ibcs2_chdir(p, uap, retval) +ibcs2_chdir(p, uap) struct proc *p; struct ibcs2_chdir_args *uap; - int *retval; { caddr_t sg = stackgap_init(); CHECKALTEXIST(p, &sg, SCARG(uap, path)); - return chdir(p, (struct chdir_args *)uap, retval); + return chdir(p, (struct chdir_args *)uap); } int -ibcs2_chmod(p, uap, retval) +ibcs2_chmod(p, uap) struct proc *p; struct ibcs2_chmod_args *uap; - int *retval; { caddr_t sg = stackgap_init(); CHECKALTEXIST(p, &sg, SCARG(uap, path)); - return chmod(p, (struct chmod_args *)uap, retval); + return chmod(p, (struct chmod_args *)uap); } int -ibcs2_chown(p, uap, retval) +ibcs2_chown(p, uap) struct proc *p; struct ibcs2_chown_args *uap; - int *retval; { caddr_t sg = stackgap_init(); CHECKALTEXIST(p, &sg, SCARG(uap, path)); - return chown(p, (struct chown_args *)uap, retval); + return chown(p, (struct chown_args *)uap); } int -ibcs2_rmdir(p, uap, retval) +ibcs2_rmdir(p, uap) struct proc *p; struct ibcs2_rmdir_args *uap; - int *retval; { caddr_t sg = stackgap_init(); CHECKALTEXIST(p, &sg, SCARG(uap, path)); - return rmdir(p, (struct rmdir_args *)uap, retval); + return rmdir(p, (struct rmdir_args *)uap); } int -ibcs2_mkdir(p, uap, retval) +ibcs2_mkdir(p, uap) struct proc *p; struct ibcs2_mkdir_args *uap; - int *retval; { caddr_t sg = stackgap_init(); CHECKALTCREAT(p, &sg, SCARG(uap, path)); - return mkdir(p, (struct mkdir_args *)uap, retval); + return mkdir(p, (struct mkdir_args *)uap); } int -ibcs2_symlink(p, uap, retval) +ibcs2_symlink(p, uap) struct proc *p; struct ibcs2_symlink_args *uap; - int *retval; { caddr_t sg = stackgap_init(); CHECKALTEXIST(p, &sg, SCARG(uap, path)); CHECKALTCREAT(p, &sg, SCARG(uap, link)); - return symlink(p, (struct symlink_args *)uap, retval); + return symlink(p, (struct symlink_args *)uap); } int -ibcs2_rename(p, uap, retval) +ibcs2_rename(p, uap) struct proc *p; struct ibcs2_rename_args *uap; - int *retval; { caddr_t sg = stackgap_init(); CHECKALTEXIST(p, &sg, SCARG(uap, from)); CHECKALTCREAT(p, &sg, SCARG(uap, to)); - return rename(p, (struct rename_args *)uap, retval); + return rename(p, (struct rename_args *)uap); } int -ibcs2_readlink(p, uap, retval) +ibcs2_readlink(p, uap) struct proc *p; struct ibcs2_readlink_args *uap; - int *retval; { caddr_t sg = stackgap_init(); CHECKALTEXIST(p, &sg, SCARG(uap, path)); - return readlink(p, (struct readlink_args *) uap, retval); + return readlink(p, (struct readlink_args *) uap); } diff --git a/sys/i386/ibcs2/ibcs2_msg.c b/sys/i386/ibcs2/ibcs2_msg.c index 8617190..ba2af2d 100644 --- a/sys/i386/ibcs2/ibcs2_msg.c +++ b/sys/i386/ibcs2/ibcs2_msg.c @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ibcs2_msg.c,v 1.3 1997/02/22 09:33:23 peter Exp $ + * $Id: ibcs2_msg.c,v 1.4 1997/07/20 09:39:44 bde Exp $ */ /* @@ -41,29 +41,26 @@ int -ibcs2_getmsg(p, uap, retval) +ibcs2_getmsg(p, uap) struct proc *p; struct ibcs2_getmsg_args *uap; - int *retval; { return 0; /* fake */ } int -ibcs2_putmsg(p, uap, retval) +ibcs2_putmsg(p, uap) struct proc *p; struct ibcs2_putmsg_args *uap; - int *retval; { return 0; /* fake */ } int -ibcs2_poll(p, uap, retval) +ibcs2_poll(p, uap) struct proc *p; struct ibcs2_poll_args *uap; - int *retval; { int error, i; fd_set *readfds, *writefds, *exceptfds; @@ -110,12 +107,12 @@ ibcs2_poll(p, uap, retval) FD_SET(conv.fd, writefds); FD_SET(conv.fd, exceptfds); } - if (error = select(p, &tmp_select, retval)) + if (error = select(p, &tmp_select)) return error; - if (*retval == 0) + if (p->p_retval[0] == 0) return 0; - *retval = 0; - for (*retval = 0, i = 0; i < uap->nfds; i++) { + p->p_retval[0] = 0; + for (p->p_retval[0] = 0, i = 0; i < uap->nfds; i++) { copyin(uap->fds + i*sizeof(struct ibcs2_poll), &conv, sizeof(conv)); conv.revents = 0; @@ -130,7 +127,7 @@ ibcs2_poll(p, uap, retval) if (FD_ISSET(conv.fd, exceptfds)) conv.revents |= IBCS2_POLLERR; if (conv.revents) - ++*retval; + ++p->p_retval[0]; } if (error = copyout(&conv, uap->fds + i*sizeof(struct ibcs2_poll), diff --git a/sys/i386/ibcs2/ibcs2_other.c b/sys/i386/ibcs2/ibcs2_other.c index 21e9f28..621a382 100644 --- a/sys/i386/ibcs2/ibcs2_other.c +++ b/sys/i386/ibcs2/ibcs2_other.c @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ibcs2_other.c,v 1.6 1997/07/20 09:39:45 bde Exp $ + * $Id: ibcs2_other.c,v 1.7 1997/08/25 21:57:55 bde Exp $ */ /* @@ -41,12 +41,12 @@ #define IBCS2_SECURE_SETLUID 2 int -ibcs2_secure(struct proc *p, struct ibcs2_secure_args *uap, int *retval) +ibcs2_secure(struct proc *p, struct ibcs2_secure_args *uap) { switch (uap->cmd) { case IBCS2_SECURE_GETLUID: /* get login uid */ - *retval = p->p_ucred->cr_uid; + p->p_retval[0] = p->p_ucred->cr_uid; return 0; case IBCS2_SECURE_SETLUID: /* set login uid */ @@ -60,17 +60,15 @@ ibcs2_secure(struct proc *p, struct ibcs2_secure_args *uap, int *retval) } int -ibcs2_lseek(struct proc *p, register struct ibcs2_lseek_args *uap, int *retval) +ibcs2_lseek(struct proc *p, register struct ibcs2_lseek_args *uap) { struct lseek_args largs; - off_t lret; int error; largs.fd = uap->fd; largs.offset = uap->offset; largs.whence = uap->whence; - error = lseek(p, &largs, (int *)&lret); - *(long *)retval = lret; + error = lseek(p, &largs); return (error); } @@ -79,7 +77,7 @@ ibcs2_lseek(struct proc *p, register struct ibcs2_lseek_args *uap, int *retval) #include int -spx_open(struct proc *p, void *uap, int *retval) +spx_open(struct proc *p, void *uap) { struct socket_args sock; struct connect_args conn; @@ -92,7 +90,7 @@ spx_open(struct proc *p, void *uap, int *retval) sock.domain = AF_UNIX; sock.type = SOCK_STREAM; sock.protocol = 0; - error = socket(p, &sock, retval); + error = socket(p, &sock); if (error) return error; @@ -104,17 +102,17 @@ spx_open(struct proc *p, void *uap, int *retval) strlen(Xaddr->sun_path) + 1; copyout("/tmp/.X11-unix/X0", Xaddr->sun_path, 18); - conn.s = fd = *retval; + conn.s = fd = p->p_retval[0]; conn.name = (caddr_t)Xaddr; conn.namelen = sizeof(struct sockaddr_un); - error = connect(p, &conn, retval); + error = connect(p, &conn); if (error) { struct close_args cl; cl.fd = fd; - close(p, &cl, retval); + close(p, &cl); return error; } - *retval = fd; + p->p_retval[0] = fd; return 0; } #endif /* SPX_HACK */ diff --git a/sys/i386/ibcs2/ibcs2_proto.h b/sys/i386/ibcs2/ibcs2_proto.h index 06d4351..75ea03e 100644 --- a/sys/i386/ibcs2/ibcs2_proto.h +++ b/sys/i386/ibcs2/ibcs2_proto.h @@ -265,62 +265,62 @@ struct ibcs2_readlink_args { struct ibcs2_isc_args { int dummy; }; -int ibcs2_read __P((struct proc *, struct ibcs2_read_args *, int [])); -int ibcs2_open __P((struct proc *, struct ibcs2_open_args *, int [])); -int ibcs2_wait __P((struct proc *, struct ibcs2_wait_args *, int [])); -int ibcs2_creat __P((struct proc *, struct ibcs2_creat_args *, int [])); -int ibcs2_unlink __P((struct proc *, struct ibcs2_unlink_args *, int [])); -int ibcs2_execv __P((struct proc *, struct ibcs2_execv_args *, int [])); -int ibcs2_chdir __P((struct proc *, struct ibcs2_chdir_args *, int [])); -int ibcs2_time __P((struct proc *, struct ibcs2_time_args *, int [])); -int ibcs2_mknod __P((struct proc *, struct ibcs2_mknod_args *, int [])); -int ibcs2_chmod __P((struct proc *, struct ibcs2_chmod_args *, int [])); -int ibcs2_chown __P((struct proc *, struct ibcs2_chown_args *, int [])); -int ibcs2_stat __P((struct proc *, struct ibcs2_stat_args *, int [])); -int ibcs2_lseek __P((struct proc *, struct ibcs2_lseek_args *, int [])); -int ibcs2_mount __P((struct proc *, struct ibcs2_mount_args *, int [])); -int ibcs2_umount __P((struct proc *, struct ibcs2_umount_args *, int [])); -int ibcs2_setuid __P((struct proc *, struct ibcs2_setuid_args *, int [])); -int ibcs2_stime __P((struct proc *, struct ibcs2_stime_args *, int [])); -int ibcs2_alarm __P((struct proc *, struct ibcs2_alarm_args *, int [])); -int ibcs2_fstat __P((struct proc *, struct ibcs2_fstat_args *, int [])); -int ibcs2_pause __P((struct proc *, struct ibcs2_pause_args *, int [])); -int ibcs2_utime __P((struct proc *, struct ibcs2_utime_args *, int [])); -int ibcs2_stty __P((struct proc *, struct ibcs2_stty_args *, int [])); -int ibcs2_gtty __P((struct proc *, struct ibcs2_gtty_args *, int [])); -int ibcs2_access __P((struct proc *, struct ibcs2_access_args *, int [])); -int ibcs2_nice __P((struct proc *, struct ibcs2_nice_args *, int [])); -int ibcs2_statfs __P((struct proc *, struct ibcs2_statfs_args *, int [])); -int ibcs2_kill __P((struct proc *, struct ibcs2_kill_args *, int [])); -int ibcs2_fstatfs __P((struct proc *, struct ibcs2_fstatfs_args *, int [])); -int ibcs2_pgrpsys __P((struct proc *, struct ibcs2_pgrpsys_args *, int [])); -int ibcs2_xenix __P((struct proc *, struct ibcs2_xenix_args *, int [])); -int ibcs2_times __P((struct proc *, struct ibcs2_times_args *, int [])); -int ibcs2_plock __P((struct proc *, struct ibcs2_plock_args *, int [])); -int ibcs2_setgid __P((struct proc *, struct ibcs2_setgid_args *, int [])); -int ibcs2_sigsys __P((struct proc *, struct ibcs2_sigsys_args *, int [])); -int ibcs2_msgsys __P((struct proc *, struct ibcs2_msgsys_args *, int [])); -int ibcs2_sysi86 __P((struct proc *, struct ibcs2_sysi86_args *, int [])); -int ibcs2_shmsys __P((struct proc *, struct ibcs2_shmsys_args *, int [])); -int ibcs2_semsys __P((struct proc *, struct ibcs2_semsys_args *, int [])); -int ibcs2_ioctl __P((struct proc *, struct ibcs2_ioctl_args *, int [])); -int ibcs2_uadmin __P((struct proc *, struct ibcs2_uadmin_args *, int [])); -int ibcs2_utssys __P((struct proc *, struct ibcs2_utssys_args *, int [])); -int ibcs2_execve __P((struct proc *, struct ibcs2_execve_args *, int [])); -int ibcs2_fcntl __P((struct proc *, struct ibcs2_fcntl_args *, int [])); -int ibcs2_ulimit __P((struct proc *, struct ibcs2_ulimit_args *, int [])); -int ibcs2_rmdir __P((struct proc *, struct ibcs2_rmdir_args *, int [])); -int ibcs2_mkdir __P((struct proc *, struct ibcs2_mkdir_args *, int [])); -int ibcs2_getdents __P((struct proc *, struct ibcs2_getdents_args *, int [])); -int ibcs2_sysfs __P((struct proc *, struct ibcs2_sysfs_args *, int [])); -int ibcs2_getmsg __P((struct proc *, struct ibcs2_getmsg_args *, int [])); -int ibcs2_putmsg __P((struct proc *, struct ibcs2_putmsg_args *, int [])); -int ibcs2_poll __P((struct proc *, struct ibcs2_poll_args *, int [])); -int ibcs2_secure __P((struct proc *, struct ibcs2_secure_args *, int [])); -int ibcs2_symlink __P((struct proc *, struct ibcs2_symlink_args *, int [])); -int ibcs2_lstat __P((struct proc *, struct ibcs2_lstat_args *, int [])); -int ibcs2_readlink __P((struct proc *, struct ibcs2_readlink_args *, int [])); -int ibcs2_isc __P((struct proc *, struct ibcs2_isc_args *, int [])); +int ibcs2_read __P((struct proc *, struct ibcs2_read_args *)); +int ibcs2_open __P((struct proc *, struct ibcs2_open_args *)); +int ibcs2_wait __P((struct proc *, struct ibcs2_wait_args *)); +int ibcs2_creat __P((struct proc *, struct ibcs2_creat_args *)); +int ibcs2_unlink __P((struct proc *, struct ibcs2_unlink_args *)); +int ibcs2_execv __P((struct proc *, struct ibcs2_execv_args *)); +int ibcs2_chdir __P((struct proc *, struct ibcs2_chdir_args *)); +int ibcs2_time __P((struct proc *, struct ibcs2_time_args *)); +int ibcs2_mknod __P((struct proc *, struct ibcs2_mknod_args *)); +int ibcs2_chmod __P((struct proc *, struct ibcs2_chmod_args *)); +int ibcs2_chown __P((struct proc *, struct ibcs2_chown_args *)); +int ibcs2_stat __P((struct proc *, struct ibcs2_stat_args *)); +int ibcs2_lseek __P((struct proc *, struct ibcs2_lseek_args *)); +int ibcs2_mount __P((struct proc *, struct ibcs2_mount_args *)); +int ibcs2_umount __P((struct proc *, struct ibcs2_umount_args *)); +int ibcs2_setuid __P((struct proc *, struct ibcs2_setuid_args *)); +int ibcs2_stime __P((struct proc *, struct ibcs2_stime_args *)); +int ibcs2_alarm __P((struct proc *, struct ibcs2_alarm_args *)); +int ibcs2_fstat __P((struct proc *, struct ibcs2_fstat_args *)); +int ibcs2_pause __P((struct proc *, struct ibcs2_pause_args *)); +int ibcs2_utime __P((struct proc *, struct ibcs2_utime_args *)); +int ibcs2_stty __P((struct proc *, struct ibcs2_stty_args *)); +int ibcs2_gtty __P((struct proc *, struct ibcs2_gtty_args *)); +int ibcs2_access __P((struct proc *, struct ibcs2_access_args *)); +int ibcs2_nice __P((struct proc *, struct ibcs2_nice_args *)); +int ibcs2_statfs __P((struct proc *, struct ibcs2_statfs_args *)); +int ibcs2_kill __P((struct proc *, struct ibcs2_kill_args *)); +int ibcs2_fstatfs __P((struct proc *, struct ibcs2_fstatfs_args *)); +int ibcs2_pgrpsys __P((struct proc *, struct ibcs2_pgrpsys_args *)); +int ibcs2_xenix __P((struct proc *, struct ibcs2_xenix_args *)); +int ibcs2_times __P((struct proc *, struct ibcs2_times_args *)); +int ibcs2_plock __P((struct proc *, struct ibcs2_plock_args *)); +int ibcs2_setgid __P((struct proc *, struct ibcs2_setgid_args *)); +int ibcs2_sigsys __P((struct proc *, struct ibcs2_sigsys_args *)); +int ibcs2_msgsys __P((struct proc *, struct ibcs2_msgsys_args *)); +int ibcs2_sysi86 __P((struct proc *, struct ibcs2_sysi86_args *)); +int ibcs2_shmsys __P((struct proc *, struct ibcs2_shmsys_args *)); +int ibcs2_semsys __P((struct proc *, struct ibcs2_semsys_args *)); +int ibcs2_ioctl __P((struct proc *, struct ibcs2_ioctl_args *)); +int ibcs2_uadmin __P((struct proc *, struct ibcs2_uadmin_args *)); +int ibcs2_utssys __P((struct proc *, struct ibcs2_utssys_args *)); +int ibcs2_execve __P((struct proc *, struct ibcs2_execve_args *)); +int ibcs2_fcntl __P((struct proc *, struct ibcs2_fcntl_args *)); +int ibcs2_ulimit __P((struct proc *, struct ibcs2_ulimit_args *)); +int ibcs2_rmdir __P((struct proc *, struct ibcs2_rmdir_args *)); +int ibcs2_mkdir __P((struct proc *, struct ibcs2_mkdir_args *)); +int ibcs2_getdents __P((struct proc *, struct ibcs2_getdents_args *)); +int ibcs2_sysfs __P((struct proc *, struct ibcs2_sysfs_args *)); +int ibcs2_getmsg __P((struct proc *, struct ibcs2_getmsg_args *)); +int ibcs2_putmsg __P((struct proc *, struct ibcs2_putmsg_args *)); +int ibcs2_poll __P((struct proc *, struct ibcs2_poll_args *)); +int ibcs2_secure __P((struct proc *, struct ibcs2_secure_args *)); +int ibcs2_symlink __P((struct proc *, struct ibcs2_symlink_args *)); +int ibcs2_lstat __P((struct proc *, struct ibcs2_lstat_args *)); +int ibcs2_readlink __P((struct proc *, struct ibcs2_readlink_args *)); +int ibcs2_isc __P((struct proc *, struct ibcs2_isc_args *)); #ifdef COMPAT_43 diff --git a/sys/i386/ibcs2/ibcs2_signal.c b/sys/i386/ibcs2/ibcs2_signal.c index b94a373..432858d 100644 --- a/sys/i386/ibcs2/ibcs2_signal.c +++ b/sys/i386/ibcs2/ibcs2_signal.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ibcs2_signal.c,v 1.10 1997/03/24 11:23:32 bde Exp $ + * $Id: ibcs2_signal.c,v 1.11 1997/07/20 09:39:46 bde Exp $ */ #include @@ -186,10 +186,9 @@ bsd_to_ibcs2_sigaction(bsa, isa) } int -ibcs2_sigaction(p, uap, retval) +ibcs2_sigaction(p, uap) register struct proc *p; struct ibcs2_sigaction_args *uap; - int *retval; { struct ibcs2_sigaction *nisa, *oisa, tmpisa; struct sigaction *nbsa, *obsa, tmpbsa; @@ -220,7 +219,7 @@ ibcs2_sigaction(p, uap, retval) SCARG(&sa, nsa) = nbsa; SCARG(&sa, osa) = obsa; - if ((error = sigaction(p, &sa, retval)) != 0) + if ((error = sigaction(p, &sa)) != 0) return error; if (oisa != NULL) { @@ -235,10 +234,9 @@ ibcs2_sigaction(p, uap, retval) } int -ibcs2_sigsys(p, uap, retval) +ibcs2_sigsys(p, uap) register struct proc *p; struct ibcs2_sigsys_args *uap; - int *retval; { struct sigaction sa; int signum = ibcs2_to_bsd_sig[IBCS2_SIGNO(SCARG(uap, sig))]; @@ -248,7 +246,7 @@ ibcs2_sigsys(p, uap, retval) if (signum <= 0 || signum >= IBCS2_NSIG) { if (IBCS2_SIGCALL(SCARG(uap, sig)) == IBCS2_SIGNAL_MASK || IBCS2_SIGCALL(SCARG(uap, sig)) == IBCS2_SIGSET_MASK) - *retval = (int)IBCS2_SIG_ERR; + p->p_retval[0] = (int)IBCS2_SIG_ERR; return EINVAL; } @@ -271,7 +269,7 @@ ibcs2_sigsys(p, uap, retval) SCARG(&sa, how) = SIG_BLOCK; SCARG(&sa, mask) = sigmask(signum); - return sigprocmask(p, &sa, retval); + return sigprocmask(p, &sa); } case IBCS2_SIGNAL_MASK: @@ -301,26 +299,26 @@ ibcs2_sigsys(p, uap, retval) if (signum != SIGALRM) sa.sa_flags |= SA_RESTART; #endif - *retval = (int)IBCS2_SIG_ERR; /* init error return */ + p->p_retval[0] = (int)IBCS2_SIG_ERR; /* init error return */ /* perform native sigaction() */ if ((error = copyout(&sa, nbsa, sizeof(sa))) != 0) return error; - if ((error = sigaction(p, &sa_args, retval)) != 0) { + if ((error = sigaction(p, &sa_args)) != 0) { DPRINTF(("signal: sigaction failed: %d\n", error)); return error; } if ((error = copyin(obsa, &sa, sizeof(sa))) != 0) return error; - *retval = (int)sa.sa_handler; + p->p_retval[0] = (int)sa.sa_handler; /* special sigset() check */ if(IBCS2_SIGCALL(SCARG(uap, sig)) == IBCS2_SIGSET_MASK) /* check to make sure signal is not blocked */ if(sigismember(&p->p_sigmask, signum)) { /* return SIG_HOLD and unblock signal*/ - *retval = (int)IBCS2_SIG_HOLD; + p->p_retval[0] = (int)IBCS2_SIG_HOLD; p->p_sigmask &= ~sigmask(signum); } @@ -333,7 +331,7 @@ ibcs2_sigsys(p, uap, retval) SCARG(&sa, how) = SIG_UNBLOCK; SCARG(&sa, mask) = sigmask(signum); - return sigprocmask(p, &sa, retval); + return sigprocmask(p, &sa); } case IBCS2_SIGIGNORE_MASK: @@ -351,7 +349,7 @@ ibcs2_sigsys(p, uap, retval) sa.sa_flags = 0; if ((error = copyout(&sa, bsa, sizeof(sa))) != 0) return error; - if ((error = sigaction(p, &sa_args, retval)) != 0) { + if ((error = sigaction(p, &sa_args)) != 0) { DPRINTF(("sigignore: sigaction failed\n")); return error; } @@ -363,7 +361,7 @@ ibcs2_sigsys(p, uap, retval) struct sigsuspend_args sa; SCARG(&sa, mask) = p->p_sigmask &~ sigmask(signum); - return sigsuspend(p, &sa, retval); + return sigsuspend(p, &sa); } default: @@ -372,10 +370,9 @@ ibcs2_sigsys(p, uap, retval) } int -ibcs2_sigprocmask(p, uap, retval) +ibcs2_sigprocmask(p, uap) register struct proc *p; struct ibcs2_sigprocmask_args *uap; - int *retval; { ibcs2_sigset_t iss; sigset_t bss; @@ -423,10 +420,9 @@ ibcs2_sigprocmask(p, uap, retval) } int -ibcs2_sigpending(p, uap, retval) +ibcs2_sigpending(p, uap) register struct proc *p; struct ibcs2_sigpending_args *uap; - int *retval; { sigset_t bss; ibcs2_sigset_t iss; @@ -438,10 +434,9 @@ ibcs2_sigpending(p, uap, retval) } int -ibcs2_sigsuspend(p, uap, retval) +ibcs2_sigsuspend(p, uap) register struct proc *p; struct ibcs2_sigsuspend_args *uap; - int *retval; { ibcs2_sigset_t sss; sigset_t bss; @@ -454,30 +449,28 @@ ibcs2_sigsuspend(p, uap, retval) ibcs2_to_bsd_sigset(&sss, &bss); SCARG(&sa, mask) = bss; - return sigsuspend(p, &sa, retval); + return sigsuspend(p, &sa); } int -ibcs2_pause(p, uap, retval) +ibcs2_pause(p, uap) register struct proc *p; struct ibcs2_pause_args *uap; - int *retval; { struct sigsuspend_args bsa; SCARG(&bsa, mask) = p->p_sigmask; - return sigsuspend(p, &bsa, retval); + return sigsuspend(p, &bsa); } int -ibcs2_kill(p, uap, retval) +ibcs2_kill(p, uap) register struct proc *p; struct ibcs2_kill_args *uap; - int *retval; { struct kill_args ka; SCARG(&ka, pid) = SCARG(uap, pid); SCARG(&ka, signum) = ibcs2_to_bsd_sig[SCARG(uap, signo)]; - return kill(p, &ka, retval); + return kill(p, &ka); } diff --git a/sys/i386/ibcs2/ibcs2_socksys.c b/sys/i386/ibcs2/ibcs2_socksys.c index eade7e0..e52bd2c 100644 --- a/sys/i386/ibcs2/ibcs2_socksys.c +++ b/sys/i386/ibcs2/ibcs2_socksys.c @@ -45,19 +45,18 @@ struct setipdomainname_args { /* Local prototypes */ static int ibcs2_getipdomainname __P((struct proc *, - struct getipdomainname_args *, int *)); + struct getipdomainname_args *)); static int ibcs2_setipdomainname __P((struct proc *, - struct setipdomainname_args *, int *)); + struct setipdomainname_args *)); /* * iBCS2 socksys calls. */ int -ibcs2_socksys(p, uap, retval) +ibcs2_socksys(p, uap) register struct proc *p; register struct ibcs2_socksys_args *uap; - int *retval; { int error; int realargs[7]; /* 1 for command, 6 for recvfrom */ @@ -78,55 +77,55 @@ ibcs2_socksys(p, uap, retval) passargs = (void *)(realargs + 1); switch (realargs[0]) { case SOCKSYS_ACCEPT: - return accept(p, passargs, retval); + return accept(p, passargs); case SOCKSYS_BIND: - return bind(p, passargs, retval); + return bind(p, passargs); case SOCKSYS_CONNECT: - return connect(p, passargs, retval); + return connect(p, passargs); case SOCKSYS_GETPEERNAME: - return getpeername(p, passargs, retval); + return getpeername(p, passargs); case SOCKSYS_GETSOCKNAME: - return getsockname(p, passargs, retval); + return getsockname(p, passargs); case SOCKSYS_GETSOCKOPT: - return getsockopt(p, passargs, retval); + return getsockopt(p, passargs); case SOCKSYS_LISTEN: - return listen(p, passargs, retval); + return listen(p, passargs); case SOCKSYS_RECV: realargs[5] = realargs[6] = 0; /* FALLTHROUGH */ case SOCKSYS_RECVFROM: - return recvfrom(p, passargs, retval); + return recvfrom(p, passargs); case SOCKSYS_SEND: realargs[5] = realargs[6] = 0; /* FALLTHROUGH */ case SOCKSYS_SENDTO: - return sendto(p, passargs, retval); + return sendto(p, passargs); case SOCKSYS_SETSOCKOPT: - return setsockopt(p, passargs, retval); + return setsockopt(p, passargs); case SOCKSYS_SHUTDOWN: - return shutdown(p, passargs, retval); + return shutdown(p, passargs); case SOCKSYS_SOCKET: - return socket(p, passargs, retval); + return socket(p, passargs); case SOCKSYS_SELECT: - return select(p, passargs, retval); + return select(p, passargs); case SOCKSYS_GETIPDOMAIN: - return ibcs2_getipdomainname(p, passargs, retval); + return ibcs2_getipdomainname(p, passargs); case SOCKSYS_SETIPDOMAIN: - return ibcs2_setipdomainname(p, passargs, retval); + return ibcs2_setipdomainname(p, passargs); case SOCKSYS_ADJTIME: - return adjtime(p, passargs, retval); + return adjtime(p, passargs); case SOCKSYS_SETREUID: - return setreuid(p, passargs, retval); + return setreuid(p, passargs); case SOCKSYS_SETREGID: - return setregid(p, passargs, retval); + return setregid(p, passargs); case SOCKSYS_GETTIME: - return gettimeofday(p, passargs, retval); + return gettimeofday(p, passargs); case SOCKSYS_SETTIME: - return settimeofday(p, passargs, retval); + return settimeofday(p, passargs); case SOCKSYS_GETITIMER: - return getitimer(p, passargs, retval); + return getitimer(p, passargs); case SOCKSYS_SETITIMER: - return setitimer(p, passargs, retval); + return setitimer(p, passargs); default: printf("socksys unknown %08x %08x %08x %08x %08x %08x %08x\n", @@ -139,10 +138,9 @@ ibcs2_socksys(p, uap, retval) /* ARGSUSED */ static int -ibcs2_getipdomainname(p, uap, retval) +ibcs2_getipdomainname(p, uap) struct proc *p; struct getipdomainname_args *uap; - int *retval; { char hname[MAXHOSTNAMELEN], *dptr; int len; @@ -164,10 +162,9 @@ ibcs2_getipdomainname(p, uap, retval) /* ARGSUSED */ static int -ibcs2_setipdomainname(p, uap, retval) +ibcs2_setipdomainname(p, uap) struct proc *p; struct setipdomainname_args *uap; - int *retval; { char hname[MAXHOSTNAMELEN], *ptr; int error, sctl[2], hlen; diff --git a/sys/i386/ibcs2/ibcs2_socksys.h b/sys/i386/ibcs2/ibcs2_socksys.h index 3335805..f6b212e 100644 --- a/sys/i386/ibcs2/ibcs2_socksys.h +++ b/sys/i386/ibcs2/ibcs2_socksys.h @@ -121,6 +121,6 @@ struct ibcs2_socksys_args { caddr_t argsp; }; -int ibcs2_socksys __P((struct proc *, struct ibcs2_socksys_args *, int *)); +int ibcs2_socksys __P((struct proc *, struct ibcs2_socksys_args *)); #endif /* !_I386_IBCS2_IBCS2_SOCKSYS_H_ */ diff --git a/sys/i386/ibcs2/ibcs2_stat.c b/sys/i386/ibcs2/ibcs2_stat.c index 88231ee..febf4d2 100644 --- a/sys/i386/ibcs2/ibcs2_stat.c +++ b/sys/i386/ibcs2/ibcs2_stat.c @@ -92,10 +92,9 @@ cvt_statfs(sp, buf, len) } int -ibcs2_statfs(p, uap, retval) +ibcs2_statfs(p, uap) struct proc *p; struct ibcs2_statfs_args *uap; - int *retval; { register struct mount *mp; register struct statfs *sp; @@ -117,10 +116,9 @@ ibcs2_statfs(p, uap, retval) } int -ibcs2_fstatfs(p, uap, retval) +ibcs2_fstatfs(p, uap) struct proc *p; struct ibcs2_fstatfs_args *uap; - int *retval; { struct file *fp; struct mount *mp; @@ -138,10 +136,9 @@ ibcs2_fstatfs(p, uap, retval) } int -ibcs2_stat(p, uap, retval) +ibcs2_stat(p, uap) struct proc *p; struct ibcs2_stat_args *uap; - int *retval; { struct stat st; struct ibcs2_stat ibcs2_st; @@ -153,7 +150,7 @@ ibcs2_stat(p, uap, retval) SCARG(&cup, path) = SCARG(uap, path); SCARG(&cup, ub) = stackgap_alloc(&sg, sizeof(st)); - if (error = stat(p, &cup, retval)) + if (error = stat(p, &cup)) return error; if (error = copyin(SCARG(&cup, ub), &st, sizeof(st))) @@ -164,10 +161,9 @@ ibcs2_stat(p, uap, retval) } int -ibcs2_lstat(p, uap, retval) +ibcs2_lstat(p, uap) struct proc *p; struct ibcs2_lstat_args *uap; - int *retval; { struct stat st; struct ibcs2_stat ibcs2_st; @@ -179,7 +175,7 @@ ibcs2_lstat(p, uap, retval) SCARG(&cup, path) = SCARG(uap, path); SCARG(&cup, ub) = stackgap_alloc(&sg, sizeof(st)); - if (error = lstat(p, &cup, retval)) + if (error = lstat(p, &cup)) return error; if (error = copyin(SCARG(&cup, ub), &st, sizeof(st))) @@ -190,10 +186,9 @@ ibcs2_lstat(p, uap, retval) } int -ibcs2_fstat(p, uap, retval) +ibcs2_fstat(p, uap) struct proc *p; struct ibcs2_fstat_args *uap; - int *retval; { struct stat st; struct ibcs2_stat ibcs2_st; @@ -204,7 +199,7 @@ ibcs2_fstat(p, uap, retval) SCARG(&cup, fd) = SCARG(uap, fd); SCARG(&cup, sb) = stackgap_alloc(&sg, sizeof(st)); - if (error = fstat(p, &cup, retval)) + if (error = fstat(p, &cup)) return error; if (error = copyin(SCARG(&cup, sb), &st, sizeof(st))) @@ -215,10 +210,9 @@ ibcs2_fstat(p, uap, retval) } int -ibcs2_utssys(p, uap, retval) +ibcs2_utssys(p, uap) struct proc *p; struct ibcs2_utssys_args *uap; - int *retval; { switch (SCARG(uap, flag)) { case 0: /* uname(2) */ diff --git a/sys/i386/ibcs2/ibcs2_sysi86.c b/sys/i386/ibcs2/ibcs2_sysi86.c index a4baef1..ba9c12f 100644 --- a/sys/i386/ibcs2/ibcs2_sysi86.c +++ b/sys/i386/ibcs2/ibcs2_sysi86.c @@ -51,7 +51,7 @@ extern int hw_float; int -ibcs2_sysi86(struct proc *p, struct ibcs2_sysi86_args *args, int *retval) +ibcs2_sysi86(struct proc *p, struct ibcs2_sysi86_args *args) { switch (SCARG(args, cmd)) { case SI86_FPHW: { /* Floating Point information */ @@ -82,7 +82,7 @@ ibcs2_sysi86(struct proc *p, struct ibcs2_sysi86_args *args, int *retval) } case SI86_MEM: /* size of physical memory */ - *retval = ctob(physmem); + p->p_retval[0] = ctob(physmem); return 0; default: diff --git a/sys/i386/ibcs2/ibcs2_util.h b/sys/i386/ibcs2/ibcs2_util.h index e335a7e..e616234 100644 --- a/sys/i386/ibcs2/ibcs2_util.h +++ b/sys/i386/ibcs2/ibcs2_util.h @@ -92,7 +92,7 @@ int ibcs2_emul_find __P((struct proc *, caddr_t *, const char *, char *, ibcs2_emul_find(p, sgp, ibcs2_emul_path, path, &(path), 1) #ifdef SPX_HACK -int spx_open __P((struct proc *p, void *uap, int *retval)); +int spx_open __P((struct proc *p, void *uap)); #endif #endif /* !_IBCS2_UTIL_H_ */ diff --git a/sys/i386/ibcs2/ibcs2_xenix.c b/sys/i386/ibcs2/ibcs2_xenix.c index 6476e79..8e93285 100644 --- a/sys/i386/ibcs2/ibcs2_xenix.c +++ b/sys/i386/ibcs2/ibcs2_xenix.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ibcs2_xenix.c,v 1.12 1997/06/22 19:04:03 sef Exp $ + * $Id: ibcs2_xenix.c,v 1.13 1997/07/20 09:39:50 bde Exp $ */ #include @@ -52,7 +52,7 @@ extern struct sysent xenix_sysent[]; int -ibcs2_xenix(struct proc *p, struct ibcs2_xenix_args *uap, int *retval) +ibcs2_xenix(struct proc *p, struct ibcs2_xenix_args *uap) { struct trapframe *tf = p->p_md.md_regs; struct sysent *callp; @@ -62,16 +62,15 @@ ibcs2_xenix(struct proc *p, struct ibcs2_xenix_args *uap, int *retval) callp = &xenix_sysent[code]; if(code < IBCS2_XENIX_MAXSYSCALL) - return((*callp->sy_call)(p, (void *)uap, retval)); + return((*callp->sy_call)(p, (void *)uap)); else return ENOSYS; } int -xenix_rdchk(p, uap, retval) +xenix_rdchk(p, uap) struct proc *p; struct xenix_rdchk_args *uap; - int *retval; { int error; struct ioctl_args sa; @@ -81,17 +80,16 @@ xenix_rdchk(p, uap, retval) SCARG(&sa, fd) = SCARG(uap, fd); SCARG(&sa, com) = FIONREAD; SCARG(&sa, data) = stackgap_alloc(&sg, sizeof(int)); - if (error = ioctl(p, &sa, retval)) + if (error = ioctl(p, &sa)) return error; - *retval = (*((int*)SCARG(&sa, data))) ? 1 : 0; + p->p_retval[0] = (*((int*)SCARG(&sa, data))) ? 1 : 0; return 0; } int -xenix_chsize(p, uap, retval) +xenix_chsize(p, uap) struct proc *p; struct xenix_chsize_args *uap; - int *retval; { struct ftruncate_args sa; @@ -99,15 +97,14 @@ xenix_chsize(p, uap, retval) SCARG(&sa, fd) = SCARG(uap, fd); SCARG(&sa, pad) = 0; SCARG(&sa, length) = SCARG(uap, size); - return ftruncate(p, &sa, retval); + return ftruncate(p, &sa); } int -xenix_ftime(p, uap, retval) +xenix_ftime(p, uap) struct proc *p; struct xenix_ftime_args *uap; - int *retval; { struct timeval tv; struct ibcs2_timeb { @@ -129,7 +126,7 @@ xenix_ftime(p, uap, retval) } int -xenix_nap(struct proc *p, struct xenix_nap_args *uap, int *retval) +xenix_nap(struct proc *p, struct xenix_nap_args *uap) { long period; @@ -142,7 +139,7 @@ xenix_nap(struct proc *p, struct xenix_nap_args *uap, int *retval) } int -xenix_utsname(struct proc *p, struct xenix_utsname_args *uap, int *retval) +xenix_utsname(struct proc *p, struct xenix_utsname_args *uap) { struct ibcs2_sco_utsname { char sysname[9]; @@ -176,15 +173,15 @@ xenix_utsname(struct proc *p, struct xenix_utsname_args *uap, int *retval) } int -xenix_scoinfo(struct proc *p, struct xenix_scoinfo_args *uap, int *retval) +xenix_scoinfo(struct proc *p, struct xenix_scoinfo_args *uap) { /* scoinfo (not documented) */ - *retval = 0; + p->p_retval[0] = 0; return 0; } int -xenix_eaccess(struct proc *p, struct xenix_eaccess_args *uap, int *retval) +xenix_eaccess(struct proc *p, struct xenix_eaccess_args *uap) { struct ucred *cred = p->p_ucred; struct vnode *vp; diff --git a/sys/i386/ibcs2/ibcs2_xenix.h b/sys/i386/ibcs2/ibcs2_xenix.h index bbf7fc7..df0568e 100644 --- a/sys/i386/ibcs2/ibcs2_xenix.h +++ b/sys/i386/ibcs2/ibcs2_xenix.h @@ -72,27 +72,22 @@ struct ibcs2_rename_args { struct xenix_utsname_args { long addr; }; -int xenix_rdchk __P((struct proc *, struct xenix_rdchk_args *, int [])); -int xenix_chsize __P((struct proc *, struct xenix_chsize_args *, int [])); -int xenix_ftime __P((struct proc *, struct xenix_ftime_args *, int [])); -int xenix_nap __P((struct proc *, struct xenix_nap_args *, int [])); -int xenix_scoinfo __P((struct proc *, struct xenix_scoinfo_args *, int [])); -int xenix_eaccess __P((struct proc *, struct xenix_eaccess_args *, int [])); -int ibcs2_sigaction __P((struct proc *, struct ibcs2_sigaction_args *, int [])); -int ibcs2_sigprocmask __P((struct proc *, struct ibcs2_sigprocmask_args *, int [])); -int ibcs2_sigpending __P((struct proc *, struct ibcs2_sigpending_args *, int [])); -int ibcs2_sigsuspend __P((struct proc *, struct ibcs2_sigsuspend_args *, int [])); -int ibcs2_getgroups __P((struct proc *, struct ibcs2_getgroups_args *, int [])); -int ibcs2_setgroups __P((struct proc *, struct ibcs2_setgroups_args *, int [])); -int ibcs2_sysconf __P((struct proc *, struct ibcs2_sysconf_args *, int [])); -int ibcs2_pathconf __P((struct proc *, struct ibcs2_pathconf_args *, int [])); -int ibcs2_fpathconf __P((struct proc *, struct ibcs2_fpathconf_args *, int [])); -int ibcs2_rename __P((struct proc *, struct ibcs2_rename_args *, int [])); -int xenix_utsname __P((struct proc *, struct xenix_utsname_args *, int [])); - -#ifdef COMPAT_43 - - -#endif /* COMPAT_43 */ +int xenix_rdchk __P((struct proc *, struct xenix_rdchk_args *)); +int xenix_chsize __P((struct proc *, struct xenix_chsize_args *)); +int xenix_ftime __P((struct proc *, struct xenix_ftime_args *)); +int xenix_nap __P((struct proc *, struct xenix_nap_args *)); +int xenix_scoinfo __P((struct proc *, struct xenix_scoinfo_args *)); +int xenix_eaccess __P((struct proc *, struct xenix_eaccess_args *)); +int ibcs2_sigaction __P((struct proc *, struct ibcs2_sigaction_args *)); +int ibcs2_sigprocmask __P((struct proc *, struct ibcs2_sigprocmask_args *)); +int ibcs2_sigpending __P((struct proc *, struct ibcs2_sigpending_args *)); +int ibcs2_sigsuspend __P((struct proc *, struct ibcs2_sigsuspend_args *)); +int ibcs2_getgroups __P((struct proc *, struct ibcs2_getgroups_args *)); +int ibcs2_setgroups __P((struct proc *, struct ibcs2_setgroups_args *)); +int ibcs2_sysconf __P((struct proc *, struct ibcs2_sysconf_args *)); +int ibcs2_pathconf __P((struct proc *, struct ibcs2_pathconf_args *)); +int ibcs2_fpathconf __P((struct proc *, struct ibcs2_fpathconf_args *)); +int ibcs2_rename __P((struct proc *, struct ibcs2_rename_args *)); +int xenix_utsname __P((struct proc *, struct xenix_utsname_args *)); #endif /* !_IBCS2_XENIX_H_ */ diff --git a/sys/i386/linux/linux_dummy.c b/sys/i386/linux/linux_dummy.c index bb935f3..30a0dba 100644 --- a/sys/i386/linux/linux_dummy.c +++ b/sys/i386/linux/linux_dummy.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_dummy.c,v 1.6 1997/07/20 16:05:53 bde Exp $ + * $Id: linux_dummy.c,v 1.7 1997/10/29 08:17:09 kato Exp $ */ #include @@ -36,140 +36,140 @@ #include int -linux_setup(struct proc *p, struct linux_setup_args *args, int *retval) +linux_setup(struct proc *p, struct linux_setup_args *args) { printf("Linux-emul(%d): setup() not supported\n", p->p_pid); return ENOSYS; } int -linux_break(struct proc *p, struct linux_break_args *args, int *retval) +linux_break(struct proc *p, struct linux_break_args *args) { printf("Linux-emul(%d): break() not supported\n", p->p_pid); return ENOSYS; } int -linux_stat(struct proc *p, struct linux_stat_args *args, int *retval) +linux_stat(struct proc *p, struct linux_stat_args *args) { printf("Linux-emul(%d): stat() not supported\n", p->p_pid); return ENOSYS; } int -linux_fstat(struct proc *p, struct linux_fstat_args *args, int *retval) +linux_fstat(struct proc *p, struct linux_fstat_args *args) { printf("Linux-emul(%d): fstat() not supported\n", p->p_pid); return ENOSYS; } int -linux_mount(struct proc *p, struct linux_mount_args *args, int *retval) +linux_mount(struct proc *p, struct linux_mount_args *args) { printf("Linux-emul(%d): mount() not supported\n", p->p_pid); return ENOSYS; } int -linux_umount(struct proc *p, struct linux_umount_args *args, int *retval) +linux_umount(struct proc *p, struct linux_umount_args *args) { printf("Linux-emul(%d): umount() not supported\n", p->p_pid); return ENOSYS; } int -linux_stime(struct proc *p, struct linux_stime_args *args, int *retval) +linux_stime(struct proc *p, struct linux_stime_args *args) { printf("Linux-emul(%d): stime() not supported\n", p->p_pid); return ENOSYS; } int -linux_ptrace(struct proc *p, struct linux_ptrace_args *args, int *retval) +linux_ptrace(struct proc *p, struct linux_ptrace_args *args) { printf("Linux-emul(%d): ptrace() not supported\n", p->p_pid); return ENOSYS; } int -linux_stty(struct proc *p, struct linux_stty_args *args, int *retval) +linux_stty(struct proc *p, struct linux_stty_args *args) { printf("Linux-emul(%d): stty() not supported\n", p->p_pid); return ENOSYS; } int -linux_gtty(struct proc *p, struct linux_gtty_args *args, int *retval) +linux_gtty(struct proc *p, struct linux_gtty_args *args) { printf("Linux-emul(%d): gtty() not supported\n", p->p_pid); return ENOSYS; } int -linux_ftime(struct proc *p, struct linux_ftime_args *args, int *retval) +linux_ftime(struct proc *p, struct linux_ftime_args *args) { printf("Linux-emul(%d): ftime() not supported\n", p->p_pid); return ENOSYS; } int -linux_prof(struct proc *p, struct linux_prof_args *args, int *retval) +linux_prof(struct proc *p, struct linux_prof_args *args) { printf("Linux-emul(%d): prof() not supported\n", p->p_pid); return ENOSYS; } int -linux_phys(struct proc *p, struct linux_phys_args *args, int *retval) +linux_phys(struct proc *p, struct linux_phys_args *args) { printf("Linux-emul(%d): phys() not supported\n", p->p_pid); return ENOSYS; } int -linux_lock(struct proc *p, struct linux_lock_args *args, int *retval) +linux_lock(struct proc *p, struct linux_lock_args *args) { printf("Linux-emul(%d): lock() not supported\n", p->p_pid); return ENOSYS; } int -linux_mpx(struct proc *p, struct linux_mpx_args *args, int *retval) +linux_mpx(struct proc *p, struct linux_mpx_args *args) { printf("Linux-emul(%d): mpx() not supported\n", p->p_pid); return ENOSYS; } int -linux_ulimit(struct proc *p, struct linux_ulimit_args *args, int *retval) +linux_ulimit(struct proc *p, struct linux_ulimit_args *args) { printf("Linux-emul(%d): ulimit() not supported\n", p->p_pid); return ENOSYS; } int -linux_olduname(struct proc *p, struct linux_olduname_args *args, int *retval) +linux_olduname(struct proc *p, struct linux_olduname_args *args) { printf("Linux-emul(%d): olduname() not supported\n", p->p_pid); return ENOSYS; } int -linux_ustat(struct proc *p, struct linux_ustat_args *args, int *retval) +linux_ustat(struct proc *p, struct linux_ustat_args *args) { printf("Linux-emul(%d): ustat() not supported\n", p->p_pid); return ENOSYS; } int -linux_ioperm(struct proc *p, struct linux_ioperm_args *args, int *retval) +linux_ioperm(struct proc *p, struct linux_ioperm_args *args) { printf("Linux-emul(%d): ioperm() not supported\n", p->p_pid); return 0; /* EINVAL SOS XXX */ } int -linux_ksyslog(struct proc *p, struct linux_ksyslog_args *args, int *retval) +linux_ksyslog(struct proc *p, struct linux_ksyslog_args *args) { printf("Linux-emul(%d): ksyslog(%x) not supported\n", p->p_pid, args->what); @@ -177,105 +177,105 @@ linux_ksyslog(struct proc *p, struct linux_ksyslog_args *args, int *retval) } int -linux_vhangup(struct proc *p, struct linux_vhangup_args *args, int *retval) +linux_vhangup(struct proc *p, struct linux_vhangup_args *args) { printf("Linux-emul(%d): vhangup() not supported\n", p->p_pid); return ENOSYS; } int -linux_idle(struct proc *p, struct linux_idle_args *args, int *retval) +linux_idle(struct proc *p, struct linux_idle_args *args) { printf("Linux-emul(%d): idle() not supported\n", p->p_pid); return ENOSYS; } int -linux_vm86(struct proc *p, struct linux_vm86_args *args, int *retval) +linux_vm86(struct proc *p, struct linux_vm86_args *args) { printf("Linux-emul(%d): vm86() not supported\n", p->p_pid); return ENOSYS; } int -linux_swapoff(struct proc *p, struct linux_swapoff_args *args, int *retval) +linux_swapoff(struct proc *p, struct linux_swapoff_args *args) { printf("Linux-emul(%d): swapoff() not supported\n", p->p_pid); return ENOSYS; } int -linux_sysinfo(struct proc *p, struct linux_sysinfo_args *args, int *retval) +linux_sysinfo(struct proc *p, struct linux_sysinfo_args *args) { printf("Linux-emul(%d): sysinfo() not supported\n", p->p_pid); return ENOSYS; } int -linux_clone(struct proc *p, struct linux_clone_args *args, int *retval) +linux_clone(struct proc *p, struct linux_clone_args *args) { printf("Linux-emul(%d): clone() not supported\n", p->p_pid); return ENOSYS; } int -linux_uname(struct proc *p, struct linux_uname_args *args, int *retval) +linux_uname(struct proc *p, struct linux_uname_args *args) { printf("Linux-emul(%d): uname() not supported\n", p->p_pid); return ENOSYS; } int -linux_modify_ldt(struct proc *p, struct linux_modify_ldt_args *args, int *retval) +linux_modify_ldt(struct proc *p, struct linux_modify_ldt_args *args) { printf("Linux-emul(%d): modify_ldt() not supported\n", p->p_pid); return ENOSYS; } int -linux_adjtimex(struct proc *p, struct linux_adjtimex_args *args, int *retval) +linux_adjtimex(struct proc *p, struct linux_adjtimex_args *args) { printf("Linux-emul(%d): adjtimex() not supported\n", p->p_pid); return ENOSYS; } int -linux_create_module(struct proc *p, struct linux_create_module_args *args, int *retval) +linux_create_module(struct proc *p, struct linux_create_module_args *args) { printf("Linux-emul(%d): create_module() not supported\n", p->p_pid); return ENOSYS; } int -linux_init_module(struct proc *p, struct linux_init_module_args *args, int *retval) +linux_init_module(struct proc *p, struct linux_init_module_args *args) { printf("Linux-emul(%d): init_module() not supported\n", p->p_pid); return ENOSYS; } int -linux_delete_module(struct proc *p, struct linux_delete_module_args *args, int *retval) +linux_delete_module(struct proc *p, struct linux_delete_module_args *args) { printf("Linux-emul(%d): delete_module() not supported\n", p->p_pid); return ENOSYS; } int -linux_get_kernel_syms(struct proc *p, struct linux_get_kernel_syms_args *args, int *retval) +linux_get_kernel_syms(struct proc *p, struct linux_get_kernel_syms_args *args) { printf("Linux-emul(%d): get_kernel_syms() not supported\n", p->p_pid); return ENOSYS; } int -linux_quotactl(struct proc *p, struct linux_quotactl_args *args, int *retval) +linux_quotactl(struct proc *p, struct linux_quotactl_args *args) { printf("Linux-emul(%d): quotactl() not supported\n", p->p_pid); return ENOSYS; } int -linux_bdflush(struct proc *p, struct linux_bdflush_args *args, int *retval) +linux_bdflush(struct proc *p, struct linux_bdflush_args *args) { printf("Linux-emul(%d): bdflush() not supported\n", p->p_pid); return ENOSYS; diff --git a/sys/i386/linux/linux_file.c b/sys/i386/linux/linux_file.c index 3c5984a..0cef996 100644 --- a/sys/i386/linux/linux_file.c +++ b/sys/i386/linux/linux_file.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_file.c,v 1.13 1997/04/05 14:50:56 dfr Exp $ + * $Id: linux_file.c,v 1.14 1997/04/06 10:10:50 dfr Exp $ */ #include @@ -46,7 +46,7 @@ #include int -linux_creat(struct proc *p, struct linux_creat_args *args, int *retval) +linux_creat(struct proc *p, struct linux_creat_args *args) { struct open_args /* { char *path; @@ -65,11 +65,11 @@ linux_creat(struct proc *p, struct linux_creat_args *args, int *retval) bsd_open_args.path = args->path; bsd_open_args.mode = args->mode; bsd_open_args.flags = O_WRONLY | O_CREAT | O_TRUNC; - return open(p, &bsd_open_args, retval); + return open(p, &bsd_open_args); } int -linux_open(struct proc *p, struct linux_open_args *args, int *retval) +linux_open(struct proc *p, struct linux_open_args *args) { struct open_args /* { char *path; @@ -118,11 +118,11 @@ linux_open(struct proc *p, struct linux_open_args *args, int *retval) bsd_open_args.path = args->path; bsd_open_args.mode = args->mode; - error = open(p, &bsd_open_args, retval); + error = open(p, &bsd_open_args); if (!error && !(bsd_open_args.flags & O_NOCTTY) && SESS_LEADER(p) && !(p->p_flag & P_CONTROLT)) { struct filedesc *fdp = p->p_fd; - struct file *fp = fdp->fd_ofiles[*retval]; + struct file *fp = fdp->fd_ofiles[p->p_retval[0]]; if (fp->f_type == DTYPE_VNODE) (fp->f_ops->fo_ioctl)(fp, TIOCSCTTY, (caddr_t) 0, p); @@ -183,7 +183,7 @@ bsd_to_linux_flock(struct flock *bsd_flock, struct linux_flock *linux_flock) } int -linux_fcntl(struct proc *p, struct linux_fcntl_args *args, int *retval) +linux_fcntl(struct proc *p, struct linux_fcntl_args *args) { int error, result; struct fcntl_args /* { @@ -216,26 +216,27 @@ linux_fcntl(struct proc *p, struct linux_fcntl_args *args, int *retval) switch (args->cmd) { case LINUX_F_DUPFD: fcntl_args.cmd = F_DUPFD; - return fcntl(p, &fcntl_args, retval); + return fcntl(p, &fcntl_args); case LINUX_F_GETFD: fcntl_args.cmd = F_GETFD; - return fcntl(p, &fcntl_args, retval); + return fcntl(p, &fcntl_args); case LINUX_F_SETFD: fcntl_args.cmd = F_SETFD; - return fcntl(p, &fcntl_args, retval); + return fcntl(p, &fcntl_args); case LINUX_F_GETFL: fcntl_args.cmd = F_GETFL; - error = fcntl(p, &fcntl_args, &result); - *retval = 0; - if (result & O_RDONLY) *retval |= LINUX_O_RDONLY; - if (result & O_WRONLY) *retval |= LINUX_O_WRONLY; - if (result & O_RDWR) *retval |= LINUX_O_RDWR; - if (result & O_NDELAY) *retval |= LINUX_O_NONBLOCK; - if (result & O_APPEND) *retval |= LINUX_O_APPEND; - if (result & O_FSYNC) *retval |= LINUX_O_SYNC; + error = fcntl(p, &fcntl_args); + result = p->p_retval[0]; + p->p_retval[0] = 0; + if (result & O_RDONLY) p->p_retval[0] |= LINUX_O_RDONLY; + if (result & O_WRONLY) p->p_retval[0] |= LINUX_O_WRONLY; + if (result & O_RDWR) p->p_retval[0] |= LINUX_O_RDWR; + if (result & O_NDELAY) p->p_retval[0] |= LINUX_O_NONBLOCK; + if (result & O_APPEND) p->p_retval[0] |= LINUX_O_APPEND; + if (result & O_FSYNC) p->p_retval[0] |= LINUX_O_SYNC; return error; case LINUX_F_SETFL: @@ -243,7 +244,7 @@ linux_fcntl(struct proc *p, struct linux_fcntl_args *args, int *retval) if (args->arg & LINUX_O_APPEND) fcntl_args.arg |= O_APPEND; if (args->arg & LINUX_O_SYNC) fcntl_args.arg |= O_FSYNC; fcntl_args.cmd = F_SETFL; - return fcntl(p, &fcntl_args, retval); + return fcntl(p, &fcntl_args); case LINUX_F_GETLK: if ((error = copyin((caddr_t)args->arg, (caddr_t)&linux_flock, @@ -252,7 +253,7 @@ linux_fcntl(struct proc *p, struct linux_fcntl_args *args, int *retval) linux_to_bsd_flock(&linux_flock, bsd_flock); fcntl_args.cmd = F_GETLK; fcntl_args.arg = (int)bsd_flock; - if (error = fcntl(p, &fcntl_args, retval)) + if (error = fcntl(p, &fcntl_args)) return error; bsd_to_linux_flock(bsd_flock, &linux_flock); return copyout((caddr_t)&linux_flock, (caddr_t)args->arg, @@ -265,7 +266,7 @@ linux_fcntl(struct proc *p, struct linux_fcntl_args *args, int *retval) linux_to_bsd_flock(&linux_flock, bsd_flock); fcntl_args.cmd = F_SETLK; fcntl_args.arg = (int)bsd_flock; - return fcntl(p, &fcntl_args, retval); + return fcntl(p, &fcntl_args); case LINUX_F_SETLKW: if ((error = copyin((caddr_t)args->arg, (caddr_t)&linux_flock, @@ -274,7 +275,7 @@ linux_fcntl(struct proc *p, struct linux_fcntl_args *args, int *retval) linux_to_bsd_flock(&linux_flock, bsd_flock); fcntl_args.cmd = F_SETLKW; fcntl_args.arg = (int)bsd_flock; - return fcntl(p, &fcntl_args, retval); + return fcntl(p, &fcntl_args); case LINUX_F_SETOWN: case LINUX_F_GETOWN: @@ -290,7 +291,7 @@ linux_fcntl(struct proc *p, struct linux_fcntl_args *args, int *retval) return EBADF; if (fp->f_type == DTYPE_SOCKET) { fcntl_args.cmd = args->cmd == LINUX_F_SETOWN ? F_SETOWN : F_GETOWN; - return fcntl(p, &fcntl_args, retval); + return fcntl(p, &fcntl_args); } vp = (struct vnode *)fp->f_data; if (vp->v_type != VCHR) @@ -302,7 +303,7 @@ linux_fcntl(struct proc *p, struct linux_fcntl_args *args, int *retval) if (!d_tty || (!(tp = (*d_tty)(va.va_rdev)))) return EINVAL; if (args->cmd == LINUX_F_GETOWN) { - retval[0] = tp->t_pgrp ? tp->t_pgrp->pg_id : NO_PID; + p->p_retval[0] = tp->t_pgrp ? tp->t_pgrp->pg_id : NO_PID; return 0; } if ((long)args->arg <= 0) { @@ -323,7 +324,7 @@ linux_fcntl(struct proc *p, struct linux_fcntl_args *args, int *retval) } int -linux_lseek(struct proc *p, struct linux_lseek_args *args, int *retval) +linux_lseek(struct proc *p, struct linux_lseek_args *args) { struct lseek_args /* { @@ -341,12 +342,12 @@ linux_lseek(struct proc *p, struct linux_lseek_args *args, int *retval) tmp_args.fd = args->fdes; tmp_args.offset = (off_t)args->off; tmp_args.whence = args->whence; - error = lseek(p, &tmp_args, retval); + error = lseek(p, &tmp_args); return error; } int -linux_llseek(struct proc *p, struct linux_llseek_args *args, int *retval) +linux_llseek(struct proc *p, struct linux_llseek_args *args) { struct lseek_args bsd_args; int error; @@ -362,13 +363,13 @@ linux_llseek(struct proc *p, struct linux_llseek_args *args, int *retval) bsd_args.offset = off; bsd_args.whence = args->whence; - if ((error = lseek(p, &bsd_args, retval))) + if ((error = lseek(p, &bsd_args))) return error; - if ((error = copyout(retval, (caddr_t)args->res, sizeof (off_t)))) + if ((error = copyout(p->p_retval, (caddr_t)args->res, sizeof (off_t)))) return error; - retval[0] = 0; + p->p_retval[0] = 0; return 0; } @@ -384,18 +385,18 @@ struct linux_dirent { ALIGN((((char *)&(de)->dname - (char *)de) + (namlen) + 1)) int -linux_readdir(struct proc *p, struct linux_readdir_args *args, int *retval) +linux_readdir(struct proc *p, struct linux_readdir_args *args) { struct linux_getdents_args lda; lda.fd = args->fd; lda.dent = args->dent; lda.count = 1; - return linux_getdents(p, &lda, retval); + return linux_getdents(p, &lda); } int -linux_getdents(struct proc *p, struct linux_getdents_args *args, int *retval) +linux_getdents(struct proc *p, struct linux_getdents_args *args) { register struct dirent *bdp; struct vnode *vp; @@ -556,7 +557,7 @@ again: nbytes = resid + linuxreclen; eof: - *retval = nbytes - resid; + p->p_retval[0] = nbytes - resid; out: if (cookies) free(cookies, M_TEMP); @@ -570,7 +571,7 @@ out: */ int -linux_access(struct proc *p, struct linux_access_args *args, int *retval) +linux_access(struct proc *p, struct linux_access_args *args) { struct access_args bsd; caddr_t sg; @@ -585,11 +586,11 @@ linux_access(struct proc *p, struct linux_access_args *args, int *retval) bsd.path = args->path; bsd.flags = args->flags; - return access(p, &bsd, retval); + return access(p, &bsd); } int -linux_unlink(struct proc *p, struct linux_unlink_args *args, int *retval) +linux_unlink(struct proc *p, struct linux_unlink_args *args) { struct unlink_args bsd; caddr_t sg; @@ -603,11 +604,11 @@ linux_unlink(struct proc *p, struct linux_unlink_args *args, int *retval) #endif bsd.path = args->path; - return unlink(p, &bsd, retval); + return unlink(p, &bsd); } int -linux_chdir(struct proc *p, struct linux_chdir_args *args, int *retval) +linux_chdir(struct proc *p, struct linux_chdir_args *args) { struct chdir_args bsd; caddr_t sg; @@ -621,11 +622,11 @@ linux_chdir(struct proc *p, struct linux_chdir_args *args, int *retval) #endif bsd.path = args->path; - return chdir(p, &bsd, retval); + return chdir(p, &bsd); } int -linux_chmod(struct proc *p, struct linux_chmod_args *args, int *retval) +linux_chmod(struct proc *p, struct linux_chmod_args *args) { struct chmod_args bsd; caddr_t sg; @@ -640,11 +641,11 @@ linux_chmod(struct proc *p, struct linux_chmod_args *args, int *retval) bsd.path = args->path; bsd.mode = args->mode; - return chmod(p, &bsd, retval); + return chmod(p, &bsd); } int -linux_chown(struct proc *p, struct linux_chown_args *args, int *retval) +linux_chown(struct proc *p, struct linux_chown_args *args) { struct chown_args bsd; caddr_t sg; @@ -661,11 +662,11 @@ linux_chown(struct proc *p, struct linux_chown_args *args, int *retval) bsd.uid = args->uid; bsd.gid = args->gid; - return chown(p, &bsd, retval); + return chown(p, &bsd); } int -linux_mkdir(struct proc *p, struct linux_mkdir_args *args, int *retval) +linux_mkdir(struct proc *p, struct linux_mkdir_args *args) { struct mkdir_args bsd; caddr_t sg; @@ -680,11 +681,11 @@ linux_mkdir(struct proc *p, struct linux_mkdir_args *args, int *retval) bsd.path = args->path; bsd.mode = args->mode; - return mkdir(p, &bsd, retval); + return mkdir(p, &bsd); } int -linux_rmdir(struct proc *p, struct linux_rmdir_args *args, int *retval) +linux_rmdir(struct proc *p, struct linux_rmdir_args *args) { struct rmdir_args bsd; caddr_t sg; @@ -698,11 +699,11 @@ linux_rmdir(struct proc *p, struct linux_rmdir_args *args, int *retval) #endif bsd.path = args->path; - return rmdir(p, &bsd, retval); + return rmdir(p, &bsd); } int -linux_rename(struct proc *p, struct linux_rename_args *args, int *retval) +linux_rename(struct proc *p, struct linux_rename_args *args) { struct rename_args bsd; caddr_t sg; @@ -718,11 +719,11 @@ linux_rename(struct proc *p, struct linux_rename_args *args, int *retval) bsd.from = args->from; bsd.to = args->to; - return rename(p, &bsd, retval); + return rename(p, &bsd); } int -linux_symlink(struct proc *p, struct linux_symlink_args *args, int *retval) +linux_symlink(struct proc *p, struct linux_symlink_args *args) { struct symlink_args bsd; caddr_t sg; @@ -738,11 +739,11 @@ linux_symlink(struct proc *p, struct linux_symlink_args *args, int *retval) bsd.path = args->path; bsd.link = args->to; - return symlink(p, &bsd, retval); + return symlink(p, &bsd); } int -linux_execve(struct proc *p, struct linux_execve_args *args, int *retval) +linux_execve(struct proc *p, struct linux_execve_args *args) { struct execve_args bsd; caddr_t sg; @@ -758,11 +759,11 @@ linux_execve(struct proc *p, struct linux_execve_args *args, int *retval) bsd.argv = args->argp; bsd.envv = args->envp; - return execve(p, &bsd, retval); + return execve(p, &bsd); } int -linux_readlink(struct proc *p, struct linux_readlink_args *args, int *retval) +linux_readlink(struct proc *p, struct linux_readlink_args *args) { struct readlink_args bsd; caddr_t sg; @@ -778,11 +779,11 @@ linux_readlink(struct proc *p, struct linux_readlink_args *args, int *retval) bsd.buf = args->buf; bsd.count = args->count; - return readlink(p, &bsd, retval); + return readlink(p, &bsd); } int -linux_truncate(struct proc *p, struct linux_truncate_args *args, int *retval) +linux_truncate(struct proc *p, struct linux_truncate_args *args) { struct otruncate_args bsd; caddr_t sg; @@ -796,6 +797,6 @@ linux_truncate(struct proc *p, struct linux_truncate_args *args, int *retval) #endif bsd.path = args->path; - return otruncate(p, &bsd, retval); + return otruncate(p, &bsd); } diff --git a/sys/i386/linux/linux_ioctl.c b/sys/i386/linux/linux_ioctl.c index 32fb41b..6993144 100644 --- a/sys/i386/linux/linux_ioctl.c +++ b/sys/i386/linux/linux_ioctl.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_ioctl.c,v 1.19 1997/06/02 10:43:41 dfr Exp $ + * $Id: linux_ioctl.c,v 1.20 1997/07/20 16:05:59 bde Exp $ */ #include @@ -447,7 +447,7 @@ linux_tiocsserial(struct file *fp, struct linux_serial_struct *lss) } int -linux_ioctl(struct proc *p, struct linux_ioctl_args *args, int *retval) +linux_ioctl(struct proc *p, struct linux_ioctl_args *args) { struct termios bsd_termios; struct linux_termios linux_termios; @@ -513,79 +513,79 @@ linux_ioctl(struct proc *p, struct linux_ioctl_args *args, int *retval) case LINUX_TIOCGPGRP: args->cmd = TIOCGPGRP; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_TIOCSPGRP: args->cmd = TIOCSPGRP; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_TIOCGWINSZ: args->cmd = TIOCGWINSZ; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_TIOCSWINSZ: args->cmd = TIOCSWINSZ; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_FIONREAD: args->cmd = FIONREAD; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_FIONBIO: args->cmd = FIONBIO; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_FIOASYNC: args->cmd = FIOASYNC; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_FIONCLEX: args->cmd = FIONCLEX; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_FIOCLEX: args->cmd = FIOCLEX; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_TIOCEXCL: args->cmd = TIOCEXCL; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_TIOCNXCL: args->cmd = TIOCNXCL; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_TIOCCONS: args->cmd = TIOCCONS; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_TIOCNOTTY: args->cmd = TIOCNOTTY; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SIOCGIFCONF: args->cmd = OSIOCGIFCONF; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SIOCGIFFLAGS: args->cmd = SIOCGIFFLAGS; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SIOCGIFADDR: args->cmd = OSIOCGIFADDR; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SIOCGIFDSTADDR: args->cmd = OSIOCGIFDSTADDR; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SIOCGIFBRDADDR: args->cmd = OSIOCGIFBRDADDR; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SIOCGIFNETMASK: args->cmd = OSIOCGIFNETMASK; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); /* get hardware address */ case LINUX_SIOCGIFHWADDR: @@ -621,11 +621,11 @@ linux_ioctl(struct proc *p, struct linux_ioctl_args *args, int *retval) case LINUX_SIOCADDMULTI: args->cmd = SIOCADDMULTI; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SIOCDELMULTI: args->cmd = SIOCDELMULTI; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_TIOCSETD: switch (args->arg) { @@ -664,136 +664,136 @@ linux_ioctl(struct proc *p, struct linux_ioctl_args *args, int *retval) case LINUX_SNDCTL_DSP_RESET: args->cmd = SNDCTL_DSP_RESET; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SNDCTL_DSP_SYNC: args->cmd = SNDCTL_DSP_SYNC; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SNDCTL_DSP_SPEED: args->cmd = SNDCTL_DSP_SPEED; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SNDCTL_DSP_STEREO: args->cmd = SNDCTL_DSP_STEREO; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SNDCTL_DSP_GETBLKSIZE: /* LINUX_SNDCTL_DSP_SETBLKSIZE */ args->cmd = SNDCTL_DSP_GETBLKSIZE; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SNDCTL_DSP_SETFMT: args->cmd = SNDCTL_DSP_SETFMT; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_PCM_WRITE_CHANNELS: args->cmd = SOUND_PCM_WRITE_CHANNELS; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_PCM_WRITE_FILTER: args->cmd = SOUND_PCM_WRITE_FILTER; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SNDCTL_DSP_POST: args->cmd = SNDCTL_DSP_POST; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SNDCTL_DSP_SUBDIVIDE: args->cmd = SNDCTL_DSP_SUBDIVIDE; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SNDCTL_DSP_SETFRAGMENT: args->cmd = SNDCTL_DSP_SETFRAGMENT; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SNDCTL_DSP_GETFMTS: args->cmd = SNDCTL_DSP_GETFMTS; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SNDCTL_DSP_GETOSPACE: args->cmd = SNDCTL_DSP_GETOSPACE; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SNDCTL_DSP_GETISPACE: args->cmd = SNDCTL_DSP_GETISPACE; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SNDCTL_DSP_NONBLOCK: args->cmd = SNDCTL_DSP_NONBLOCK; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_VOLUME: args->cmd = SOUND_MIXER_WRITE_VOLUME; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_BASS: args->cmd = SOUND_MIXER_WRITE_BASS; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_TREBLE: args->cmd = SOUND_MIXER_WRITE_TREBLE; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_SYNTH: args->cmd = SOUND_MIXER_WRITE_SYNTH; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_PCM: args->cmd = SOUND_MIXER_WRITE_PCM; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_SPEAKER: args->cmd = SOUND_MIXER_WRITE_SPEAKER; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_LINE: args->cmd = SOUND_MIXER_WRITE_LINE; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_MIC: args->cmd = SOUND_MIXER_WRITE_MIC; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_CD: args->cmd = SOUND_MIXER_WRITE_CD; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_IMIX: args->cmd = SOUND_MIXER_WRITE_IMIX; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_ALTPCM: args->cmd = SOUND_MIXER_WRITE_ALTPCM; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_RECLEV: args->cmd = SOUND_MIXER_WRITE_RECLEV; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_IGAIN: args->cmd = SOUND_MIXER_WRITE_IGAIN; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_OGAIN: args->cmd = SOUND_MIXER_WRITE_OGAIN; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_LINE1: args->cmd = SOUND_MIXER_WRITE_LINE1; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_LINE2: args->cmd = SOUND_MIXER_WRITE_LINE2; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_WRITE_LINE3: args->cmd = SOUND_MIXER_WRITE_LINE3; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_SOUND_MIXER_READ_DEVMASK: args->cmd = SOUND_MIXER_READ_DEVMASK; - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); case LINUX_TIOCGSERIAL: linux_tiocgserial(fp, (struct linux_serial_struct *)args->arg); @@ -818,7 +818,7 @@ linux_ioctl(struct proc *p, struct linux_ioctl_args *args, int *retval) default: return EINVAL; } - return ioctl(p, (struct ioctl_args *)args, retval); + return ioctl(p, (struct ioctl_args *)args); } uprintf("LINUX: 'ioctl' fd=%d, typ=0x%x(%c), num=0x%x not implemented\n", diff --git a/sys/i386/linux/linux_ipc.c b/sys/i386/linux/linux_ipc.c index ccb2306..2794953 100644 --- a/sys/i386/linux/linux_ipc.c +++ b/sys/i386/linux/linux_ipc.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_ipc.c,v 1.11 1997/08/10 18:15:20 sos Exp $ + * $Id: linux_ipc.c,v 1.12 1997/10/28 10:50:02 kato Exp $ */ @@ -40,16 +40,16 @@ #include #include -static int linux_semop __P((struct proc *, struct linux_ipc_args *, int *)); -static int linux_semget __P((struct proc *, struct linux_ipc_args *, int *)); -static int linux_semctl __P((struct proc *, struct linux_ipc_args *, int *)); -static int linux_msgsnd __P((struct proc *, struct linux_ipc_args *, int *)); -static int linux_msgrcv __P((struct proc *, struct linux_ipc_args *, int *)); -static int linux_msgctl __P((struct proc *, struct linux_ipc_args *, int *)); -static int linux_shmat __P((struct proc *, struct linux_ipc_args *, int *)); -static int linux_shmdt __P((struct proc *, struct linux_ipc_args *, int *)); -static int linux_shmget __P((struct proc *, struct linux_ipc_args *, int *)); -static int linux_shmctl __P((struct proc *, struct linux_ipc_args *, int *)); +static int linux_semop __P((struct proc *, struct linux_ipc_args *)); +static int linux_semget __P((struct proc *, struct linux_ipc_args *)); +static int linux_semctl __P((struct proc *, struct linux_ipc_args *)); +static int linux_msgsnd __P((struct proc *, struct linux_ipc_args *)); +static int linux_msgrcv __P((struct proc *, struct linux_ipc_args *)); +static int linux_msgctl __P((struct proc *, struct linux_ipc_args *)); +static int linux_shmat __P((struct proc *, struct linux_ipc_args *)); +static int linux_shmdt __P((struct proc *, struct linux_ipc_args *)); +static int linux_shmget __P((struct proc *, struct linux_ipc_args *)); +static int linux_shmctl __P((struct proc *, struct linux_ipc_args *)); struct linux_ipc_perm { linux_key_t key; @@ -160,7 +160,7 @@ bsd_to_linux_shmid_ds(struct shmid_ds *bsp, struct linux_shmid_ds *lsp) } static int -linux_semop(struct proc *p, struct linux_ipc_args *args, int *retval) +linux_semop(struct proc *p, struct linux_ipc_args *args) { struct semop_args /* { int semid; @@ -171,11 +171,11 @@ linux_semop(struct proc *p, struct linux_ipc_args *args, int *retval) bsd_args.semid = args->arg1; bsd_args.sops = (struct sembuf *)args->ptr; bsd_args.nsops = args->arg2; - return semop(p, &bsd_args, retval); + return semop(p, &bsd_args); } static int -linux_semget(struct proc *p, struct linux_ipc_args *args, int *retval) +linux_semget(struct proc *p, struct linux_ipc_args *args) { struct semget_args /* { key_t key; @@ -186,11 +186,11 @@ linux_semget(struct proc *p, struct linux_ipc_args *args, int *retval) bsd_args.key = args->arg1; bsd_args.nsems = args->arg2; bsd_args.semflg = args->arg3; - return semget(p, &bsd_args, retval); + return semget(p, &bsd_args); } static int -linux_semctl(struct proc *p, struct linux_ipc_args *args, int *retval) +linux_semctl(struct proc *p, struct linux_ipc_args *args) { struct linux_semid_ds linux_semid; struct semid_ds bsd_semid; @@ -246,7 +246,7 @@ linux_semctl(struct proc *p, struct linux_ipc_args *args, int *retval) if (error) return error; bsd_args.arg = (union semun *)unptr; - return __semctl(p, &bsd_args, retval); + return __semctl(p, &bsd_args); case LINUX_IPC_STAT: bsd_args.cmd = IPC_STAT; unptr = stackgap_alloc(&sg, sizeof(union semun *)); @@ -255,7 +255,7 @@ linux_semctl(struct proc *p, struct linux_ipc_args *args, int *retval) if (error) return error; bsd_args.arg = (union semun *)unptr; - error = __semctl(p, &bsd_args, retval); + error = __semctl(p, &bsd_args); if (error) return error; error = copyin(dsp, (caddr_t)&bsd_semid, sizeof(bsd_semid)); @@ -274,11 +274,11 @@ linux_semctl(struct proc *p, struct linux_ipc_args *args, int *retval) uprintf("LINUX: 'ipc' typ=%d not implemented\n", args->what); return EINVAL; } - return __semctl(p, &bsd_args, retval); + return __semctl(p, &bsd_args); } static int -linux_msgsnd(struct proc *p, struct linux_ipc_args *args, int *retval) +linux_msgsnd(struct proc *p, struct linux_ipc_args *args) { struct msgsnd_args /* { int msqid; @@ -291,11 +291,11 @@ linux_msgsnd(struct proc *p, struct linux_ipc_args *args, int *retval) bsd_args.msgp = args->ptr; bsd_args.msgsz = args->arg2; bsd_args.msgflg = args->arg3; - return msgsnd(p, &bsd_args, retval); + return msgsnd(p, &bsd_args); } static int -linux_msgrcv(struct proc *p, struct linux_ipc_args *args, int *retval) +linux_msgrcv(struct proc *p, struct linux_ipc_args *args) { struct msgrcv_args /* { int msqid; @@ -310,11 +310,11 @@ linux_msgrcv(struct proc *p, struct linux_ipc_args *args, int *retval) bsd_args.msgsz = args->arg2; bsd_args.msgtyp = 0; bsd_args.msgflg = args->arg3; - return msgrcv(p, &bsd_args, retval); + return msgrcv(p, &bsd_args); } static int -linux_msgget(struct proc *p, struct linux_ipc_args *args, int *retval) +linux_msgget(struct proc *p, struct linux_ipc_args *args) { struct msgget_args /* { key_t key; @@ -323,11 +323,11 @@ linux_msgget(struct proc *p, struct linux_ipc_args *args, int *retval) bsd_args.key = args->arg1; bsd_args.msgflg = args->arg2; - return msgget(p, &bsd_args, retval); + return msgget(p, &bsd_args); } static int -linux_msgctl(struct proc *p, struct linux_ipc_args *args, int *retval) +linux_msgctl(struct proc *p, struct linux_ipc_args *args) { struct msgctl_args /* { int msqid; @@ -338,11 +338,11 @@ linux_msgctl(struct proc *p, struct linux_ipc_args *args, int *retval) bsd_args.msqid = args->arg1; bsd_args.cmd = args->arg2; bsd_args.buf = (struct msqid_ds *)args->ptr; - return msgctl(p, &bsd_args, retval); + return msgctl(p, &bsd_args); } static int -linux_shmat(struct proc *p, struct linux_ipc_args *args, int *retval) +linux_shmat(struct proc *p, struct linux_ipc_args *args) { struct shmat_args /* { int shmid; @@ -354,27 +354,27 @@ linux_shmat(struct proc *p, struct linux_ipc_args *args, int *retval) bsd_args.shmid = args->arg1; bsd_args.shmaddr = args->ptr; bsd_args.shmflg = args->arg2; - if ((error = shmat(p, &bsd_args, retval))) + if ((error = shmat(p, &bsd_args))) return error; - if ((error = copyout(retval, (caddr_t)args->arg3, sizeof(int)))) + if ((error = copyout(p->p_retval, (caddr_t)args->arg3, sizeof(int)))) return error; - retval[0] = 0; + p->p_retval[0] = 0; return 0; } static int -linux_shmdt(struct proc *p, struct linux_ipc_args *args, int *retval) +linux_shmdt(struct proc *p, struct linux_ipc_args *args) { struct shmdt_args /* { void *shmaddr; } */ bsd_args; bsd_args.shmaddr = args->ptr; - return shmdt(p, &bsd_args, retval); + return shmdt(p, &bsd_args); } static int -linux_shmget(struct proc *p, struct linux_ipc_args *args, int *retval) +linux_shmget(struct proc *p, struct linux_ipc_args *args) { struct shmget_args /* { key_t key; @@ -385,11 +385,11 @@ linux_shmget(struct proc *p, struct linux_ipc_args *args, int *retval) bsd_args.key = args->arg1; bsd_args.size = args->arg2; bsd_args.shmflg = args->arg3; - return shmget(p, &bsd_args, retval); + return shmget(p, &bsd_args); } static int -linux_shmctl(struct proc *p, struct linux_ipc_args *args, int *retval) +linux_shmctl(struct proc *p, struct linux_ipc_args *args) { struct shmid_ds bsd_shmid; struct linux_shmid_ds linux_shmid; @@ -406,7 +406,7 @@ linux_shmctl(struct proc *p, struct linux_ipc_args *args, int *retval) bsd_args.shmid = args->arg1; bsd_args.cmd = IPC_STAT; bsd_args.buf = (struct shmid_ds*)stackgap_alloc(&sg, sizeof(struct shmid_ds)); - if ((error = shmctl(p, &bsd_args, retval))) + if ((error = shmctl(p, &bsd_args))) return error; if ((error = copyin((caddr_t)bsd_args.buf, (caddr_t)&bsd_shmid, sizeof(struct shmid_ds)))) @@ -425,7 +425,7 @@ linux_shmctl(struct proc *p, struct linux_ipc_args *args, int *retval) return error; bsd_args.shmid = args->arg1; bsd_args.cmd = IPC_SET; - return shmctl(p, &bsd_args, retval); + return shmctl(p, &bsd_args); case LINUX_IPC_RMID: bsd_args.shmid = args->arg1; @@ -438,7 +438,7 @@ linux_shmctl(struct proc *p, struct linux_ipc_args *args, int *retval) if ((error = copyout((caddr_t)&bsd_shmid, (caddr_t)bsd_args.buf, sizeof(struct shmid_ds)))) return error; - return shmctl(p, &bsd_args, retval); + return shmctl(p, &bsd_args); case LINUX_IPC_INFO: case LINUX_SHM_STAT: @@ -452,31 +452,31 @@ linux_shmctl(struct proc *p, struct linux_ipc_args *args, int *retval) } int -linux_ipc(struct proc *p, struct linux_ipc_args *args, int *retval) +linux_ipc(struct proc *p, struct linux_ipc_args *args) { switch (args->what) { case LINUX_SEMOP: - return linux_semop(p, args, retval); + return linux_semop(p, args); case LINUX_SEMGET: - return linux_semget(p, args, retval); + return linux_semget(p, args); case LINUX_SEMCTL: - return linux_semctl(p, args, retval); + return linux_semctl(p, args); case LINUX_MSGSND: - return linux_msgsnd(p, args, retval); + return linux_msgsnd(p, args); case LINUX_MSGRCV: - return linux_msgrcv(p, args, retval); + return linux_msgrcv(p, args); case LINUX_MSGGET: - return linux_msgget(p, args, retval); + return linux_msgget(p, args); case LINUX_MSGCTL: - return linux_msgctl(p, args, retval); + return linux_msgctl(p, args); case LINUX_SHMAT: - return linux_shmat(p, args, retval); + return linux_shmat(p, args); case LINUX_SHMDT: - return linux_shmdt(p, args, retval); + return linux_shmdt(p, args); case LINUX_SHMGET: - return linux_shmget(p, args, retval); + return linux_shmget(p, args); case LINUX_SHMCTL: - return linux_shmctl(p, args, retval); + return linux_shmctl(p, args); default: uprintf("LINUX: 'ipc' typ=%d not implemented\n", args->what); return ENOSYS; diff --git a/sys/i386/linux/linux_misc.c b/sys/i386/linux/linux_misc.c index 8b40029..a0da336 100644 --- a/sys/i386/linux/linux_misc.c +++ b/sys/i386/linux/linux_misc.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_misc.c,v 1.31 1997/10/29 08:17:12 kato Exp $ + * $Id: linux_misc.c,v 1.32 1997/10/30 10:53:30 kato Exp $ */ #include @@ -60,7 +60,7 @@ #include int -linux_alarm(struct proc *p, struct linux_alarm_args *args, int *retval) +linux_alarm(struct proc *p, struct linux_alarm_args *args) { struct itimerval it, old_it; struct timeval tv; @@ -96,12 +96,12 @@ linux_alarm(struct proc *p, struct linux_alarm_args *args, int *retval) splx(s); if (old_it.it_value.tv_usec) old_it.it_value.tv_sec++; - *retval = old_it.it_value.tv_sec; + p->p_retval[0] = old_it.it_value.tv_sec; return 0; } int -linux_brk(struct proc *p, struct linux_brk_args *args, int *retval) +linux_brk(struct proc *p, struct linux_brk_args *args) { #if 0 struct vmspace *vm = p->p_vmspace; @@ -116,7 +116,7 @@ linux_brk(struct proc *p, struct linux_brk_args *args, int *retval) old = round_page((vm_offset_t)vm->vm_daddr) + ctob(vm->vm_dsize); new = round_page((vm_offset_t)args->dsend); - *retval = old; + p->p_retval[0] = old; if ((new-old) > 0) { if (swap_pager_full) return ENOMEM; @@ -125,7 +125,7 @@ linux_brk(struct proc *p, struct linux_brk_args *args, int *retval) if (error) return error; vm->vm_dsize += btoc((new-old)); - *retval = (int)(vm->vm_daddr + ctob(vm->vm_dsize)); + p->p_retval[0] = (int)(vm->vm_daddr + ctob(vm->vm_dsize)); } return 0; #else @@ -141,17 +141,17 @@ linux_brk(struct proc *p, struct linux_brk_args *args, int *retval) old = (vm_offset_t)vm->vm_daddr + ctob(vm->vm_dsize); new = (vm_offset_t)args->dsend; tmp.nsize = (char *) new; - if (((caddr_t)new > vm->vm_daddr) && !obreak(p, &tmp, retval)) - retval[0] = (int)new; + if (((caddr_t)new > vm->vm_daddr) && !obreak(p, &tmp)) + p->p_retval[0] = (int)new; else - retval[0] = (int)old; + p->p_retval[0] = (int)old; return 0; #endif } int -linux_uselib(struct proc *p, struct linux_uselib_args *args, int *retval) +linux_uselib(struct proc *p, struct linux_uselib_args *args) { struct nameidata ni; struct vnode *vp; @@ -408,7 +408,7 @@ struct linux_select_argv { }; int -linux_select(struct proc *p, struct linux_select_args *args, int *retval) +linux_select(struct proc *p, struct linux_select_args *args) { struct linux_select_argv linux_args; struct linux_newselect_args newsel; @@ -428,11 +428,11 @@ linux_select(struct proc *p, struct linux_select_args *args, int *retval) newsel.exceptfds = linux_args.exceptfds; newsel.timeout = linux_args.timeout; - return linux_newselect(p, &newsel, retval); + return linux_newselect(p, &newsel); } int -linux_newselect(struct proc *p, struct linux_newselect_args *args, int *retval) +linux_newselect(struct proc *p, struct linux_newselect_args *args) { struct select_args bsa; struct timeval tv0, tv1, utv, *tvp; @@ -484,7 +484,7 @@ linux_newselect(struct proc *p, struct linux_newselect_args *args, int *retval) microtime(&tv0); } - error = select(p, &bsa, retval); + error = select(p, &bsa); #ifdef DEBUG printf("Linux-emul(%d): real select returns %d\n", p->p_pid, error); @@ -501,7 +501,7 @@ linux_newselect(struct proc *p, struct linux_newselect_args *args, int *retval) } if (args->timeout) { - if (*retval) { + if (p->p_retval[0]) { /* * Compute how much time was left of the timeout, * by subtracting the current time and the time @@ -532,7 +532,7 @@ select_out: } int -linux_getpgid(struct proc *p, struct linux_getpgid_args *args, int *retval) +linux_getpgid(struct proc *p, struct linux_getpgid_args *args) { struct proc *curproc; @@ -545,22 +545,22 @@ linux_getpgid(struct proc *p, struct linux_getpgid_args *args, int *retval) } else curproc = p; - *retval = curproc->p_pgid; + p->p_retval[0] = curproc->p_pgid; return 0; } int -linux_fork(struct proc *p, struct linux_fork_args *args, int *retval) +linux_fork(struct proc *p, struct linux_fork_args *args) { int error; #ifdef DEBUG printf("Linux-emul(%d): fork()\n", p->p_pid); #endif - if (error = fork(p, (struct fork_args *)args, retval)) + if (error = fork(p, (struct fork_args *)args)) return error; - if (retval[1] == 1) - retval[0] = 0; + if (p->p_retval[1] == 1) + p->p_retval[0] = 0; return 0; } @@ -575,7 +575,7 @@ struct linux_mmap_argv { }; int -linux_mmap(struct proc *p, struct linux_mmap_args *args, int *retval) +linux_mmap(struct proc *p, struct linux_mmap_args *args) { struct mmap_args /* { caddr_t addr; @@ -612,11 +612,11 @@ linux_mmap(struct proc *p, struct linux_mmap_args *args, int *retval) bsd_args.fd = linux_args.fd; bsd_args.pos = linux_args.pos; bsd_args.pad = 0; - return mmap(p, &bsd_args, retval); + return mmap(p, &bsd_args); } int -linux_msync(struct proc *p, struct linux_msync_args *args, int *retval) +linux_msync(struct proc *p, struct linux_msync_args *args) { struct msync_args bsd_args; @@ -624,27 +624,27 @@ linux_msync(struct proc *p, struct linux_msync_args *args, int *retval) bsd_args.len = args->len; bsd_args.flags = 0; /* XXX ignore */ - return msync(p, &bsd_args, retval); + return msync(p, &bsd_args); } int -linux_pipe(struct proc *p, struct linux_pipe_args *args, int *retval) +linux_pipe(struct proc *p, struct linux_pipe_args *args) { int error; #ifdef DEBUG printf("Linux-emul(%d): pipe(*)\n", p->p_pid); #endif - if (error = pipe(p, 0, retval)) + if (error = pipe(p, 0)) return error; - if (error = copyout(retval, args->pipefds, 2*sizeof(int))) + if (error = copyout(p->p_retval, args->pipefds, 2*sizeof(int))) return error; - *retval = 0; + p->p_retval[0] = 0; return 0; } int -linux_time(struct proc *p, struct linux_time_args *args, int *retval) +linux_time(struct proc *p, struct linux_time_args *args) { struct timeval tv; linux_time_t tm; @@ -657,7 +657,7 @@ linux_time(struct proc *p, struct linux_time_args *args, int *retval) tm = tv.tv_sec; if (args->tm && (error = copyout(&tm, args->tm, sizeof(linux_time_t)))) return error; - *retval = tm; + p->p_retval[0] = tm; return 0; } @@ -672,7 +672,7 @@ struct linux_times_argv { #define CONVTCK(r) (r.tv_sec * CLK_TCK + r.tv_usec / (1000000 / CLK_TCK)) int -linux_times(struct proc *p, struct linux_times_args *args, int *retval) +linux_times(struct proc *p, struct linux_times_args *args) { struct timeval tv; struct linux_times_argv tms; @@ -696,7 +696,7 @@ linux_times(struct proc *p, struct linux_times_args *args, int *retval) microtime(&tv); timevalsub(&tv, &boottime); - *retval = (int)CONVTCK(tv); + p->p_retval[0] = (int)CONVTCK(tv); return 0; } @@ -711,7 +711,7 @@ struct linux_newuname_t { }; int -linux_newuname(struct proc *p, struct linux_newuname_args *args, int *retval) +linux_newuname(struct proc *p, struct linux_newuname_args *args) { struct linux_newuname_t linux_newuname; @@ -735,7 +735,7 @@ struct linux_utimbuf { }; int -linux_utime(struct proc *p, struct linux_utime_args *args, int *retval) +linux_utime(struct proc *p, struct linux_utime_args *args) { struct utimes_args /* { char *path; @@ -768,11 +768,11 @@ linux_utime(struct proc *p, struct linux_utime_args *args, int *retval) bsdutimes.tptr = NULL; bsdutimes.path = args->fname; - return utimes(p, &bsdutimes, retval); + return utimes(p, &bsdutimes); } int -linux_waitpid(struct proc *p, struct linux_waitpid_args *args, int *retval) +linux_waitpid(struct proc *p, struct linux_waitpid_args *args) { struct wait_args /* { int pid; @@ -791,7 +791,7 @@ linux_waitpid(struct proc *p, struct linux_waitpid_args *args, int *retval) tmp.options = args->options; tmp.rusage = NULL; - if (error = wait4(p, &tmp, retval)) + if (error = wait4(p, &tmp)) return error; if (args->status) { if (error = copyin(args->status, &tmpstat, sizeof(int))) @@ -808,7 +808,7 @@ linux_waitpid(struct proc *p, struct linux_waitpid_args *args, int *retval) } int -linux_wait4(struct proc *p, struct linux_wait4_args *args, int *retval) +linux_wait4(struct proc *p, struct linux_wait4_args *args) { struct wait_args /* { int pid; @@ -827,7 +827,7 @@ linux_wait4(struct proc *p, struct linux_wait4_args *args, int *retval) tmp.options = args->options; tmp.rusage = args->rusage; - if (error = wait4(p, &tmp, retval)) + if (error = wait4(p, &tmp)) return error; p->p_siglist &= ~sigmask(SIGCHLD); @@ -847,7 +847,7 @@ linux_wait4(struct proc *p, struct linux_wait4_args *args, int *retval) } int -linux_mknod(struct proc *p, struct linux_mknod_args *args, int *retval) +linux_mknod(struct proc *p, struct linux_mknod_args *args) { caddr_t sg; struct mknod_args bsd_mknod; @@ -865,12 +865,12 @@ linux_mknod(struct proc *p, struct linux_mknod_args *args, int *retval) if (args->mode & S_IFIFO) { bsd_mkfifo.path = args->path; bsd_mkfifo.mode = args->mode; - return mkfifo(p, &bsd_mkfifo, retval); + return mkfifo(p, &bsd_mkfifo); } else { bsd_mknod.path = args->path; bsd_mknod.mode = args->mode; bsd_mknod.dev = args->dev; - return mknod(p, &bsd_mknod, retval); + return mknod(p, &bsd_mknod); } } @@ -878,8 +878,7 @@ linux_mknod(struct proc *p, struct linux_mknod_args *args, int *retval) * UGH! This is just about the dumbest idea I've ever heard!! */ int -linux_personality(struct proc *p, struct linux_personality_args *args, - int *retval) +linux_personality(struct proc *p, struct linux_personality_args *args) { #ifdef DEBUG printf("Linux-emul(%d): personality(%d)\n", @@ -889,7 +888,7 @@ linux_personality(struct proc *p, struct linux_personality_args *args, return EINVAL; /* Yes Jim, it's still a Linux... */ - retval[0] = 0; + p->p_retval[0] = 0; return 0; } @@ -897,7 +896,7 @@ linux_personality(struct proc *p, struct linux_personality_args *args, * Wrappers for get/setitimer for debugging.. */ int -linux_setitimer(struct proc *p, struct linux_setitimer_args *args, int *retval) +linux_setitimer(struct proc *p, struct linux_setitimer_args *args) { struct setitimer_args bsa; struct itimerval foo; @@ -919,11 +918,11 @@ linux_setitimer(struct proc *p, struct linux_setitimer_args *args, int *retval) printf("setitimer: interval: sec: %d, usec: %d\n", foo.it_interval.tv_sec, foo.it_interval.tv_usec); #endif } - return setitimer(p, &bsa, retval); + return setitimer(p, &bsa); } int -linux_getitimer(struct proc *p, struct linux_getitimer_args *args, int *retval) +linux_getitimer(struct proc *p, struct linux_getitimer_args *args) { struct getitimer_args bsa; #ifdef DEBUG @@ -932,11 +931,11 @@ linux_getitimer(struct proc *p, struct linux_getitimer_args *args, int *retval) #endif bsa.which = args->which; bsa.itv = args->itv; - return getitimer(p, &bsa, retval); + return getitimer(p, &bsa); } int -linux_iopl(struct proc *p, struct linux_iopl_args *args, int *retval) +linux_iopl(struct proc *p, struct linux_iopl_args *args) { int error; @@ -950,13 +949,13 @@ linux_iopl(struct proc *p, struct linux_iopl_args *args, int *retval) } int -linux_nice(struct proc *p, struct linux_nice_args *args, int *retval) +linux_nice(struct proc *p, struct linux_nice_args *args) { struct setpriority_args bsd_args; bsd_args.which = PRIO_PROCESS; bsd_args.who = 0; /* current process */ bsd_args.prio = args->inc; - return setpriority(p, &bsd_args, retval); + return setpriority(p, &bsd_args); } diff --git a/sys/i386/linux/linux_proto.h b/sys/i386/linux/linux_proto.h index 52a13b0..4d2fb37 100644 --- a/sys/i386/linux/linux_proto.h +++ b/sys/i386/linux/linux_proto.h @@ -362,100 +362,100 @@ struct linux_msync_args { int len; int fl; }; -int linux_setup __P((struct proc *, struct linux_setup_args *, int [])); -int linux_fork __P((struct proc *, struct linux_fork_args *, int [])); -int linux_open __P((struct proc *, struct linux_open_args *, int [])); -int linux_waitpid __P((struct proc *, struct linux_waitpid_args *, int [])); -int linux_creat __P((struct proc *, struct linux_creat_args *, int [])); -int linux_unlink __P((struct proc *, struct linux_unlink_args *, int [])); -int linux_execve __P((struct proc *, struct linux_execve_args *, int [])); -int linux_chdir __P((struct proc *, struct linux_chdir_args *, int [])); -int linux_time __P((struct proc *, struct linux_time_args *, int [])); -int linux_mknod __P((struct proc *, struct linux_mknod_args *, int [])); -int linux_chmod __P((struct proc *, struct linux_chmod_args *, int [])); -int linux_chown __P((struct proc *, struct linux_chown_args *, int [])); -int linux_break __P((struct proc *, struct linux_break_args *, int [])); -int linux_stat __P((struct proc *, struct linux_stat_args *, int [])); -int linux_lseek __P((struct proc *, struct linux_lseek_args *, int [])); -int linux_mount __P((struct proc *, struct linux_mount_args *, int [])); -int linux_umount __P((struct proc *, struct linux_umount_args *, int [])); -int linux_stime __P((struct proc *, struct linux_stime_args *, int [])); -int linux_ptrace __P((struct proc *, struct linux_ptrace_args *, int [])); -int linux_alarm __P((struct proc *, struct linux_alarm_args *, int [])); -int linux_fstat __P((struct proc *, struct linux_fstat_args *, int [])); -int linux_pause __P((struct proc *, struct linux_pause_args *, int [])); -int linux_utime __P((struct proc *, struct linux_utime_args *, int [])); -int linux_stty __P((struct proc *, struct linux_stty_args *, int [])); -int linux_gtty __P((struct proc *, struct linux_gtty_args *, int [])); -int linux_access __P((struct proc *, struct linux_access_args *, int [])); -int linux_nice __P((struct proc *, struct linux_nice_args *, int [])); -int linux_ftime __P((struct proc *, struct linux_ftime_args *, int [])); -int linux_kill __P((struct proc *, struct linux_kill_args *, int [])); -int linux_rename __P((struct proc *, struct linux_rename_args *, int [])); -int linux_mkdir __P((struct proc *, struct linux_mkdir_args *, int [])); -int linux_rmdir __P((struct proc *, struct linux_rmdir_args *, int [])); -int linux_pipe __P((struct proc *, struct linux_pipe_args *, int [])); -int linux_times __P((struct proc *, struct linux_times_args *, int [])); -int linux_prof __P((struct proc *, struct linux_prof_args *, int [])); -int linux_brk __P((struct proc *, struct linux_brk_args *, int [])); -int linux_signal __P((struct proc *, struct linux_signal_args *, int [])); -int linux_phys __P((struct proc *, struct linux_phys_args *, int [])); -int linux_lock __P((struct proc *, struct linux_lock_args *, int [])); -int linux_ioctl __P((struct proc *, struct linux_ioctl_args *, int [])); -int linux_fcntl __P((struct proc *, struct linux_fcntl_args *, int [])); -int linux_mpx __P((struct proc *, struct linux_mpx_args *, int [])); -int linux_ulimit __P((struct proc *, struct linux_ulimit_args *, int [])); -int linux_olduname __P((struct proc *, struct linux_olduname_args *, int [])); -int linux_ustat __P((struct proc *, struct linux_ustat_args *, int [])); -int linux_sigaction __P((struct proc *, struct linux_sigaction_args *, int [])); -int linux_siggetmask __P((struct proc *, struct linux_siggetmask_args *, int [])); -int linux_sigsetmask __P((struct proc *, struct linux_sigsetmask_args *, int [])); -int linux_sigsuspend __P((struct proc *, struct linux_sigsuspend_args *, int [])); -int linux_sigpending __P((struct proc *, struct linux_sigpending_args *, int [])); -int linux_select __P((struct proc *, struct linux_select_args *, int [])); -int linux_symlink __P((struct proc *, struct linux_symlink_args *, int [])); -int linux_readlink __P((struct proc *, struct linux_readlink_args *, int [])); -int linux_uselib __P((struct proc *, struct linux_uselib_args *, int [])); -int linux_readdir __P((struct proc *, struct linux_readdir_args *, int [])); -int linux_mmap __P((struct proc *, struct linux_mmap_args *, int [])); -int linux_truncate __P((struct proc *, struct linux_truncate_args *, int [])); -int linux_statfs __P((struct proc *, struct linux_statfs_args *, int [])); -int linux_fstatfs __P((struct proc *, struct linux_fstatfs_args *, int [])); -int linux_ioperm __P((struct proc *, struct linux_ioperm_args *, int [])); -int linux_socketcall __P((struct proc *, struct linux_socketcall_args *, int [])); -int linux_ksyslog __P((struct proc *, struct linux_ksyslog_args *, int [])); -int linux_setitimer __P((struct proc *, struct linux_setitimer_args *, int [])); -int linux_getitimer __P((struct proc *, struct linux_getitimer_args *, int [])); -int linux_newstat __P((struct proc *, struct linux_newstat_args *, int [])); -int linux_newlstat __P((struct proc *, struct linux_newlstat_args *, int [])); -int linux_newfstat __P((struct proc *, struct linux_newfstat_args *, int [])); -int linux_uname __P((struct proc *, struct linux_uname_args *, int [])); -int linux_iopl __P((struct proc *, struct linux_iopl_args *, int [])); -int linux_vhangup __P((struct proc *, struct linux_vhangup_args *, int [])); -int linux_idle __P((struct proc *, struct linux_idle_args *, int [])); -int linux_vm86 __P((struct proc *, struct linux_vm86_args *, int [])); -int linux_wait4 __P((struct proc *, struct linux_wait4_args *, int [])); -int linux_swapoff __P((struct proc *, struct linux_swapoff_args *, int [])); -int linux_sysinfo __P((struct proc *, struct linux_sysinfo_args *, int [])); -int linux_ipc __P((struct proc *, struct linux_ipc_args *, int [])); -int linux_sigreturn __P((struct proc *, struct linux_sigreturn_args *, int [])); -int linux_clone __P((struct proc *, struct linux_clone_args *, int [])); -int linux_newuname __P((struct proc *, struct linux_newuname_args *, int [])); -int linux_modify_ldt __P((struct proc *, struct linux_modify_ldt_args *, int [])); -int linux_adjtimex __P((struct proc *, struct linux_adjtimex_args *, int [])); -int linux_sigprocmask __P((struct proc *, struct linux_sigprocmask_args *, int [])); -int linux_create_module __P((struct proc *, struct linux_create_module_args *, int [])); -int linux_init_module __P((struct proc *, struct linux_init_module_args *, int [])); -int linux_delete_module __P((struct proc *, struct linux_delete_module_args *, int [])); -int linux_get_kernel_syms __P((struct proc *, struct linux_get_kernel_syms_args *, int [])); -int linux_quotactl __P((struct proc *, struct linux_quotactl_args *, int [])); -int linux_getpgid __P((struct proc *, struct linux_getpgid_args *, int [])); -int linux_bdflush __P((struct proc *, struct linux_bdflush_args *, int [])); -int linux_personality __P((struct proc *, struct linux_personality_args *, int [])); -int linux_llseek __P((struct proc *, struct linux_llseek_args *, int [])); -int linux_getdents __P((struct proc *, struct linux_getdents_args *, int [])); -int linux_newselect __P((struct proc *, struct linux_newselect_args *, int [])); -int linux_msync __P((struct proc *, struct linux_msync_args *, int [])); +int linux_setup __P((struct proc *, struct linux_setup_args *)); +int linux_fork __P((struct proc *, struct linux_fork_args *)); +int linux_open __P((struct proc *, struct linux_open_args *)); +int linux_waitpid __P((struct proc *, struct linux_waitpid_args *)); +int linux_creat __P((struct proc *, struct linux_creat_args *)); +int linux_unlink __P((struct proc *, struct linux_unlink_args *)); +int linux_execve __P((struct proc *, struct linux_execve_args *)); +int linux_chdir __P((struct proc *, struct linux_chdir_args *)); +int linux_time __P((struct proc *, struct linux_time_args *)); +int linux_mknod __P((struct proc *, struct linux_mknod_args *)); +int linux_chmod __P((struct proc *, struct linux_chmod_args *)); +int linux_chown __P((struct proc *, struct linux_chown_args *)); +int linux_break __P((struct proc *, struct linux_break_args *)); +int linux_stat __P((struct proc *, struct linux_stat_args *)); +int linux_lseek __P((struct proc *, struct linux_lseek_args *)); +int linux_mount __P((struct proc *, struct linux_mount_args *)); +int linux_umount __P((struct proc *, struct linux_umount_args *)); +int linux_stime __P((struct proc *, struct linux_stime_args *)); +int linux_ptrace __P((struct proc *, struct linux_ptrace_args *)); +int linux_alarm __P((struct proc *, struct linux_alarm_args *)); +int linux_fstat __P((struct proc *, struct linux_fstat_args *)); +int linux_pause __P((struct proc *, struct linux_pause_args *)); +int linux_utime __P((struct proc *, struct linux_utime_args *)); +int linux_stty __P((struct proc *, struct linux_stty_args *)); +int linux_gtty __P((struct proc *, struct linux_gtty_args *)); +int linux_access __P((struct proc *, struct linux_access_args *)); +int linux_nice __P((struct proc *, struct linux_nice_args *)); +int linux_ftime __P((struct proc *, struct linux_ftime_args *)); +int linux_kill __P((struct proc *, struct linux_kill_args *)); +int linux_rename __P((struct proc *, struct linux_rename_args *)); +int linux_mkdir __P((struct proc *, struct linux_mkdir_args *)); +int linux_rmdir __P((struct proc *, struct linux_rmdir_args *)); +int linux_pipe __P((struct proc *, struct linux_pipe_args *)); +int linux_times __P((struct proc *, struct linux_times_args *)); +int linux_prof __P((struct proc *, struct linux_prof_args *)); +int linux_brk __P((struct proc *, struct linux_brk_args *)); +int linux_signal __P((struct proc *, struct linux_signal_args *)); +int linux_phys __P((struct proc *, struct linux_phys_args *)); +int linux_lock __P((struct proc *, struct linux_lock_args *)); +int linux_ioctl __P((struct proc *, struct linux_ioctl_args *)); +int linux_fcntl __P((struct proc *, struct linux_fcntl_args *)); +int linux_mpx __P((struct proc *, struct linux_mpx_args *)); +int linux_ulimit __P((struct proc *, struct linux_ulimit_args *)); +int linux_olduname __P((struct proc *, struct linux_olduname_args *)); +int linux_ustat __P((struct proc *, struct linux_ustat_args *)); +int linux_sigaction __P((struct proc *, struct linux_sigaction_args *)); +int linux_siggetmask __P((struct proc *, struct linux_siggetmask_args *)); +int linux_sigsetmask __P((struct proc *, struct linux_sigsetmask_args *)); +int linux_sigsuspend __P((struct proc *, struct linux_sigsuspend_args *)); +int linux_sigpending __P((struct proc *, struct linux_sigpending_args *)); +int linux_select __P((struct proc *, struct linux_select_args *)); +int linux_symlink __P((struct proc *, struct linux_symlink_args *)); +int linux_readlink __P((struct proc *, struct linux_readlink_args *)); +int linux_uselib __P((struct proc *, struct linux_uselib_args *)); +int linux_readdir __P((struct proc *, struct linux_readdir_args *)); +int linux_mmap __P((struct proc *, struct linux_mmap_args *)); +int linux_truncate __P((struct proc *, struct linux_truncate_args *)); +int linux_statfs __P((struct proc *, struct linux_statfs_args *)); +int linux_fstatfs __P((struct proc *, struct linux_fstatfs_args *)); +int linux_ioperm __P((struct proc *, struct linux_ioperm_args *)); +int linux_socketcall __P((struct proc *, struct linux_socketcall_args *)); +int linux_ksyslog __P((struct proc *, struct linux_ksyslog_args *)); +int linux_setitimer __P((struct proc *, struct linux_setitimer_args *)); +int linux_getitimer __P((struct proc *, struct linux_getitimer_args *)); +int linux_newstat __P((struct proc *, struct linux_newstat_args *)); +int linux_newlstat __P((struct proc *, struct linux_newlstat_args *)); +int linux_newfstat __P((struct proc *, struct linux_newfstat_args *)); +int linux_uname __P((struct proc *, struct linux_uname_args *)); +int linux_iopl __P((struct proc *, struct linux_iopl_args *)); +int linux_vhangup __P((struct proc *, struct linux_vhangup_args *)); +int linux_idle __P((struct proc *, struct linux_idle_args *)); +int linux_vm86 __P((struct proc *, struct linux_vm86_args *)); +int linux_wait4 __P((struct proc *, struct linux_wait4_args *)); +int linux_swapoff __P((struct proc *, struct linux_swapoff_args *)); +int linux_sysinfo __P((struct proc *, struct linux_sysinfo_args *)); +int linux_ipc __P((struct proc *, struct linux_ipc_args *)); +int linux_sigreturn __P((struct proc *, struct linux_sigreturn_args *)); +int linux_clone __P((struct proc *, struct linux_clone_args *)); +int linux_newuname __P((struct proc *, struct linux_newuname_args *)); +int linux_modify_ldt __P((struct proc *, struct linux_modify_ldt_args *)); +int linux_adjtimex __P((struct proc *, struct linux_adjtimex_args *)); +int linux_sigprocmask __P((struct proc *, struct linux_sigprocmask_args *)); +int linux_create_module __P((struct proc *, struct linux_create_module_args *)); +int linux_init_module __P((struct proc *, struct linux_init_module_args *)); +int linux_delete_module __P((struct proc *, struct linux_delete_module_args *)); +int linux_get_kernel_syms __P((struct proc *, struct linux_get_kernel_syms_args *)); +int linux_quotactl __P((struct proc *, struct linux_quotactl_args *)); +int linux_getpgid __P((struct proc *, struct linux_getpgid_args *)); +int linux_bdflush __P((struct proc *, struct linux_bdflush_args *)); +int linux_personality __P((struct proc *, struct linux_personality_args *)); +int linux_llseek __P((struct proc *, struct linux_llseek_args *)); +int linux_getdents __P((struct proc *, struct linux_getdents_args *)); +int linux_newselect __P((struct proc *, struct linux_newselect_args *)); +int linux_msync __P((struct proc *, struct linux_msync_args *)); #ifdef COMPAT_43 diff --git a/sys/i386/linux/linux_signal.c b/sys/i386/linux/linux_signal.c index ec8f5bd..a85bf65 100644 --- a/sys/i386/linux/linux_signal.c +++ b/sys/i386/linux/linux_signal.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_signal.c,v 1.8 1997/02/22 09:38:24 peter Exp $ + * $Id: linux_signal.c,v 1.9 1997/07/20 16:06:03 bde Exp $ */ #include @@ -104,7 +104,7 @@ bsd_to_linux_sigaction(struct sigaction *bsa, linux_sigaction_t *lsa) } int -linux_sigaction(struct proc *p, struct linux_sigaction_args *args, int *retval) +linux_sigaction(struct proc *p, struct linux_sigaction_args *args) { linux_sigaction_t linux_sa; struct sigaction *nsa = NULL, *osa = NULL, bsd_sa; @@ -131,7 +131,7 @@ linux_sigaction(struct proc *p, struct linux_sigaction_args *args, int *retval) sa.signum = linux_to_bsd_signal[args->sig]; sa.nsa = nsa; sa.osa = osa; - if ((error = sigaction(p, &sa, retval))) + if ((error = sigaction(p, &sa))) return error; if (args->osa) { @@ -145,7 +145,7 @@ linux_sigaction(struct proc *p, struct linux_sigaction_args *args, int *retval) } int -linux_signal(struct proc *p, struct linux_signal_args *args, int *retval) +linux_signal(struct proc *p, struct linux_signal_args *args) { caddr_t sg; struct sigaction_args sa_args; @@ -169,21 +169,20 @@ linux_signal(struct proc *p, struct linux_signal_args *args, int *retval) sa_args.signum = linux_to_bsd_signal[args->sig]; sa_args.osa = osa; sa_args.nsa = nsa; - if ((error = sigaction(p, &sa_args, retval))) + if ((error = sigaction(p, &sa_args))) return error; if ((error = copyin(osa, &tmpsa, sizeof *osa))) return error; - *retval = (int)tmpsa.sa_handler; + p->p_retval[0] = (int)tmpsa.sa_handler; return 0; } int -linux_sigprocmask(struct proc *p, struct linux_sigprocmask_args *args, - int *retval) +linux_sigprocmask(struct proc *p, struct linux_sigprocmask_args *args) { int error, s; sigset_t mask; @@ -193,7 +192,7 @@ linux_sigprocmask(struct proc *p, struct linux_sigprocmask_args *args, printf("Linux-emul(%d): sigprocmask(%d, *, *)\n", p->p_pid, args->how); #endif - *retval = 0; + p->p_retval[0] = 0; if (args->omask != NULL) { omask = bsd_to_linux_sigset(p->p_sigmask); @@ -226,17 +225,17 @@ linux_sigprocmask(struct proc *p, struct linux_sigprocmask_args *args, } int -linux_siggetmask(struct proc *p, struct linux_siggetmask_args *args, int *retval) +linux_siggetmask(struct proc *p, struct linux_siggetmask_args *args) { #ifdef DEBUG printf("Linux-emul(%d): siggetmask()\n", p->p_pid); #endif - *retval = bsd_to_linux_sigset(p->p_sigmask); + p->p_retval[0] = bsd_to_linux_sigset(p->p_sigmask); return 0; } int -linux_sigsetmask(struct proc *p, struct linux_sigsetmask_args *args,int *retval) +linux_sigsetmask(struct proc *p, struct linux_sigsetmask_args *args) { int s; sigset_t mask; @@ -244,7 +243,7 @@ linux_sigsetmask(struct proc *p, struct linux_sigsetmask_args *args,int *retval) #ifdef DEBUG printf("Linux-emul(%d): sigsetmask(%08x)\n", p->p_pid, args->mask); #endif - *retval = bsd_to_linux_sigset(p->p_sigmask); + p->p_retval[0] = bsd_to_linux_sigset(p->p_sigmask); mask = linux_to_bsd_sigset(args->mask); s = splhigh(); @@ -254,7 +253,7 @@ linux_sigsetmask(struct proc *p, struct linux_sigsetmask_args *args,int *retval) } int -linux_sigpending(struct proc *p, struct linux_sigpending_args *args,int *retval) +linux_sigpending(struct proc *p, struct linux_sigpending_args *args) { linux_sigset_t linux_sig; @@ -271,7 +270,7 @@ linux_sigpending(struct proc *p, struct linux_sigpending_args *args,int *retval) * enables the signal to happen with a different register set. */ int -linux_sigsuspend(struct proc *p, struct linux_sigsuspend_args *args,int *retval) +linux_sigsuspend(struct proc *p, struct linux_sigsuspend_args *args) { struct sigsuspend_args tmp; @@ -279,11 +278,11 @@ linux_sigsuspend(struct proc *p, struct linux_sigsuspend_args *args,int *retval) printf("Linux-emul(%d): sigsuspend(%08x)\n", p->p_pid, args->mask); #endif tmp.mask = linux_to_bsd_sigset(args->mask); - return sigsuspend(p, &tmp , retval); + return sigsuspend(p, &tmp); } int -linux_pause(struct proc *p, struct linux_pause_args *args,int *retval) +linux_pause(struct proc *p, struct linux_pause_args *args) { struct sigsuspend_args tmp; @@ -291,11 +290,11 @@ linux_pause(struct proc *p, struct linux_pause_args *args,int *retval) printf("Linux-emul(%d): pause()\n", p->p_pid); #endif tmp.mask = p->p_sigmask; - return sigsuspend(p, &tmp , retval); + return sigsuspend(p, &tmp); } int -linux_kill(struct proc *p, struct linux_kill_args *args, int *retval) +linux_kill(struct proc *p, struct linux_kill_args *args) { struct kill_args /* { int pid; @@ -308,5 +307,5 @@ linux_kill(struct proc *p, struct linux_kill_args *args, int *retval) #endif tmp.pid = args->pid; tmp.signum = linux_to_bsd_signal[args->signum]; - return kill(p, &tmp, retval); + return kill(p, &tmp); } diff --git a/sys/i386/linux/linux_socket.c b/sys/i386/linux/linux_socket.c index 10d39d8..417aade 100644 --- a/sys/i386/linux/linux_socket.c +++ b/sys/i386/linux/linux_socket.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_socket.c,v 1.7 1997/02/22 09:38:25 peter Exp $ + * $Id: linux_socket.c,v 1.8 1997/07/20 16:06:04 bde Exp $ */ /* XXX we use functions that might not exist. */ @@ -138,7 +138,7 @@ struct linux_socket_args { }; static int -linux_socket(struct proc *p, struct linux_socket_args *args, int *retval) +linux_socket(struct proc *p, struct linux_socket_args *args) { struct linux_socket_args linux_args; struct socket_args /* { @@ -155,7 +155,7 @@ linux_socket(struct proc *p, struct linux_socket_args *args, int *retval) bsd_args.domain = linux_to_bsd_domain(linux_args.domain); if (bsd_args.domain == -1) return EINVAL; - return socket(p, &bsd_args, retval); + return socket(p, &bsd_args); } struct linux_bind_args { @@ -165,7 +165,7 @@ struct linux_bind_args { }; static int -linux_bind(struct proc *p, struct linux_bind_args *args, int *retval) +linux_bind(struct proc *p, struct linux_bind_args *args) { struct linux_bind_args linux_args; struct bind_args /* { @@ -180,7 +180,7 @@ linux_bind(struct proc *p, struct linux_bind_args *args, int *retval) bsd_args.s = linux_args.s; bsd_args.name = (caddr_t)linux_args.name; bsd_args.namelen = linux_args.namelen; - return bind(p, &bsd_args, retval); + return bind(p, &bsd_args); } struct linux_connect_args { @@ -190,7 +190,7 @@ struct linux_connect_args { }; static int -linux_connect(struct proc *p, struct linux_connect_args *args, int *retval) +linux_connect(struct proc *p, struct linux_connect_args *args) { struct linux_connect_args linux_args; struct connect_args /* { @@ -205,7 +205,7 @@ linux_connect(struct proc *p, struct linux_connect_args *args, int *retval) bsd_args.s = linux_args.s; bsd_args.name = (caddr_t)linux_args.name; bsd_args.namelen = linux_args.namelen; - return connect(p, &bsd_args, retval); + return connect(p, &bsd_args); } struct linux_listen_args { @@ -214,7 +214,7 @@ struct linux_listen_args { }; static int -linux_listen(struct proc *p, struct linux_listen_args *args, int *retval) +linux_listen(struct proc *p, struct linux_listen_args *args) { struct linux_listen_args linux_args; struct listen_args /* { @@ -227,7 +227,7 @@ linux_listen(struct proc *p, struct linux_listen_args *args, int *retval) return error; bsd_args.s = linux_args.s; bsd_args.backlog = linux_args.backlog; - return listen(p, &bsd_args, retval); + return listen(p, &bsd_args); } struct linux_accept_args { @@ -237,7 +237,7 @@ struct linux_accept_args { }; static int -linux_accept(struct proc *p, struct linux_accept_args *args, int *retval) +linux_accept(struct proc *p, struct linux_accept_args *args) { struct linux_accept_args linux_args; struct accept_args /* { @@ -252,7 +252,7 @@ linux_accept(struct proc *p, struct linux_accept_args *args, int *retval) bsd_args.s = linux_args.s; bsd_args.name = (caddr_t)linux_args.addr; bsd_args.anamelen = linux_args.namelen; - return oaccept(p, &bsd_args, retval); + return oaccept(p, &bsd_args); } struct linux_getsockname_args { @@ -262,7 +262,7 @@ struct linux_getsockname_args { }; static int -linux_getsockname(struct proc *p, struct linux_getsockname_args *args, int *retval) +linux_getsockname(struct proc *p, struct linux_getsockname_args *args) { struct linux_getsockname_args linux_args; struct getsockname_args /* { @@ -277,7 +277,7 @@ linux_getsockname(struct proc *p, struct linux_getsockname_args *args, int *retv bsd_args.fdes = linux_args.s; bsd_args.asa = (caddr_t) linux_args.addr; bsd_args.alen = linux_args.namelen; - return ogetsockname(p, &bsd_args, retval); + return ogetsockname(p, &bsd_args); } struct linux_getpeername_args { @@ -287,7 +287,7 @@ struct linux_getpeername_args { }; static int -linux_getpeername(struct proc *p, struct linux_getpeername_args *args, int *retval) +linux_getpeername(struct proc *p, struct linux_getpeername_args *args) { struct linux_getpeername_args linux_args; struct ogetpeername_args /* { @@ -302,7 +302,7 @@ linux_getpeername(struct proc *p, struct linux_getpeername_args *args, int *retv bsd_args.fdes = linux_args.s; bsd_args.asa = (caddr_t) linux_args.addr; bsd_args.alen = linux_args.namelen; - return ogetpeername(p, &bsd_args, retval); + return ogetpeername(p, &bsd_args); } struct linux_socketpair_args { @@ -313,7 +313,7 @@ struct linux_socketpair_args { }; static int -linux_socketpair(struct proc *p, struct linux_socketpair_args *args, int *retval) +linux_socketpair(struct proc *p, struct linux_socketpair_args *args) { struct linux_socketpair_args linux_args; struct socketpair_args /* { @@ -332,7 +332,7 @@ linux_socketpair(struct proc *p, struct linux_socketpair_args *args, int *retval bsd_args.type = linux_args.type; bsd_args.protocol = linux_args.protocol; bsd_args.rsv = linux_args.rsv; - return socketpair(p, &bsd_args, retval); + return socketpair(p, &bsd_args); } struct linux_send_args { @@ -343,7 +343,7 @@ struct linux_send_args { }; static int -linux_send(struct proc *p, struct linux_send_args *args, int *retval) +linux_send(struct proc *p, struct linux_send_args *args) { struct linux_send_args linux_args; struct osend_args /* { @@ -360,7 +360,7 @@ linux_send(struct proc *p, struct linux_send_args *args, int *retval) bsd_args.buf = linux_args.msg; bsd_args.len = linux_args.len; bsd_args.flags = linux_args.flags; - return osend(p, &bsd_args, retval); + return osend(p, &bsd_args); } struct linux_recv_args { @@ -371,7 +371,7 @@ struct linux_recv_args { }; static int -linux_recv(struct proc *p, struct linux_recv_args *args, int *retval) +linux_recv(struct proc *p, struct linux_recv_args *args) { struct linux_recv_args linux_args; struct orecv_args /* { @@ -388,7 +388,7 @@ linux_recv(struct proc *p, struct linux_recv_args *args, int *retval) bsd_args.buf = linux_args.msg; bsd_args.len = linux_args.len; bsd_args.flags = linux_args.flags; - return orecv(p, &bsd_args, retval); + return orecv(p, &bsd_args); } struct linux_sendto_args { @@ -401,7 +401,7 @@ struct linux_sendto_args { }; static int -linux_sendto(struct proc *p, struct linux_sendto_args *args, int *retval) +linux_sendto(struct proc *p, struct linux_sendto_args *args) { struct linux_sendto_args linux_args; struct sendto_args /* { @@ -422,7 +422,7 @@ linux_sendto(struct proc *p, struct linux_sendto_args *args, int *retval) bsd_args.flags = linux_args.flags; bsd_args.to = linux_args.to; bsd_args.tolen = linux_args.tolen; - return sendto(p, &bsd_args, retval); + return sendto(p, &bsd_args); } struct linux_recvfrom_args { @@ -435,7 +435,7 @@ struct linux_recvfrom_args { }; static int -linux_recvfrom(struct proc *p, struct linux_recvfrom_args *args, int *retval) +linux_recvfrom(struct proc *p, struct linux_recvfrom_args *args) { struct linux_recvfrom_args linux_args; struct recvfrom_args /* { @@ -456,7 +456,7 @@ linux_recvfrom(struct proc *p, struct linux_recvfrom_args *args, int *retval) bsd_args.flags = linux_args.flags; bsd_args.from = linux_args.from; bsd_args.fromlenaddr = linux_args.fromlen; - return orecvfrom(p, &bsd_args, retval); + return orecvfrom(p, &bsd_args); } struct linux_shutdown_args { @@ -465,7 +465,7 @@ struct linux_shutdown_args { }; static int -linux_shutdown(struct proc *p, struct linux_shutdown_args *args, int *retval) +linux_shutdown(struct proc *p, struct linux_shutdown_args *args) { struct linux_shutdown_args linux_args; struct shutdown_args /* { @@ -478,7 +478,7 @@ linux_shutdown(struct proc *p, struct linux_shutdown_args *args, int *retval) return error; bsd_args.s = linux_args.s; bsd_args.how = linux_args.how; - return shutdown(p, &bsd_args, retval); + return shutdown(p, &bsd_args); } struct linux_setsockopt_args { @@ -490,7 +490,7 @@ struct linux_setsockopt_args { }; static int -linux_setsockopt(struct proc *p, struct linux_setsockopt_args *args, int *retval) +linux_setsockopt(struct proc *p, struct linux_setsockopt_args *args) { struct linux_setsockopt_args linux_args; struct setsockopt_args /* { @@ -521,7 +521,7 @@ linux_setsockopt(struct proc *p, struct linux_setsockopt_args *args, int *retval bsd_args.name = name; bsd_args.val = linux_args.optval; bsd_args.valsize = linux_args.optlen; - return setsockopt(p, &bsd_args, retval); + return setsockopt(p, &bsd_args); } struct linux_getsockopt_args { @@ -533,7 +533,7 @@ struct linux_getsockopt_args { }; static int -linux_getsockopt(struct proc *p, struct linux_getsockopt_args *args, int *retval) +linux_getsockopt(struct proc *p, struct linux_getsockopt_args *args) { struct linux_getsockopt_args linux_args; struct getsockopt_args /* { @@ -563,43 +563,43 @@ linux_getsockopt(struct proc *p, struct linux_getsockopt_args *args, int *retval return EINVAL; bsd_args.val = linux_args.optval; bsd_args.avalsize = linux_args.optlen; - return getsockopt(p, &bsd_args, retval); + return getsockopt(p, &bsd_args); } int -linux_socketcall(struct proc *p, struct linux_socketcall_args *args,int *retval) +linux_socketcall(struct proc *p, struct linux_socketcall_args *args) { switch (args->what) { case LINUX_SOCKET: - return linux_socket(p, args->args, retval); + return linux_socket(p, args->args); case LINUX_BIND: - return linux_bind(p, args->args, retval); + return linux_bind(p, args->args); case LINUX_CONNECT: - return linux_connect(p, args->args, retval); + return linux_connect(p, args->args); case LINUX_LISTEN: - return linux_listen(p, args->args, retval); + return linux_listen(p, args->args); case LINUX_ACCEPT: - return linux_accept(p, args->args, retval); + return linux_accept(p, args->args); case LINUX_GETSOCKNAME: - return linux_getsockname(p, args->args, retval); + return linux_getsockname(p, args->args); case LINUX_GETPEERNAME: - return linux_getpeername(p, args->args, retval); + return linux_getpeername(p, args->args); case LINUX_SOCKETPAIR: - return linux_socketpair(p, args->args, retval); + return linux_socketpair(p, args->args); case LINUX_SEND: - return linux_send(p, args->args, retval); + return linux_send(p, args->args); case LINUX_RECV: - return linux_recv(p, args->args, retval); + return linux_recv(p, args->args); case LINUX_SENDTO: - return linux_sendto(p, args->args, retval); + return linux_sendto(p, args->args); case LINUX_RECVFROM: - return linux_recvfrom(p, args->args, retval); + return linux_recvfrom(p, args->args); case LINUX_SHUTDOWN: - return linux_shutdown(p, args->args, retval); + return linux_shutdown(p, args->args); case LINUX_SETSOCKOPT: - return linux_setsockopt(p, args->args, retval); + return linux_setsockopt(p, args->args); case LINUX_GETSOCKOPT: - return linux_getsockopt(p, args->args, retval); + return linux_getsockopt(p, args->args); default: uprintf("LINUX: 'socket' typ=%d not implemented\n", args->what); return ENOSYS; diff --git a/sys/i386/linux/linux_stats.c b/sys/i386/linux/linux_stats.c index 2505d74..3606e20 100644 --- a/sys/i386/linux/linux_stats.c +++ b/sys/i386/linux/linux_stats.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id$ + * $Id: linux_stats.c,v 1.8 1997/02/22 09:38:25 peter Exp $ */ #include @@ -91,7 +91,7 @@ newstat_copyout(struct stat *buf, void *ubuf) } int -linux_newstat(struct proc *p, struct linux_newstat_args *args, int *retval) +linux_newstat(struct proc *p, struct linux_newstat_args *args) { struct stat buf; struct nameidata nd; @@ -119,10 +119,9 @@ linux_newstat(struct proc *p, struct linux_newstat_args *args, int *retval) * Get file status; this version does not follow links. */ int -linux_newlstat(p, uap, retval) +linux_newlstat(p, uap) struct proc *p; struct linux_newlstat_args *uap; - int *retval; { int error; struct vnode *vp, *dvp; @@ -178,7 +177,7 @@ linux_newlstat(p, uap, retval) } int -linux_newfstat(struct proc *p, struct linux_newfstat_args *args, int *retval) +linux_newfstat(struct proc *p, struct linux_newfstat_args *args) { struct filedesc *fdp = p->p_fd; struct file *fp; @@ -224,7 +223,7 @@ struct linux_statfs_buf { }; int -linux_statfs(struct proc *p, struct linux_statfs_args *args, int *retval) +linux_statfs(struct proc *p, struct linux_statfs_args *args) { struct mount *mp; struct nameidata *ndp; @@ -265,7 +264,7 @@ linux_statfs(struct proc *p, struct linux_statfs_args *args, int *retval) } int -linux_fstatfs(struct proc *p, struct linux_fstatfs_args *args, int *retval) +linux_fstatfs(struct proc *p, struct linux_fstatfs_args *args) { struct file *fp; struct mount *mp; diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index f52cc6b..45f805d 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_sysvec.c,v 1.18 1997/08/25 23:41:39 bde Exp $ + * $Id: linux_sysvec.c,v 1.19 1997/09/01 02:12:39 bde Exp $ */ /* XXX we use functions that might not exist. */ @@ -268,10 +268,9 @@ linux_sendsig(sig_t catcher, int sig, int mask, u_long code) * a machine fault. */ int -linux_sigreturn(p, args, retval) +linux_sigreturn(p, args) struct proc *p; struct linux_sigreturn_args *args; - int *retval; { struct linux_sigcontext *scp, context; register struct trapframe *regs; -- cgit v1.1