From: Matthew Dillon Date: Wed, 30 Jul 2003 00:19:16 +0000 (+0000) Subject: syscall messaging 3: Expand the 'header' that goes in front of the syscall X-Git-Tag: v2.0.1~13192 X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff_plain/c7114eea35c253e90b0568995d74ae6f736fc451 syscall messaging 3: Expand the 'header' that goes in front of the syscall arguments in the kernel copy. The header was previously just an lwkt_msg. The header is now a 'union sysmsg'. 'union sysmsg' contains an lwkt_msg plus space for the additional meta data required to asynchronize various system calls. We haven't actually asynchronized anything yet and will not be able to until the reply port and abort processing infrastructure is in place. See sys/sysmsg.h for more information on the new header. Also cleanup syscall generation somewhat and add some ibcs2 stuff I missed. --- diff --git a/sys/Makefile b/sys/Makefile index 006c62e775..370f2a7c27 100644 --- a/sys/Makefile +++ b/sys/Makefile @@ -1,5 +1,5 @@ # $FreeBSD: src/sys/Makefile,v 1.20.2.1 2000/07/10 08:22:34 obrien Exp $ -# $DragonFly: src/sys/Makefile,v 1.3 2003/07/24 01:36:22 dillon Exp $ +# $DragonFly: src/sys/Makefile,v 1.4 2003/07/30 00:19:11 dillon Exp $ # This is the old aout only boot loader. .if exists(${.CURDIR}/${MACHINE_ARCH}/boot) && ${OBJFORMAT} == "aout" @@ -26,3 +26,5 @@ all_sysent: (cd ${.CURDIR}/svr4; ${MAKE} svr4_sysent.c) (cd ${.CURDIR}/i386/linux; ${MAKE} linux_sysent.c) (cd ${.CURDIR}/i386/ibcs2; ${MAKE} ibcs2_sysent.c) + (cd ${.CURDIR}/i386/ibcs2; ${MAKE} ibcs2_isc_sysent.c) + (cd ${.CURDIR}/i386/ibcs2; ${MAKE} ibcs2_xenix_sysent.c) diff --git a/sys/dev/misc/streams/streams.c b/sys/dev/misc/streams/streams.c index 14d6037284..8dad31ef60 100644 --- a/sys/dev/misc/streams/streams.c +++ b/sys/dev/misc/streams/streams.c @@ -31,7 +31,7 @@ * in 3.0-980524-SNAP then hacked a bit (but probably not enough :-). * * $FreeBSD: src/sys/dev/streams/streams.c,v 1.16.2.1 2001/02/26 04:23:07 jlemon Exp $ - * $DragonFly: src/sys/dev/misc/streams/Attic/streams.c,v 1.7 2003/07/29 20:03:02 dillon Exp $ + * $DragonFly: src/sys/dev/misc/streams/Attic/streams.c,v 1.8 2003/07/30 00:19:13 dillon Exp $ */ #include @@ -328,7 +328,7 @@ svr4_ptm_alloc(struct thread *td) case ENXIO: return error; case 0: - p->p_dupfd = oa.lmsg.u.ms_result; + p->p_dupfd = oa.sysmsg_result; return ENXIO; default: if (ttynumbers[++n] == '\0') { diff --git a/sys/emulation/ibcs2/i386/ibcs2_fcntl.c b/sys/emulation/ibcs2/i386/ibcs2_fcntl.c index b8a0abd630..72635a61e5 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_fcntl.c +++ b/sys/emulation/ibcs2/i386/ibcs2_fcntl.c @@ -25,7 +25,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/i386/ibcs2/ibcs2_fcntl.c,v 1.14 1999/09/19 17:00:14 green Exp $ - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_fcntl.c,v 1.6 2003/07/26 18:12:43 dillon Exp $ + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_fcntl.c,v 1.7 2003/07/30 00:19:13 dillon Exp $ */ #include "opt_spx_hack.h" @@ -194,7 +194,7 @@ ibcs2_open(struct ibcs2_open_args *uap) #endif /* SPX_HACK */ if (!ret && !noctty && p && SESS_LEADER(p) && !(p->p_flag & P_CONTROLT)) { struct filedesc *fdp = p->p_fd; - struct file *fp = fdp->fd_ofiles[uap->lmsg.u.ms_result]; + struct file *fp = fdp->fd_ofiles[uap->sysmsg_result]; /* ignore any error, just give it a try */ if (fp->f_type == DTYPE_VNODE) @@ -259,7 +259,7 @@ ibcs2_fcntl(struct ibcs2_fcntl_args *uap) error = fcntl(&fa); if (error) return error; - uap->lmsg.u.ms_result = oflags2ioflags(fa.lmsg.u.ms_result); + uap->sysmsg_result = oflags2ioflags(fa.sysmsg_result); return error; case IBCS2_F_SETFL: SCARG(&fa, fd) = SCARG(uap, fd); @@ -280,7 +280,7 @@ ibcs2_fcntl(struct ibcs2_fcntl_args *uap) SCARG(&fa, cmd) = F_GETLK; SCARG(&fa, arg) = (/* XXX */ int)flp; error = fcntl(&fa); - uap->lmsg.u.ms_result = fa.lmsg.u.ms_result; + uap->sysmsg_result = fa.sysmsg_result; if (error) return error; cvt_flock2iflock(flp, &ifl); @@ -320,6 +320,6 @@ ibcs2_fcntl(struct ibcs2_fcntl_args *uap) return ENOSYS; } error = fcntl(&fa); - uap->lmsg.u.ms_result = fa.lmsg.u.ms_result; + uap->sysmsg_result = fa.sysmsg_result; return(error); } diff --git a/sys/emulation/ibcs2/i386/ibcs2_isc_syscall.h b/sys/emulation/ibcs2/i386/ibcs2_isc_syscall.h index b4adae3947..6992959217 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_isc_syscall.h +++ b/sys/emulation/ibcs2/i386/ibcs2_isc_syscall.h @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_isc_syscall.h,v 1.3 2003/06/23 17:55:38 dillon Exp $ - * created from TurtleBSD: src/sys/i386/ibcs2/syscalls.isc,v 1.2 2003/06/17 04:28:35 dillon Exp + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_isc_syscall.h,v 1.4 2003/07/30 00:19:13 dillon Exp $ + * created from DragonFly: src/sys/i386/ibcs2/syscalls.isc,v 1.2 2003/06/17 04:28:35 dillon Exp */ #define IBCS2_ISC_ibcs2_rename 2 diff --git a/sys/emulation/ibcs2/i386/ibcs2_isc_sysent.c b/sys/emulation/ibcs2/i386/ibcs2_isc_sysent.c index c7ba4ef576..3c7d104641 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_isc_sysent.c +++ b/sys/emulation/ibcs2/i386/ibcs2_isc_sysent.c @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_isc_sysent.c,v 1.3 2003/06/23 17:55:38 dillon Exp $ - * created from TurtleBSD: src/sys/i386/ibcs2/syscalls.isc,v 1.2 2003/06/17 04:28:35 dillon Exp + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_isc_sysent.c,v 1.4 2003/07/30 00:19:13 dillon Exp $ + * created from DragonFly: src/sys/i386/ibcs2/syscalls.isc,v 1.2 2003/06/17 04:28:35 dillon Exp */ #include @@ -14,7 +14,7 @@ #include #include -#define AS(name) (sizeof(struct name) / sizeof(register_t)) +#define AS(name) ((sizeof(struct name) - sizeof(union sysmsg)) / sizeof(register_t)) /* The casts are bogus but will do for now. */ struct sysent isc_sysent[] = { diff --git a/sys/emulation/ibcs2/i386/ibcs2_misc.c b/sys/emulation/ibcs2/i386/ibcs2_misc.c index 99a8e823ae..4a9671f3c9 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_misc.c +++ b/sys/emulation/ibcs2/i386/ibcs2_misc.c @@ -46,7 +46,7 @@ * @(#)sun_misc.c 8.1 (Berkeley) 6/18/93 * * $FreeBSD: src/sys/i386/ibcs2/ibcs2_misc.c,v 1.34 1999/09/29 15:12:09 marcel Exp $ - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_misc.c,v 1.5 2003/07/26 18:12:43 dillon Exp $ + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_misc.c,v 1.6 2003/07/30 00:19:13 dillon Exp $ */ /* @@ -104,9 +104,9 @@ ibcs2_ulimit(struct ibcs2_ulimit_args *uap) switch (SCARG(uap, cmd)) { case IBCS2_GETFSIZE: - uap->lmsg.u.ms_result = p->p_rlimit[RLIMIT_FSIZE].rlim_cur; - if (uap->lmsg.u.ms_result == -1) - uap->lmsg.u.ms_result = 0x7fffffff; + uap->sysmsg_result = p->p_rlimit[RLIMIT_FSIZE].rlim_cur; + if (uap->sysmsg_result == -1) + uap->sysmsg_result = 0x7fffffff; return 0; case IBCS2_SETFSIZE: /* XXX - fix this */ #ifdef notyet @@ -115,16 +115,16 @@ ibcs2_ulimit(struct ibcs2_ulimit_args *uap) sra.rlp = &rl; error = setrlimit(&sra); if (!error) - uap->lmsg.u.ms_result = p->p_rlimit[RLIMIT_FSIZE].rlim_cur; + uap->sysmsg_result = p->p_rlimit[RLIMIT_FSIZE].rlim_cur; else DPRINTF(("failed ")); return error; #else - uap->lmsg.u.ms_result = SCARG(uap, newlimit); + uap->sysmsg_result = SCARG(uap, newlimit); return 0; #endif case IBCS2_GETPSIZE: - uap->lmsg.u.ms_result = p->p_rlimit[RLIMIT_RSS].rlim_cur; /* XXX */ + uap->sysmsg_result = p->p_rlimit[RLIMIT_RSS].rlim_cur; /* XXX */ return 0; case IBCS2_GETDTABLESIZE: uap->cmd = IBCS2_SC_OPEN_MAX; @@ -159,7 +159,7 @@ ibcs2_wait(struct ibcs2_wait_args *uap) } if ((error = wait4(&w4)) != 0) return error; - uap->lmsg.u.ms_fds[0] = w4.lmsg.u.ms_fds[0]; + uap->sysmsg_fds[0] = w4.sysmsg_fds[0]; if (SCARG(&w4, status)) { /* this is real iBCS brain-damage */ error = copyin((caddr_t)SCARG(&w4, status), (caddr_t)&status, sizeof(SCARG(&w4, status))); @@ -175,7 +175,7 @@ ibcs2_wait(struct ibcs2_wait_args *uap) /* else exit status -- identical */ /* record result/status */ - uap->lmsg.u.ms_fds[1] = status; + uap->sysmsg_fds[1] = status; return copyout((caddr_t)&status, (caddr_t)SCARG(&w4, status), sizeof(SCARG(&w4, status))); } @@ -195,7 +195,7 @@ ibcs2_execv(struct ibcs2_execv_args *uap) SCARG(&ea, argv) = SCARG(uap, argp); SCARG(&ea, envv) = NULL; error = execve(&ea); - uap->lmsg.u.ms_result = ea.lmsg.u.ms_result; + uap->sysmsg_result = ea.sysmsg_result; return(error); } @@ -216,7 +216,7 @@ ibcs2_umount(struct ibcs2_umount_args *uap) SCARG(&um, path) = SCARG(uap, name); SCARG(&um, flags) = 0; error = unmount(&um); - uap->lmsg.u.ms_result = um.lmsg.u.ms_result; + uap->sysmsg_result = um.sysmsg_result; return(error); } @@ -425,7 +425,7 @@ again: goto again; fp->f_offset = off; /* update the vnode offset */ eof: - uap->lmsg.u.ms_result = SCARG(uap, nbytes) - resid; + uap->sysmsg_result = SCARG(uap, nbytes) - resid; out: if (cookies) free(cookies, M_TEMP); @@ -578,7 +578,7 @@ again: goto again; fp->f_offset = off; /* update the vnode offset */ eof: - uap->lmsg.u.ms_result = SCARG(uap, nbytes) - resid; + uap->sysmsg_result = SCARG(uap, nbytes) - resid; out: if (cookies) free(cookies, M_TEMP); @@ -599,14 +599,14 @@ ibcs2_mknod(struct ibcs2_mknod_args *uap) SCARG(&ap, path) = SCARG(uap, path); SCARG(&ap, mode) = SCARG(uap, mode); error = mkfifo(&ap); - uap->lmsg.u.ms_result = ap.lmsg.u.ms_result; + uap->sysmsg_result = ap.sysmsg_result; } else { struct mknod_args ap; SCARG(&ap, path) = SCARG(uap, path); SCARG(&ap, mode) = SCARG(uap, mode); SCARG(&ap, dev) = SCARG(uap, dev); error = mknod(&ap); - uap->lmsg.u.ms_result = ap.lmsg.u.ms_result; + uap->sysmsg_result = ap.sysmsg_result; } return(error); } @@ -629,15 +629,15 @@ ibcs2_getgroups(struct ibcs2_getgroups_args *uap) } if ((error = getgroups(&sa)) != 0) return error; - uap->lmsg.u.ms_result = sa.lmsg.u.ms_result; + uap->sysmsg_result = sa.sysmsg_result; if (SCARG(uap, gidsetsize) == 0) return 0; - for (i = 0, gp = SCARG(&sa, gidset); i < uap->lmsg.u.ms_result; i++) + for (i = 0, gp = SCARG(&sa, gidset); i < uap->sysmsg_result; i++) iset[i] = (ibcs2_gid_t)*gp++; - if (uap->lmsg.u.ms_result && (error = copyout((caddr_t)iset, + if (uap->sysmsg_result && (error = copyout((caddr_t)iset, (caddr_t)SCARG(uap, gidset), - sizeof(ibcs2_gid_t) * uap->lmsg.u.ms_result))) + sizeof(ibcs2_gid_t) * uap->sysmsg_result))) return error; return 0; } @@ -665,7 +665,7 @@ ibcs2_setgroups(struct ibcs2_setgroups_args *uap) for (i = 0, gp = SCARG(&sa, gidset); i < SCARG(&sa, gidsetsize); i++) *gp++ = (gid_t)iset[i]; error = setgroups(&sa); - uap->lmsg.u.ms_result = sa.lmsg.u.ms_result; + uap->sysmsg_result = sa.sysmsg_result; return(error); } @@ -677,7 +677,7 @@ ibcs2_setuid(struct ibcs2_setuid_args *uap) SCARG(&sa, uid) = (uid_t)SCARG(uap, uid); error = setuid(&sa); - uap->lmsg.u.ms_result = sa.lmsg.u.ms_result; + uap->sysmsg_result = sa.sysmsg_result; return(error); } @@ -689,7 +689,7 @@ ibcs2_setgid(struct ibcs2_setgid_args *uap) SCARG(&sa, gid) = (gid_t)SCARG(uap, gid); error = setgid(&sa); - uap->lmsg.u.ms_result = sa.lmsg.u.ms_result; + uap->sysmsg_result = sa.sysmsg_result; return(error); } @@ -699,7 +699,7 @@ ibcs2_time(struct ibcs2_time_args *uap) struct timeval tv; microtime(&tv); - uap->lmsg.u.ms_result = tv.tv_sec; + uap->sysmsg_result = tv.tv_sec; if (SCARG(uap, tp)) return copyout((caddr_t)&tv.tv_sec, (caddr_t)SCARG(uap, tp), sizeof(ibcs2_time_t)); @@ -741,12 +741,12 @@ ibcs2_sysconf(struct ibcs2_sysconf_args *uap) SCARG(&ga, rlp) = stackgap_alloc(&sg, sizeof(struct rlimit *)); if ((error = getrlimit(&ga)) != 0) return error; - uap->lmsg.u.ms_result = SCARG(&ga, rlp)->rlim_cur; + uap->sysmsg_result = SCARG(&ga, rlp)->rlim_cur; return 0; } case IBCS2_SC_CLK_TCK: - uap->lmsg.u.ms_result = hz; + uap->sysmsg_result = hz; return 0; case IBCS2_SC_NGROUPS_MAX: @@ -761,7 +761,7 @@ ibcs2_sysconf(struct ibcs2_sysconf_args *uap) SCARG(&ga, rlp) = stackgap_alloc(&sg, sizeof(struct rlimit *)); if ((error = getrlimit(&ga)) != 0) return error; - uap->lmsg.u.ms_result = SCARG(&ga, rlp)->rlim_cur; + uap->sysmsg_result = SCARG(&ga, rlp)->rlim_cur; return 0; } @@ -778,11 +778,11 @@ ibcs2_sysconf(struct ibcs2_sysconf_args *uap) break; case IBCS2_SC_PASS_MAX: - uap->lmsg.u.ms_result = 128; /* XXX - should we create PASS_MAX ? */ + uap->sysmsg_result = 128; /* XXX - should we create PASS_MAX ? */ return 0; case IBCS2_SC_XOPEN_VERSION: - uap->lmsg.u.ms_result = 2; /* XXX: What should that be? */ + uap->sysmsg_result = 2; /* XXX: What should that be? */ return 0; default: @@ -799,7 +799,7 @@ ibcs2_sysconf(struct ibcs2_sysconf_args *uap) SCARG(&sa, newlen) = 0; if ((error = __sysctl(&sa)) != 0) return error; - uap->lmsg.u.ms_result = value; + uap->sysmsg_result = value; return 0; } @@ -825,7 +825,7 @@ ibcs2_alarm(struct ibcs2_alarm_args *uap) return error; if (oitp->it_value.tv_usec) oitp->it_value.tv_sec++; - uap->lmsg.u.ms_result = oitp->it_value.tv_sec; + uap->sysmsg_result = oitp->it_value.tv_sec; return 0; } @@ -856,7 +856,7 @@ ibcs2_times(struct ibcs2_times_args *uap) tms.tms_cstime = CONVTCK(ru->ru_stime); microtime(&t); - uap->lmsg.u.ms_result = CONVTCK(t); + uap->sysmsg_result = CONVTCK(t); return copyout((caddr_t)&tms, (caddr_t)SCARG(uap, tp), sizeof(struct tms)); @@ -877,7 +877,7 @@ ibcs2_stime(struct ibcs2_stime_args *uap) SCARG(&sa, tv)->tv_usec = 0; if ((error = settimeofday(&sa)) != 0) return EPERM; - uap->lmsg.u.ms_result = sa.lmsg.u.ms_result; + uap->sysmsg_result = sa.sysmsg_result; return 0; } @@ -908,7 +908,7 @@ ibcs2_utime(struct ibcs2_utime_args *uap) } else SCARG(&sa, tptr) = NULL; error = utimes(&sa); - uap->lmsg.u.ms_result = sa.lmsg.u.ms_result; + uap->sysmsg_result = sa.sysmsg_result; return(error); } @@ -924,7 +924,7 @@ ibcs2_nice(struct ibcs2_nice_args *uap) SCARG(&sa, prio) = p->p_nice + SCARG(uap, incr); if ((error = setpriority(&sa)) != 0) return EPERM; - uap->lmsg.u.ms_result = p->p_nice; + uap->sysmsg_result = p->p_nice; return 0; } @@ -939,7 +939,7 @@ ibcs2_pgrpsys(struct ibcs2_pgrpsys_args *uap) switch (SCARG(uap, type)) { case 0: /* getpgrp */ - uap->lmsg.u.ms_result = p->p_pgrp->pg_id; + uap->sysmsg_result = p->p_pgrp->pg_id; return 0; case 1: /* setpgrp */ @@ -949,7 +949,7 @@ ibcs2_pgrpsys(struct ibcs2_pgrpsys_args *uap) SCARG(&sa, pid) = 0; SCARG(&sa, pgid) = 0; setpgid(&sa); - uap->lmsg.u.ms_result = p->p_pgrp->pg_id; + uap->sysmsg_result = p->p_pgrp->pg_id; return 0; } @@ -961,7 +961,7 @@ ibcs2_pgrpsys(struct ibcs2_pgrpsys_args *uap) SCARG(&sa, pid) = SCARG(uap, pid); SCARG(&sa, pgid) = SCARG(uap, pgid); error = setpgid(&sa); - uap->lmsg.u.ms_result = sa.lmsg.u.ms_result; + uap->sysmsg_result = sa.sysmsg_result; return(error); } @@ -971,7 +971,7 @@ ibcs2_pgrpsys(struct ibcs2_pgrpsys_args *uap) int error; error = setsid(&sida); - uap->lmsg.u.ms_result = sida.lmsg.u.ms_result; + uap->sysmsg_result = sida.sysmsg_result; return(error); } diff --git a/sys/emulation/ibcs2/i386/ibcs2_msg.c b/sys/emulation/ibcs2/i386/ibcs2_msg.c index 2d185b4523..eb5e4c972e 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_msg.c +++ b/sys/emulation/ibcs2/i386/ibcs2_msg.c @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/i386/ibcs2/ibcs2_msg.c,v 1.7 1999/08/28 00:43:59 peter Exp $ - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_msg.c,v 1.4 2003/07/26 18:12:43 dillon Exp $ + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_msg.c,v 1.5 2003/07/30 00:19:13 dillon Exp $ */ /* @@ -104,10 +104,10 @@ ibcs2_poll(struct ibcs2_poll_args *uap) } if ((error = select(&tmp_select)) != 0) return error; - uap->lmsg.u.ms_result = tmp_select.lmsg.u.ms_result; - if (uap->lmsg.u.ms_result == 0) + uap->sysmsg_result = tmp_select.sysmsg_result; + if (uap->sysmsg_result == 0) return 0; - uap->lmsg.u.ms_result = 0; + uap->sysmsg_result = 0; for (i = 0; i < uap->nfds; i++) { copyin(uap->fds + i*sizeof(struct ibcs2_poll), &conv, sizeof(conv)); @@ -123,7 +123,7 @@ ibcs2_poll(struct ibcs2_poll_args *uap) if (FD_ISSET(conv.fd, exceptfds)) conv.revents |= IBCS2_POLLERR; if (conv.revents) - ++uap->lmsg.u.ms_result; + ++uap->sysmsg_result; } if ((error = copyout(&conv, uap->fds + i*sizeof(struct ibcs2_poll), diff --git a/sys/emulation/ibcs2/i386/ibcs2_other.c b/sys/emulation/ibcs2/i386/ibcs2_other.c index 6d4978bd0a..5f317544f3 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_other.c +++ b/sys/emulation/ibcs2/i386/ibcs2_other.c @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/i386/ibcs2/ibcs2_other.c,v 1.10 1999/08/28 00:43:59 peter Exp $ - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_other.c,v 1.5 2003/07/26 18:12:43 dillon Exp $ + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_other.c,v 1.6 2003/07/30 00:19:13 dillon Exp $ */ /* @@ -50,7 +50,7 @@ ibcs2_secure(struct ibcs2_secure_args *uap) switch (uap->cmd) { case IBCS2_SECURE_GETLUID: /* get login uid */ - uap->lmsg.u.ms_result = p->p_ucred->cr_uid; + uap->sysmsg_result = p->p_ucred->cr_uid; return 0; case IBCS2_SECURE_SETLUID: /* set login uid */ return EPERM; @@ -104,7 +104,7 @@ spx_open(struct ibcs2_open_args *uap) strlen(Xaddr->sun_path) + 1; copyout("/tmp/.X11-unix/X0", Xaddr->sun_path, 18); - conn.s = fd = uap->lmsg.u.ms_result; + conn.s = fd = uap->sysmsg_result; conn.name = (caddr_t)Xaddr; conn.namelen = sizeof(struct sockaddr_un); error = connect(&conn); @@ -114,7 +114,7 @@ spx_open(struct ibcs2_open_args *uap) close(&cl); return error; } - uap->lmsg.u.ms_result = fd; + uap->sysmsg_result = fd; return 0; } #endif /* SPX_HACK */ diff --git a/sys/emulation/ibcs2/i386/ibcs2_proto.h b/sys/emulation/ibcs2/i386/ibcs2_proto.h index f45412eab7..d919a49948 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_proto.h +++ b/sys/emulation/ibcs2/i386/ibcs2_proto.h @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_proto.h,v 1.5 2003/07/24 23:55:06 dillon Exp $ + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_proto.h,v 1.6 2003/07/30 00:19:13 dillon Exp $ * created from DragonFly: src/sys/i386/ibcs2/syscalls.master,v 1.2 2003/06/17 04:28:35 dillon Exp */ @@ -15,79 +15,81 @@ #include +#include + #define PAD_(t) (sizeof(register_t) <= sizeof(t) ? \ 0 : sizeof(register_t) - sizeof(t)) struct ibcs2_read_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; char * buf; char buf_[PAD_(char *)]; u_int nbytes; char nbytes_[PAD_(u_int)]; }; struct ibcs2_open_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int flags; char flags_[PAD_(int)]; int mode; char mode_[PAD_(int)]; }; struct ibcs2_wait_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int a1; char a1_[PAD_(int)]; int a2; char a2_[PAD_(int)]; int a3; char a3_[PAD_(int)]; }; struct ibcs2_creat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int mode; char mode_[PAD_(int)]; }; struct ibcs2_unlink_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; }; struct ibcs2_execv_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; char ** argp; char argp_[PAD_(char **)]; }; struct ibcs2_chdir_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; }; struct ibcs2_time_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; ibcs2_time_t * tp; char tp_[PAD_(ibcs2_time_t *)]; }; struct ibcs2_mknod_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int mode; char mode_[PAD_(int)]; int dev; char dev_[PAD_(int)]; }; struct ibcs2_chmod_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int mode; char mode_[PAD_(int)]; }; struct ibcs2_chown_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int uid; char uid_[PAD_(int)]; int gid; char gid_[PAD_(int)]; }; struct ibcs2_stat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct ibcs2_stat * st; char st_[PAD_(struct ibcs2_stat *)]; }; struct ibcs2_lseek_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; long offset; char offset_[PAD_(long)]; int whence; char whence_[PAD_(int)]; }; struct ibcs2_mount_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * special; char special_[PAD_(char *)]; char * dir; char dir_[PAD_(char *)]; int flags; char flags_[PAD_(int)]; @@ -96,82 +98,82 @@ struct ibcs2_mount_args { int len; char len_[PAD_(int)]; }; struct ibcs2_umount_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * name; char name_[PAD_(char *)]; }; struct ibcs2_setuid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int uid; char uid_[PAD_(int)]; }; struct ibcs2_stime_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; long * timep; char timep_[PAD_(long *)]; }; struct ibcs2_alarm_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; unsigned sec; char sec_[PAD_(unsigned)]; }; struct ibcs2_fstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct ibcs2_stat * st; char st_[PAD_(struct ibcs2_stat *)]; }; struct ibcs2_pause_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct ibcs2_utime_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct ibcs2_utimbuf * buf; char buf_[PAD_(struct ibcs2_utimbuf *)]; }; struct ibcs2_stty_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct sgttyb * buf; char buf_[PAD_(struct sgttyb *)]; }; struct ibcs2_gtty_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct sgttyb * buf; char buf_[PAD_(struct sgttyb *)]; }; struct ibcs2_access_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int flags; char flags_[PAD_(int)]; }; struct ibcs2_nice_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int incr; char incr_[PAD_(int)]; }; struct ibcs2_statfs_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct ibcs2_statfs * buf; char buf_[PAD_(struct ibcs2_statfs *)]; int len; char len_[PAD_(int)]; int fstype; char fstype_[PAD_(int)]; }; struct ibcs2_kill_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int pid; char pid_[PAD_(int)]; int signo; char signo_[PAD_(int)]; }; struct ibcs2_fstatfs_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct ibcs2_statfs * buf; char buf_[PAD_(struct ibcs2_statfs *)]; int len; char len_[PAD_(int)]; int fstype; char fstype_[PAD_(int)]; }; struct ibcs2_pgrpsys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int type; char type_[PAD_(int)]; caddr_t dummy; char dummy_[PAD_(caddr_t)]; int pid; char pid_[PAD_(int)]; int pgid; char pgid_[PAD_(int)]; }; struct ibcs2_xenix_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int a1; char a1_[PAD_(int)]; int a2; char a2_[PAD_(int)]; int a3; char a3_[PAD_(int)]; @@ -179,24 +181,24 @@ struct ibcs2_xenix_args { int a5; char a5_[PAD_(int)]; }; struct ibcs2_times_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct tms * tp; char tp_[PAD_(struct tms *)]; }; struct ibcs2_plock_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int cmd; char cmd_[PAD_(int)]; }; struct ibcs2_setgid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int gid; char gid_[PAD_(int)]; }; struct ibcs2_sigsys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int sig; char sig_[PAD_(int)]; ibcs2_sig_t fp; char fp_[PAD_(ibcs2_sig_t)]; }; struct ibcs2_msgsys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int which; char which_[PAD_(int)]; int a2; char a2_[PAD_(int)]; int a3; char a3_[PAD_(int)]; @@ -205,19 +207,19 @@ struct ibcs2_msgsys_args { int a6; char a6_[PAD_(int)]; }; struct ibcs2_sysi86_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int cmd; char cmd_[PAD_(int)]; int * arg; char arg_[PAD_(int *)]; }; struct ibcs2_shmsys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int which; char which_[PAD_(int)]; int a2; char a2_[PAD_(int)]; int a3; char a3_[PAD_(int)]; int a4; char a4_[PAD_(int)]; }; struct ibcs2_semsys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int which; char which_[PAD_(int)]; int a2; char a2_[PAD_(int)]; int a3; char a3_[PAD_(int)]; @@ -225,83 +227,83 @@ struct ibcs2_semsys_args { int a5; char a5_[PAD_(int)]; }; struct ibcs2_ioctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int cmd; char cmd_[PAD_(int)]; caddr_t data; char data_[PAD_(caddr_t)]; }; struct ibcs2_uadmin_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int cmd; char cmd_[PAD_(int)]; int func; char func_[PAD_(int)]; caddr_t data; char data_[PAD_(caddr_t)]; }; struct ibcs2_utssys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int a1; char a1_[PAD_(int)]; int a2; char a2_[PAD_(int)]; int flag; char flag_[PAD_(int)]; }; struct ibcs2_execve_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; char ** argp; char argp_[PAD_(char **)]; char ** envp; char envp_[PAD_(char **)]; }; struct ibcs2_fcntl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int cmd; char cmd_[PAD_(int)]; char * arg; char arg_[PAD_(char *)]; }; struct ibcs2_ulimit_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int cmd; char cmd_[PAD_(int)]; int newlimit; char newlimit_[PAD_(int)]; }; struct ibcs2_rmdir_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; }; struct ibcs2_mkdir_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int mode; char mode_[PAD_(int)]; }; struct ibcs2_getdents_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; char * buf; char buf_[PAD_(char *)]; int nbytes; char nbytes_[PAD_(int)]; }; struct ibcs2_sysfs_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int cmd; char cmd_[PAD_(int)]; caddr_t d1; char d1_[PAD_(caddr_t)]; char * buf; char buf_[PAD_(char *)]; }; struct ibcs2_getmsg_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct ibcs2_stropts * ctl; char ctl_[PAD_(struct ibcs2_stropts *)]; struct ibcs2_stropts * dat; char dat_[PAD_(struct ibcs2_stropts *)]; int * flags; char flags_[PAD_(int *)]; }; struct ibcs2_putmsg_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct ibcs2_stropts * ctl; char ctl_[PAD_(struct ibcs2_stropts *)]; struct ibcs2_stropts * dat; char dat_[PAD_(struct ibcs2_stropts *)]; int flags; char flags_[PAD_(int)]; }; struct ibcs2_poll_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct ibcs2_poll * fds; char fds_[PAD_(struct ibcs2_poll *)]; long nfds; char nfds_[PAD_(long)]; int timeout; char timeout_[PAD_(int)]; }; struct ibcs2_secure_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int cmd; char cmd_[PAD_(int)]; int a1; char a1_[PAD_(int)]; int a2; char a2_[PAD_(int)]; @@ -310,23 +312,23 @@ struct ibcs2_secure_args { int a5; char a5_[PAD_(int)]; }; struct ibcs2_symlink_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; char * link; char link_[PAD_(char *)]; }; struct ibcs2_lstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct ibcs2_stat * st; char st_[PAD_(struct ibcs2_stat *)]; }; struct ibcs2_readlink_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; char * buf; char buf_[PAD_(char *)]; int count; char count_[PAD_(int)]; }; struct ibcs2_isc_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; diff --git a/sys/emulation/ibcs2/i386/ibcs2_signal.c b/sys/emulation/ibcs2/i386/ibcs2_signal.c index 352af1a4fa..dbd0fae595 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_signal.c +++ b/sys/emulation/ibcs2/i386/ibcs2_signal.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/i386/ibcs2/ibcs2_signal.c,v 1.16 1999/10/10 09:14:31 marcel Exp $ - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_signal.c,v 1.4 2003/07/26 18:12:43 dillon Exp $ + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_signal.c,v 1.5 2003/07/30 00:19:14 dillon Exp $ */ #include @@ -244,7 +244,7 @@ ibcs2_sigsys(struct ibcs2_sigsys_args *uap) if (signum <= 0 || signum >= IBCS2_NSIG) { if (IBCS2_SIGCALL(SCARG(uap, sig)) == IBCS2_SIGNAL_MASK || IBCS2_SIGCALL(SCARG(uap, sig)) == IBCS2_SIGSET_MASK) - uap->lmsg.u.ms_result = (int)IBCS2_SIG_ERR; + uap->sysmsg_result = (int)IBCS2_SIG_ERR; return EINVAL; } @@ -301,7 +301,7 @@ ibcs2_sigsys(struct ibcs2_sigsys_args *uap) if (signum != SIGALRM) sa.sa_flags |= SA_RESTART; #endif - uap->lmsg.u.ms_result = (int)IBCS2_SIG_ERR; /* init error return */ + uap->sysmsg_result = (int)IBCS2_SIG_ERR; /* init error return */ /* perform native sigaction() */ if ((error = copyout(&sa, nbsa, sizeof(sa))) != 0) @@ -313,14 +313,14 @@ ibcs2_sigsys(struct ibcs2_sigsys_args *uap) } if ((error = copyin(obsa, &sa, sizeof(sa))) != 0) return error; - uap->lmsg.u.ms_result = (int)sa.sa_handler; + uap->sysmsg_result = (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*/ - uap->lmsg.u.ms_result = (int)IBCS2_SIG_HOLD; + uap->sysmsg_result = (int)IBCS2_SIG_HOLD; SIGDELSET(p->p_sigmask, signum); } diff --git a/sys/emulation/ibcs2/i386/ibcs2_syscall.h b/sys/emulation/ibcs2/i386/ibcs2_syscall.h index db416869b7..80bace0c96 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_syscall.h +++ b/sys/emulation/ibcs2/i386/ibcs2_syscall.h @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_syscall.h,v 1.5 2003/07/24 23:55:06 dillon Exp $ + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_syscall.h,v 1.6 2003/07/30 00:19:14 dillon Exp $ * created from DragonFly: src/sys/i386/ibcs2/syscalls.master,v 1.2 2003/06/17 04:28:35 dillon Exp */ diff --git a/sys/emulation/ibcs2/i386/ibcs2_sysent.c b/sys/emulation/ibcs2/i386/ibcs2_sysent.c index 46e766b54d..3c8fa12712 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_sysent.c +++ b/sys/emulation/ibcs2/i386/ibcs2_sysent.c @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_sysent.c,v 1.5 2003/07/24 23:55:06 dillon Exp $ + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_sysent.c,v 1.6 2003/07/30 00:19:14 dillon Exp $ * created from DragonFly: src/sys/i386/ibcs2/syscalls.master,v 1.2 2003/06/17 04:28:35 dillon Exp */ @@ -13,7 +13,7 @@ #include #include -#define AS(name) ((sizeof(struct name) - sizeof(struct lwkt_msg)) / sizeof(register_t)) +#define AS(name) ((sizeof(struct name) - sizeof(union sysmsg)) / sizeof(register_t)) /* The casts are bogus but will do for now. */ struct sysent ibcs2_sysent[] = { diff --git a/sys/emulation/ibcs2/i386/ibcs2_sysi86.c b/sys/emulation/ibcs2/i386/ibcs2_sysi86.c index 015fcdd95e..6b5e773f31 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_sysi86.c +++ b/sys/emulation/ibcs2/i386/ibcs2_sysi86.c @@ -27,7 +27,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * ibcs2_sysi86.c,v 1.1 1994/10/14 08:53:11 sos Exp - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_sysi86.c,v 1.4 2003/07/26 18:12:43 dillon Exp $ + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_sysi86.c,v 1.5 2003/07/30 00:19:14 dillon Exp $ */ #include @@ -85,7 +85,7 @@ ibcs2_sysi86(struct ibcs2_sysi86_args *args) } case SI86_MEM: /* size of physical memory */ - args->lmsg.u.ms_result = ctob(physmem); + args->sysmsg_result = ctob(physmem); return 0; default: diff --git a/sys/emulation/ibcs2/i386/ibcs2_union.h b/sys/emulation/ibcs2/i386/ibcs2_union.h index cd3a354018..a1fdbe38d3 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_union.h +++ b/sys/emulation/ibcs2/i386/ibcs2_union.h @@ -2,12 +2,13 @@ * Union of syscall args for messaging. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_union.h,v 1.1 2003/07/24 23:55:06 dillon Exp $ + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_union.h,v 1.2 2003/07/30 00:19:14 dillon Exp $ * created from DragonFly: src/sys/i386/ibcs2/syscalls.master,v 1.2 2003/06/17 04:28:35 dillon Exp */ union sysunion { - struct lwkt_msg lmsg; + struct lwkt_msg lmsg; + union sysmsg sysmsg; struct ibcs2_read_args ibcs2_read; struct ibcs2_open_args ibcs2_open; struct ibcs2_wait_args ibcs2_wait; @@ -65,5 +66,3 @@ union sysunion { struct ibcs2_readlink_args ibcs2_readlink; struct ibcs2_isc_args ibcs2_isc; }; - -typedef union sysunion *sysmsg_t; diff --git a/sys/emulation/ibcs2/i386/ibcs2_xenix.c b/sys/emulation/ibcs2/i386/ibcs2_xenix.c index df8189611d..314565ca5d 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_xenix.c +++ b/sys/emulation/ibcs2/i386/ibcs2_xenix.c @@ -28,7 +28,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/i386/ibcs2/ibcs2_xenix.c,v 1.20 1999/12/15 23:01:46 eivind Exp $ - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_xenix.c,v 1.6 2003/07/26 18:12:43 dillon Exp $ + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_xenix.c,v 1.7 2003/07/30 00:19:14 dillon Exp $ */ #include @@ -85,7 +85,7 @@ xenix_rdchk(struct xenix_rdchk_args *uap) SCARG(&sa, data) = stackgap_alloc(&sg, sizeof(int)); if ((error = ioctl(&sa)) != 0) return error; - uap->lmsg.u.ms_result = (*((int*)SCARG(&sa, data))) ? 1 : 0; + uap->sysmsg_result = (*((int*)SCARG(&sa, data))) ? 1 : 0; return 0; } @@ -185,7 +185,7 @@ int xenix_scoinfo(struct xenix_scoinfo_args *uap) { /* scoinfo (not documented) */ - uap->lmsg.u.ms_result = 0; + uap->sysmsg_result = 0; return 0; } diff --git a/sys/emulation/ibcs2/i386/ibcs2_xenix.h b/sys/emulation/ibcs2/i386/ibcs2_xenix.h index d96b244911..f86dfa2437 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_xenix.h +++ b/sys/emulation/ibcs2/i386/ibcs2_xenix.h @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_xenix.h,v 1.4 2003/07/26 18:12:43 dillon Exp $ - * created from TurtleBSD: src/sys/i386/ibcs2/syscalls.xenix,v 1.2 2003/06/17 04:28:35 dillon Exp + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_xenix.h,v 1.5 2003/07/30 00:19:14 dillon Exp $ + * created from DragonFly: src/sys/i386/ibcs2/syscalls.xenix,v 1.2 2003/06/17 04:28:35 dillon Exp */ #ifndef _IBCS2_XENIX_H_ @@ -13,88 +13,95 @@ #include +#include + +#include + #define PAD_(t) (sizeof(register_t) <= sizeof(t) ? \ 0 : sizeof(register_t) - sizeof(t)) struct xenix_rdchk_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; }; struct xenix_chsize_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; long size; char size_[PAD_(long)]; }; struct xenix_ftime_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct timeb * tp; char tp_[PAD_(struct timeb *)]; }; struct xenix_nap_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int millisec; char millisec_[PAD_(int)]; }; struct xenix_scoinfo_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct xenix_eaccess_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int flags; char flags_[PAD_(int)]; }; struct ibcs2_sigaction_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int sig; char sig_[PAD_(int)]; struct ibcs2_sigaction * act; char act_[PAD_(struct ibcs2_sigaction *)]; struct ibcs2_sigaction * oact; char oact_[PAD_(struct ibcs2_sigaction *)]; }; struct ibcs2_sigprocmask_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int how; char how_[PAD_(int)]; ibcs2_sigset_t * set; char set_[PAD_(ibcs2_sigset_t *)]; ibcs2_sigset_t * oset; char oset_[PAD_(ibcs2_sigset_t *)]; }; struct ibcs2_sigpending_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; ibcs2_sigset_t * mask; char mask_[PAD_(ibcs2_sigset_t *)]; }; struct ibcs2_sigsuspend_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; ibcs2_sigset_t * mask; char mask_[PAD_(ibcs2_sigset_t *)]; }; struct ibcs2_getgroups_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int gidsetsize; char gidsetsize_[PAD_(int)]; ibcs2_gid_t * gidset; char gidset_[PAD_(ibcs2_gid_t *)]; }; struct ibcs2_setgroups_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int gidsetsize; char gidsetsize_[PAD_(int)]; ibcs2_gid_t * gidset; char gidset_[PAD_(ibcs2_gid_t *)]; }; struct ibcs2_sysconf_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int name; char name_[PAD_(int)]; }; struct ibcs2_pathconf_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int name; char name_[PAD_(int)]; }; struct ibcs2_fpathconf_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int name; char name_[PAD_(int)]; }; struct ibcs2_rename_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * from; char from_[PAD_(char *)]; char * to; char to_[PAD_(char *)]; }; struct xenix_utsname_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; long addr; char addr_[PAD_(long)]; }; + +#ifdef _KERNEL + int xenix_rdchk __P((struct xenix_rdchk_args *)); int xenix_chsize __P((struct xenix_chsize_args *)); int xenix_ftime __P((struct xenix_ftime_args *)); @@ -113,9 +120,16 @@ int ibcs2_fpathconf __P((struct ibcs2_fpathconf_args *)); int ibcs2_rename __P((struct ibcs2_rename_args *)); int xenix_utsname __P((struct xenix_utsname_args *)); +#endif /* _KERNEL */ + #ifdef COMPAT_43 +#ifdef _KERNEL + + +#endif /* _KERNEL */ + #endif /* COMPAT_43 */ #undef PAD_ diff --git a/sys/emulation/ibcs2/i386/ibcs2_xenix_syscall.h b/sys/emulation/ibcs2/i386/ibcs2_xenix_syscall.h index 0572317a76..2b7ed920fe 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_xenix_syscall.h +++ b/sys/emulation/ibcs2/i386/ibcs2_xenix_syscall.h @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_xenix_syscall.h,v 1.3 2003/06/23 17:55:38 dillon Exp $ - * created from TurtleBSD: src/sys/i386/ibcs2/syscalls.xenix,v 1.2 2003/06/17 04:28:35 dillon Exp + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_xenix_syscall.h,v 1.4 2003/07/30 00:19:14 dillon Exp $ + * created from DragonFly: src/sys/i386/ibcs2/syscalls.xenix,v 1.2 2003/06/17 04:28:35 dillon Exp */ #define IBCS2_XENIX_xenix_rdchk 7 diff --git a/sys/emulation/ibcs2/i386/ibcs2_xenix_sysent.c b/sys/emulation/ibcs2/i386/ibcs2_xenix_sysent.c index c20ef263bb..32ec250733 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_xenix_sysent.c +++ b/sys/emulation/ibcs2/i386/ibcs2_xenix_sysent.c @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_xenix_sysent.c,v 1.3 2003/06/23 17:55:38 dillon Exp $ - * created from TurtleBSD: src/sys/i386/ibcs2/syscalls.xenix,v 1.2 2003/06/17 04:28:35 dillon Exp + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_xenix_sysent.c,v 1.4 2003/07/30 00:19:14 dillon Exp $ + * created from DragonFly: src/sys/i386/ibcs2/syscalls.xenix,v 1.2 2003/06/17 04:28:35 dillon Exp */ #include @@ -13,7 +13,7 @@ #include #include -#define AS(name) (sizeof(struct name) / sizeof(register_t)) +#define AS(name) ((sizeof(struct name) - sizeof(union sysmsg)) / sizeof(register_t)) /* The casts are bogus but will do for now. */ struct sysent xenix_sysent[] = { diff --git a/sys/emulation/ibcs2/i386/syscalls.isc.conf b/sys/emulation/ibcs2/i386/syscalls.isc.conf index ca72981034..47b21a6b91 100644 --- a/sys/emulation/ibcs2/i386/syscalls.isc.conf +++ b/sys/emulation/ibcs2/i386/syscalls.isc.conf @@ -1,8 +1,9 @@ # syscalls.conf $FreeBSD: src/sys/i386/ibcs2/syscalls.isc.conf,v 1.5 1999/08/28 00:44:02 peter Exp $ -# syscalls.conf $DragonFly: src/sys/emulation/ibcs2/i386/Attic/syscalls.isc.conf,v 1.2 2003/06/17 04:28:35 dillon Exp $ +# syscalls.conf $DragonFly: src/sys/emulation/ibcs2/i386/Attic/syscalls.isc.conf,v 1.3 2003/07/30 00:19:14 dillon Exp $ sysnames="/dev/null" #sysproto="ibcs2_isc.h" sysproto="/dev/null" +sysunion="/dev/null" sysproto_h=_IBCS2_ISC_H_ syshdr="ibcs2_isc_syscall.h" sysmk="/dev/null" diff --git a/sys/emulation/ibcs2/i386/syscalls.xenix.conf b/sys/emulation/ibcs2/i386/syscalls.xenix.conf index c6d5a804b6..24cfc9df8b 100644 --- a/sys/emulation/ibcs2/i386/syscalls.xenix.conf +++ b/sys/emulation/ibcs2/i386/syscalls.xenix.conf @@ -1,7 +1,8 @@ # syscalls.conf $FreeBSD: src/sys/i386/ibcs2/syscalls.xenix.conf,v 1.5 1999/08/28 00:44:02 peter Exp $ -# syscalls.conf $DragonFly: src/sys/emulation/ibcs2/i386/Attic/syscalls.xenix.conf,v 1.2 2003/06/17 04:28:35 dillon Exp $ +# syscalls.conf $DragonFly: src/sys/emulation/ibcs2/i386/Attic/syscalls.xenix.conf,v 1.3 2003/07/30 00:19:14 dillon Exp $ sysnames="/dev/null" sysproto="ibcs2_xenix.h" +sysunion="ibcs2_xenix_union.h" sysproto_h=_IBCS2_XENIX_H_ syshdr="ibcs2_xenix_syscall.h" sysmk="/dev/null" diff --git a/sys/emulation/linux/i386/linux_machdep.c b/sys/emulation/linux/i386/linux_machdep.c index 9eb96a405b..9929383960 100644 --- a/sys/emulation/linux/i386/linux_machdep.c +++ b/sys/emulation/linux/i386/linux_machdep.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/i386/linux/linux_machdep.c,v 1.6.2.4 2001/11/05 19:08:23 marcel Exp $ - * $DragonFly: src/sys/emulation/linux/i386/linux_machdep.c,v 1.6 2003/07/26 18:12:43 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/i386/linux_machdep.c,v 1.7 2003/07/30 00:19:14 dillon Exp $ */ #include @@ -113,12 +113,12 @@ linux_execve(struct linux_execve_args *args) printf(ARGS(execve, "%s"), args->path); #endif - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; bsd.fname = args->path; bsd.argv = args->argp; bsd.envv = args->envp; error = execve(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -139,9 +139,9 @@ linux_ipc(struct linux_ipc_args *args) a.semid = args->arg1; a.tsops = args->ptr; a.nsops = args->arg2; - a.lmsg.u.ms_lresult = 0; + a.sysmsg_lresult = 0; error = linux_semop(&a); - args->lmsg.u.ms_lresult = a.lmsg.u.ms_lresult; + args->sysmsg_lresult = a.sysmsg_lresult; break; } case LINUX_SEMGET: { @@ -150,9 +150,9 @@ linux_ipc(struct linux_ipc_args *args) a.key = args->arg1; a.nsems = args->arg2; a.semflg = args->arg3; - a.lmsg.u.ms_lresult = 0; + a.sysmsg_lresult = 0; error = linux_semget(&a); - args->lmsg.u.ms_lresult = a.lmsg.u.ms_lresult; + args->sysmsg_lresult = a.sysmsg_lresult; break; } case LINUX_SEMCTL: { @@ -162,12 +162,12 @@ linux_ipc(struct linux_ipc_args *args) a.semid = args->arg1; a.semnum = args->arg2; a.cmd = args->arg3; - a.lmsg.u.ms_lresult = 0; + a.sysmsg_lresult = 0; error = copyin((caddr_t)args->ptr, &a.arg, sizeof(a.arg)); if (error) return (error); error = linux_semctl(&a); - args->lmsg.u.ms_lresult = a.lmsg.u.ms_lresult; + args->sysmsg_lresult = a.sysmsg_lresult; break; } case LINUX_MSGSND: { @@ -177,9 +177,9 @@ linux_ipc(struct linux_ipc_args *args) a.msgp = args->ptr; a.msgsz = args->arg2; a.msgflg = args->arg3; - a.lmsg.u.ms_lresult = 0; + a.sysmsg_lresult = 0; error = linux_msgsnd(&a); - args->lmsg.u.ms_lresult = a.lmsg.u.ms_lresult; + args->sysmsg_lresult = a.sysmsg_lresult; break; } case LINUX_MSGRCV: { @@ -188,7 +188,7 @@ linux_ipc(struct linux_ipc_args *args) a.msqid = args->arg1; a.msgsz = args->arg2; a.msgflg = args->arg3; - a.lmsg.u.ms_lresult = 0; + a.sysmsg_lresult = 0; if ((args->what >> 16) == 0) { struct l_ipc_kludge tmp; int error; @@ -205,7 +205,7 @@ linux_ipc(struct linux_ipc_args *args) a.msgtyp = args->arg5; } error = linux_msgrcv(&a); - args->lmsg.u.ms_lresult = a.lmsg.u.ms_lresult; + args->sysmsg_lresult = a.sysmsg_lresult; break; } case LINUX_MSGGET: { @@ -213,9 +213,9 @@ linux_ipc(struct linux_ipc_args *args) a.key = args->arg1; a.msgflg = args->arg2; - a.lmsg.u.ms_lresult = 0; + a.sysmsg_lresult = 0; error = linux_msgget(&a); - args->lmsg.u.ms_lresult = a.lmsg.u.ms_lresult; + args->sysmsg_lresult = a.sysmsg_lresult; break; } case LINUX_MSGCTL: { @@ -224,9 +224,9 @@ linux_ipc(struct linux_ipc_args *args) a.msqid = args->arg1; a.cmd = args->arg2; a.buf = args->ptr; - a.lmsg.u.ms_lresult = 0; + a.sysmsg_lresult = 0; error = linux_msgctl(&a); - args->lmsg.u.ms_lresult = a.lmsg.u.ms_lresult; + args->sysmsg_lresult = a.sysmsg_lresult; break; } case LINUX_SHMAT: { @@ -236,18 +236,18 @@ linux_ipc(struct linux_ipc_args *args) a.shmaddr = args->ptr; a.shmflg = args->arg2; a.raddr = (l_ulong *)args->arg3; - a.lmsg.u.ms_lresult = 0; + a.sysmsg_lresult = 0; error = linux_shmat(&a); - args->lmsg.u.ms_lresult = a.lmsg.u.ms_lresult; + args->sysmsg_lresult = a.sysmsg_lresult; break; } case LINUX_SHMDT: { struct linux_shmdt_args a; a.shmaddr = args->ptr; - a.lmsg.u.ms_lresult = 0; + a.sysmsg_lresult = 0; error = linux_shmdt(&a); - args->lmsg.u.ms_lresult = a.lmsg.u.ms_lresult; + args->sysmsg_lresult = a.sysmsg_lresult; break; } case LINUX_SHMGET: { @@ -256,9 +256,9 @@ linux_ipc(struct linux_ipc_args *args) a.key = args->arg1; a.size = args->arg2; a.shmflg = args->arg3; - a.lmsg.u.ms_lresult = 0; + a.sysmsg_lresult = 0; error = linux_shmget(&a); - args->lmsg.u.ms_lresult = a.lmsg.u.ms_lresult; + args->sysmsg_lresult = a.sysmsg_lresult; break; } case LINUX_SHMCTL: { @@ -267,9 +267,9 @@ linux_ipc(struct linux_ipc_args *args) a.shmid = args->arg1; a.cmd = args->arg2; a.buf = args->ptr; - a.lmsg.u.ms_lresult = 0; + a.sysmsg_lresult = 0; error = linux_shmctl(&a); - args->lmsg.u.ms_lresult = a.lmsg.u.ms_lresult; + args->sysmsg_lresult = a.sysmsg_lresult; break; } default: @@ -295,14 +295,14 @@ linux_old_select(struct linux_old_select_args *args) if (error) return (error); - newsel.lmsg.u.ms_result = 0; + newsel.sysmsg_result = 0; newsel.nfds = linux_args.nfds; newsel.readfds = linux_args.readfds; newsel.writefds = linux_args.writefds; newsel.exceptfds = linux_args.exceptfds; newsel.timeout = linux_args.timeout; error = linux_select(&newsel); - args->lmsg.u.ms_result = newsel.lmsg.u.ms_result; + args->sysmsg_result = newsel.sysmsg_result; return(error); } @@ -319,8 +319,8 @@ linux_fork(struct linux_fork_args *args) if ((error = fork((struct fork_args *)args)) != 0) return (error); - if (args->lmsg.u.ms_result == 1) - args->lmsg.u.ms_result = 0; + if (args->sysmsg_result == 1) + args->sysmsg_result = 0; return (0); } @@ -337,8 +337,8 @@ linux_vfork(struct linux_vfork_args *args) if ((error = vfork((struct vfork_args *)args)) != 0) return (error); /* Are we the child? */ - if (args->lmsg.u.ms_result == 1) - args->lmsg.u.ms_result = 0; + if (args->sysmsg_result == 1) + args->sysmsg_result = 0; return (0); } @@ -390,12 +390,12 @@ linux_clone(struct linux_clone_args *args) start = 0; rf_args.flags = ff; - rf_args.lmsg.u.ms_result = 0; + rf_args.sysmsg_result = 0; if ((error = rfork(&rf_args)) != 0) return (error); - args->lmsg.u.ms_result = rf_args.lmsg.u.ms_result; + args->sysmsg_result = rf_args.sysmsg_result; - p2 = pfind(rf_args.lmsg.u.ms_result); + p2 = pfind(rf_args.sysmsg_result); if (p2 == NULL) return (ESRCH); @@ -444,7 +444,7 @@ linux_mmap(struct linux_mmap_args *args) #endif bsd_args.flags = 0; - bsd_args.lmsg.u.ms_resultp = NULL; + bsd_args.sysmsg_resultp = NULL; if (linux_args.flags & LINUX_MAP_SHARED) bsd_args.flags |= MAP_SHARED; if (linux_args.flags & LINUX_MAP_PRIVATE) @@ -536,7 +536,7 @@ linux_mmap(struct linux_mmap_args *args) #endif error = mmap(&bsd_args); - args->lmsg.u.ms_resultp = bsd_args.lmsg.u.ms_resultp; + args->sysmsg_resultp = bsd_args.sysmsg_resultp; return(error); } @@ -552,21 +552,21 @@ linux_pipe(struct linux_pipe_args *args) printf(ARGS(pipe, "*")); #endif - reg_edx = args->lmsg.u.ms_fds[1]; + reg_edx = args->sysmsg_fds[1]; error = pipe(&bsd_args); if (error) { - args->lmsg.u.ms_fds[1] = reg_edx; + args->sysmsg_fds[1] = reg_edx; return (error); } - error = copyout(bsd_args.lmsg.u.ms_fds, args->pipefds, 2*sizeof(int)); + error = copyout(bsd_args.sysmsg_fds, args->pipefds, 2*sizeof(int)); if (error) { - args->lmsg.u.ms_fds[1] = reg_edx; + args->sysmsg_fds[1] = reg_edx; return (error); } - args->lmsg.u.ms_fds[1] = reg_edx; - args->lmsg.u.ms_fds[0] = 0; + args->sysmsg_fds[1] = reg_edx; + args->sysmsg_fds[0] = 0; return (0); } @@ -583,11 +583,11 @@ linux_ioperm(struct linux_ioperm_args *args) iia->start = args->start; iia->length = args->length; iia->enable = args->enable; - sa.lmsg.u.ms_resultp = NULL; + sa.sysmsg_resultp = NULL; sa.op = I386_SET_IOPERM; sa.parms = (char *)iia; error = sysarch(&sa); - args->lmsg.u.ms_resultp = sa.lmsg.u.ms_resultp; + args->sysmsg_resultp = sa.sysmsg_resultp; return(error); } @@ -634,9 +634,9 @@ linux_modify_ldt(struct linux_modify_ldt_args *uap) ldt->num = uap->bytecount / sizeof(union descriptor); args.op = I386_GET_LDT; args.parms = (char*)ldt; - args.lmsg.u.ms_result = 0; + args.sysmsg_result = 0; error = sysarch(&args); - uap->lmsg.u.ms_result = args.lmsg.u.ms_result * + uap->sysmsg_result = args.sysmsg_result * sizeof(union descriptor); break; case 0x01: /* write_ldt */ @@ -666,9 +666,9 @@ linux_modify_ldt(struct linux_modify_ldt_args *uap) desc->sd.sd_gran = ld.limit_in_pages; args.op = I386_SET_LDT; args.parms = (char*)ldt; - args.lmsg.u.ms_result = 0; + args.sysmsg_result = 0; error = sysarch(&args); - uap->lmsg.u.ms_result = args.lmsg.u.ms_result; + uap->sysmsg_result = args.sysmsg_result; break; default: error = EINVAL; @@ -709,7 +709,7 @@ linux_sigaction(struct linux_sigaction_args *args) } error = linux_do_sigaction(args->sig, args->nsa ? &act : NULL, - args->osa ? &oact : NULL, &args->lmsg.u.ms_result); + args->osa ? &oact : NULL, &args->sysmsg_result); if (args->osa != NULL && !error) { osa.lsa_handler = oact.lsa_handler; @@ -747,9 +747,9 @@ linux_sigsuspend(struct linux_sigsuspend_args *args) mask.__bits[0] = args->mask; linux_to_bsd_sigset(&mask, sigmask); bsd.sigmask = sigmask; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = sigsuspend(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -778,9 +778,9 @@ linux_rt_sigsuspend(struct linux_rt_sigsuspend_args *uap) bmask = stackgap_alloc(&sg, sizeof(sigset_t)); linux_to_bsd_sigset(&lmask, bmask); bsd.sigmask = bmask; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = sigsuspend(&bsd); - uap->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + uap->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -801,9 +801,9 @@ linux_pause(struct linux_pause_args *args) sigmask = stackgap_alloc(&sg, sizeof(sigset_t)); *sigmask = p->p_sigmask; bsd.sigmask = sigmask; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = sigsuspend(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -839,9 +839,9 @@ linux_sigaltstack(struct linux_sigaltstack_args *uap) bsd.ss = ss; bsd.oss = oss; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = sigaltstack(&bsd); - uap->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + uap->sysmsg_result = bsd.sysmsg_result; if (!error && oss != NULL) { lss.ss_sp = oss->ss_sp; diff --git a/sys/emulation/linux/i386/linux_proto.h b/sys/emulation/linux/i386/linux_proto.h index 52e0fef635..d775ac05c2 100644 --- a/sys/emulation/linux/i386/linux_proto.h +++ b/sys/emulation/linux/i386/linux_proto.h @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/linux/i386/linux_proto.h,v 1.5 2003/07/24 23:55:08 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/i386/linux_proto.h,v 1.6 2003/07/30 00:19:14 dillon Exp $ * created from DragonFly: src/sys/i386/linux/syscalls.master,v 1.2 2003/06/17 04:28:39 dillon Exp */ @@ -15,87 +15,89 @@ #include +#include + #define PAD_(t) (sizeof(register_t) <= sizeof(t) ? \ 0 : sizeof(register_t) - sizeof(t)) struct linux_fork_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_open_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; l_int flags; char flags_[PAD_(l_int)]; l_int mode; char mode_[PAD_(l_int)]; }; struct linux_waitpid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_pid_t pid; char pid_[PAD_(l_pid_t)]; l_int * status; char status_[PAD_(l_int *)]; l_int options; char options_[PAD_(l_int)]; }; struct linux_creat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; l_int mode; char mode_[PAD_(l_int)]; }; struct linux_link_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; char * to; char to_[PAD_(char *)]; }; struct linux_unlink_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; }; struct linux_execve_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; char ** argp; char argp_[PAD_(char **)]; char ** envp; char envp_[PAD_(char **)]; }; struct linux_chdir_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; }; struct linux_time_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_time_t * tm; char tm_[PAD_(l_time_t *)]; }; struct linux_mknod_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; l_int mode; char mode_[PAD_(l_int)]; l_dev_t dev; char dev_[PAD_(l_dev_t)]; }; struct linux_chmod_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; l_mode_t mode; char mode_[PAD_(l_mode_t)]; }; struct linux_lchown16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; l_uid16_t uid; char uid_[PAD_(l_uid16_t)]; l_gid16_t gid; char gid_[PAD_(l_gid16_t)]; }; struct linux_stat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct ostat * up; char up_[PAD_(struct ostat *)]; }; struct linux_lseek_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint fdes; char fdes_[PAD_(l_uint)]; l_off_t off; char off_[PAD_(l_off_t)]; l_int whence; char whence_[PAD_(l_int)]; }; struct linux_getpid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_mount_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * specialfile; char specialfile_[PAD_(char *)]; char * dir; char dir_[PAD_(char *)]; char * filesystemtype; char filesystemtype_[PAD_(char *)]; @@ -103,314 +105,314 @@ struct linux_mount_args { void * data; char data_[PAD_(void *)]; }; struct linux_oldumount_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; }; struct linux_setuid16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uid16_t uid; char uid_[PAD_(l_uid16_t)]; }; struct linux_getuid16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_stime_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_ptrace_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_long req; char req_[PAD_(l_long)]; l_long pid; char pid_[PAD_(l_long)]; l_long addr; char addr_[PAD_(l_long)]; l_long data; char data_[PAD_(l_long)]; }; struct linux_alarm_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint secs; char secs_[PAD_(l_uint)]; }; struct linux_fstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint fd; char fd_[PAD_(l_uint)]; struct ostat * up; char up_[PAD_(struct ostat *)]; }; struct linux_pause_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_utime_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * fname; char fname_[PAD_(char *)]; struct l_utimbuf * times; char times_[PAD_(struct l_utimbuf *)]; }; struct linux_access_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; l_int flags; char flags_[PAD_(l_int)]; }; struct linux_nice_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int inc; char inc_[PAD_(l_int)]; }; struct linux_kill_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int pid; char pid_[PAD_(l_int)]; l_int signum; char signum_[PAD_(l_int)]; }; struct linux_rename_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * from; char from_[PAD_(char *)]; char * to; char to_[PAD_(char *)]; }; struct linux_mkdir_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; l_int mode; char mode_[PAD_(l_int)]; }; struct linux_rmdir_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; }; struct linux_pipe_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_ulong * pipefds; char pipefds_[PAD_(l_ulong *)]; }; struct linux_times_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct l_times_argv * buf; char buf_[PAD_(struct l_times_argv *)]; }; struct linux_brk_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_ulong dsend; char dsend_[PAD_(l_ulong)]; }; struct linux_setgid16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_gid16_t gid; char gid_[PAD_(l_gid16_t)]; }; struct linux_getgid16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_signal_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int sig; char sig_[PAD_(l_int)]; l_handler_t handler; char handler_[PAD_(l_handler_t)]; }; struct linux_geteuid16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_getegid16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_umount_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; l_int flags; char flags_[PAD_(l_int)]; }; struct linux_ioctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint fd; char fd_[PAD_(l_uint)]; l_uint cmd; char cmd_[PAD_(l_uint)]; l_ulong arg; char arg_[PAD_(l_ulong)]; }; struct linux_fcntl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint fd; char fd_[PAD_(l_uint)]; l_uint cmd; char cmd_[PAD_(l_uint)]; l_ulong arg; char arg_[PAD_(l_ulong)]; }; struct linux_olduname_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_ustat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_dev_t dev; char dev_[PAD_(l_dev_t)]; struct l_ustat * ubuf; char ubuf_[PAD_(struct l_ustat *)]; }; struct linux_sigaction_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int sig; char sig_[PAD_(l_int)]; l_osigaction_t * nsa; char nsa_[PAD_(l_osigaction_t *)]; l_osigaction_t * osa; char osa_[PAD_(l_osigaction_t *)]; }; struct linux_sgetmask_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_ssetmask_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_osigset_t mask; char mask_[PAD_(l_osigset_t)]; }; struct linux_setreuid16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uid16_t ruid; char ruid_[PAD_(l_uid16_t)]; l_uid16_t euid; char euid_[PAD_(l_uid16_t)]; }; struct linux_setregid16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_gid16_t rgid; char rgid_[PAD_(l_gid16_t)]; l_gid16_t egid; char egid_[PAD_(l_gid16_t)]; }; struct linux_sigsuspend_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int hist0; char hist0_[PAD_(l_int)]; l_int hist1; char hist1_[PAD_(l_int)]; l_osigset_t mask; char mask_[PAD_(l_osigset_t)]; }; struct linux_sigpending_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_osigset_t * mask; char mask_[PAD_(l_osigset_t *)]; }; struct linux_setrlimit_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint resource; char resource_[PAD_(l_uint)]; struct l_rlimit * rlim; char rlim_[PAD_(struct l_rlimit *)]; }; struct linux_old_getrlimit_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint resource; char resource_[PAD_(l_uint)]; struct l_rlimit * rlim; char rlim_[PAD_(struct l_rlimit *)]; }; struct linux_getgroups16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint gidsetsize; char gidsetsize_[PAD_(l_uint)]; l_gid16_t * gidset; char gidset_[PAD_(l_gid16_t *)]; }; struct linux_setgroups16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint gidsetsize; char gidsetsize_[PAD_(l_uint)]; l_gid16_t * gidset; char gidset_[PAD_(l_gid16_t *)]; }; struct linux_old_select_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct l_old_select_argv * ptr; char ptr_[PAD_(struct l_old_select_argv *)]; }; struct linux_symlink_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; char * to; char to_[PAD_(char *)]; }; struct linux_readlink_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * name; char name_[PAD_(char *)]; char * buf; char buf_[PAD_(char *)]; l_int count; char count_[PAD_(l_int)]; }; struct linux_uselib_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * library; char library_[PAD_(char *)]; }; struct linux_reboot_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int magic1; char magic1_[PAD_(l_int)]; l_int magic2; char magic2_[PAD_(l_int)]; l_uint cmd; char cmd_[PAD_(l_uint)]; void * arg; char arg_[PAD_(void *)]; }; struct linux_readdir_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint fd; char fd_[PAD_(l_uint)]; struct l_dirent * dent; char dent_[PAD_(struct l_dirent *)]; l_uint count; char count_[PAD_(l_uint)]; }; struct linux_mmap_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct l_mmap_argv * ptr; char ptr_[PAD_(struct l_mmap_argv *)]; }; struct linux_truncate_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; l_ulong length; char length_[PAD_(l_ulong)]; }; struct linux_statfs_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct l_statfs_buf * buf; char buf_[PAD_(struct l_statfs_buf *)]; }; struct linux_fstatfs_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint fd; char fd_[PAD_(l_uint)]; struct l_statfs_buf * buf; char buf_[PAD_(struct l_statfs_buf *)]; }; struct linux_ioperm_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_ulong start; char start_[PAD_(l_ulong)]; l_ulong length; char length_[PAD_(l_ulong)]; l_int enable; char enable_[PAD_(l_int)]; }; struct linux_socketcall_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int what; char what_[PAD_(l_int)]; l_ulong args; char args_[PAD_(l_ulong)]; }; struct linux_syslog_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int type; char type_[PAD_(l_int)]; char * buf; char buf_[PAD_(char *)]; l_int len; char len_[PAD_(l_int)]; }; struct linux_setitimer_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int which; char which_[PAD_(l_int)]; struct l_itimerval * itv; char itv_[PAD_(struct l_itimerval *)]; struct l_itimerval * oitv; char oitv_[PAD_(struct l_itimerval *)]; }; struct linux_getitimer_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int which; char which_[PAD_(l_int)]; struct l_itimerval * itv; char itv_[PAD_(struct l_itimerval *)]; }; struct linux_newstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct l_newstat * buf; char buf_[PAD_(struct l_newstat *)]; }; struct linux_newlstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct l_newstat * buf; char buf_[PAD_(struct l_newstat *)]; }; struct linux_newfstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint fd; char fd_[PAD_(l_uint)]; struct l_newstat * buf; char buf_[PAD_(struct l_newstat *)]; }; struct linux_uname_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_iopl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_ulong level; char level_[PAD_(l_ulong)]; }; struct linux_vhangup_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_vm86old_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_wait4_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_pid_t pid; char pid_[PAD_(l_pid_t)]; l_uint * status; char status_[PAD_(l_uint *)]; l_int options; char options_[PAD_(l_int)]; struct l_rusage * rusage; char rusage_[PAD_(struct l_rusage *)]; }; struct linux_swapoff_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_sysinfo_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct l_sysinfo * info; char info_[PAD_(struct l_sysinfo *)]; }; struct linux_ipc_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint what; char what_[PAD_(l_uint)]; l_int arg1; char arg1_[PAD_(l_int)]; l_int arg2; char arg2_[PAD_(l_int)]; @@ -419,78 +421,78 @@ struct linux_ipc_args { l_long arg5; char arg5_[PAD_(l_long)]; }; struct linux_sigreturn_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct l_sigframe * sfp; char sfp_[PAD_(struct l_sigframe *)]; }; struct linux_clone_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int flags; char flags_[PAD_(l_int)]; void * stack; char stack_[PAD_(void *)]; }; struct linux_newuname_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct l_new_utsname * buf; char buf_[PAD_(struct l_new_utsname *)]; }; struct linux_modify_ldt_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int func; char func_[PAD_(l_int)]; void * ptr; char ptr_[PAD_(void *)]; l_ulong bytecount; char bytecount_[PAD_(l_ulong)]; }; struct linux_adjtimex_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_sigprocmask_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int how; char how_[PAD_(l_int)]; l_osigset_t * mask; char mask_[PAD_(l_osigset_t *)]; l_osigset_t * omask; char omask_[PAD_(l_osigset_t *)]; }; struct linux_create_module_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_init_module_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_delete_module_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_get_kernel_syms_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_quotactl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_bdflush_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_sysfs_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int option; char option_[PAD_(l_int)]; l_ulong arg1; char arg1_[PAD_(l_ulong)]; l_ulong arg2; char arg2_[PAD_(l_ulong)]; }; struct linux_personality_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_ulong per; char per_[PAD_(l_ulong)]; }; struct linux_setfsuid16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uid16_t uid; char uid_[PAD_(l_uid16_t)]; }; struct linux_setfsgid16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_gid16_t gid; char gid_[PAD_(l_gid16_t)]; }; struct linux_llseek_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int fd; char fd_[PAD_(l_int)]; l_ulong ohigh; char ohigh_[PAD_(l_ulong)]; l_ulong olow; char olow_[PAD_(l_ulong)]; @@ -498,13 +500,13 @@ struct linux_llseek_args { l_uint whence; char whence_[PAD_(l_uint)]; }; struct linux_getdents_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint fd; char fd_[PAD_(l_uint)]; void * dent; char dent_[PAD_(void *)]; l_uint count; char count_[PAD_(l_uint)]; }; struct linux_select_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int nfds; char nfds_[PAD_(l_int)]; l_fd_set * readfds; char readfds_[PAD_(l_fd_set *)]; l_fd_set * writefds; char writefds_[PAD_(l_fd_set *)]; @@ -512,43 +514,43 @@ struct linux_select_args { struct l_timeval * timeout; char timeout_[PAD_(struct l_timeval *)]; }; struct linux_msync_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_ulong addr; char addr_[PAD_(l_ulong)]; l_size_t len; char len_[PAD_(l_size_t)]; l_int fl; char fl_[PAD_(l_int)]; }; struct linux_getsid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_pid_t pid; char pid_[PAD_(l_pid_t)]; }; struct linux_fdatasync_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint fd; char fd_[PAD_(l_uint)]; }; struct linux_sysctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct l___sysctl_args * args; char args_[PAD_(struct l___sysctl_args *)]; }; struct linux_sched_setscheduler_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_pid_t pid; char pid_[PAD_(l_pid_t)]; l_int policy; char policy_[PAD_(l_int)]; struct l_sched_param * param; char param_[PAD_(struct l_sched_param *)]; }; struct linux_sched_getscheduler_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_pid_t pid; char pid_[PAD_(l_pid_t)]; }; struct linux_sched_get_priority_max_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int policy; char policy_[PAD_(l_int)]; }; struct linux_sched_get_priority_min_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int policy; char policy_[PAD_(l_int)]; }; struct linux_mremap_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_ulong addr; char addr_[PAD_(l_ulong)]; l_ulong old_len; char old_len_[PAD_(l_ulong)]; l_ulong new_len; char new_len_[PAD_(l_ulong)]; @@ -556,133 +558,133 @@ struct linux_mremap_args { l_ulong new_addr; char new_addr_[PAD_(l_ulong)]; }; struct linux_setresuid16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uid16_t ruid; char ruid_[PAD_(l_uid16_t)]; l_uid16_t euid; char euid_[PAD_(l_uid16_t)]; l_uid16_t suid; char suid_[PAD_(l_uid16_t)]; }; struct linux_getresuid16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uid16_t * ruid; char ruid_[PAD_(l_uid16_t *)]; l_uid16_t * euid; char euid_[PAD_(l_uid16_t *)]; l_uid16_t * suid; char suid_[PAD_(l_uid16_t *)]; }; struct linux_vm86_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_query_module_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_nfsservctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_setresgid16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_gid16_t rgid; char rgid_[PAD_(l_gid16_t)]; l_gid16_t egid; char egid_[PAD_(l_gid16_t)]; l_gid16_t sgid; char sgid_[PAD_(l_gid16_t)]; }; struct linux_getresgid16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_gid16_t * rgid; char rgid_[PAD_(l_gid16_t *)]; l_gid16_t * egid; char egid_[PAD_(l_gid16_t *)]; l_gid16_t * sgid; char sgid_[PAD_(l_gid16_t *)]; }; struct linux_prctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_rt_sigreturn_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct l_ucontext * ucp; char ucp_[PAD_(struct l_ucontext *)]; }; struct linux_rt_sigaction_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int sig; char sig_[PAD_(l_int)]; l_sigaction_t * act; char act_[PAD_(l_sigaction_t *)]; l_sigaction_t * oact; char oact_[PAD_(l_sigaction_t *)]; l_size_t sigsetsize; char sigsetsize_[PAD_(l_size_t)]; }; struct linux_rt_sigprocmask_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int how; char how_[PAD_(l_int)]; l_sigset_t * mask; char mask_[PAD_(l_sigset_t *)]; l_sigset_t * omask; char omask_[PAD_(l_sigset_t *)]; l_size_t sigsetsize; char sigsetsize_[PAD_(l_size_t)]; }; struct linux_rt_sigpending_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_rt_sigtimedwait_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_rt_sigqueueinfo_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_rt_sigsuspend_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_sigset_t * newset; char newset_[PAD_(l_sigset_t *)]; l_size_t sigsetsize; char sigsetsize_[PAD_(l_size_t)]; }; struct linux_pread_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint fd; char fd_[PAD_(l_uint)]; char * buf; char buf_[PAD_(char *)]; l_size_t nbyte; char nbyte_[PAD_(l_size_t)]; l_loff_t offset; char offset_[PAD_(l_loff_t)]; }; struct linux_pwrite_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint fd; char fd_[PAD_(l_uint)]; char * buf; char buf_[PAD_(char *)]; l_size_t nbyte; char nbyte_[PAD_(l_size_t)]; l_loff_t offset; char offset_[PAD_(l_loff_t)]; }; struct linux_chown16_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; l_uid16_t uid; char uid_[PAD_(l_uid16_t)]; l_gid16_t gid; char gid_[PAD_(l_gid16_t)]; }; struct linux_getcwd_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * buf; char buf_[PAD_(char *)]; l_ulong bufsize; char bufsize_[PAD_(l_ulong)]; }; struct linux_capget_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_capset_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_sigaltstack_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_stack_t * uss; char uss_[PAD_(l_stack_t *)]; l_stack_t * uoss; char uoss_[PAD_(l_stack_t *)]; }; struct linux_sendfile_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_vfork_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_getrlimit_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint resource; char resource_[PAD_(l_uint)]; struct l_rlimit * rlim; char rlim_[PAD_(struct l_rlimit *)]; }; struct linux_mmap2_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_ulong addr; char addr_[PAD_(l_ulong)]; l_ulong len; char len_[PAD_(l_ulong)]; l_ulong prot; char prot_[PAD_(l_ulong)]; @@ -691,94 +693,94 @@ struct linux_mmap2_args { l_ulong pgoff; char pgoff_[PAD_(l_ulong)]; }; struct linux_truncate64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; l_loff_t length; char length_[PAD_(l_loff_t)]; }; struct linux_ftruncate64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint fd; char fd_[PAD_(l_uint)]; l_loff_t length; char length_[PAD_(l_loff_t)]; }; struct linux_stat64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * filename; char filename_[PAD_(char *)]; struct l_stat64 * statbuf; char statbuf_[PAD_(struct l_stat64 *)]; l_long flags; char flags_[PAD_(l_long)]; }; struct linux_lstat64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * filename; char filename_[PAD_(char *)]; struct l_stat64 * statbuf; char statbuf_[PAD_(struct l_stat64 *)]; l_long flags; char flags_[PAD_(l_long)]; }; struct linux_fstat64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_ulong fd; char fd_[PAD_(l_ulong)]; struct l_stat64 * statbuf; char statbuf_[PAD_(struct l_stat64 *)]; l_long flags; char flags_[PAD_(l_long)]; }; struct linux_lchown_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; l_uid_t uid; char uid_[PAD_(l_uid_t)]; l_gid_t gid; char gid_[PAD_(l_gid_t)]; }; struct linux_getuid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_getgid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_getgroups_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int gidsetsize; char gidsetsize_[PAD_(l_int)]; l_gid_t * grouplist; char grouplist_[PAD_(l_gid_t *)]; }; struct linux_setgroups_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int gidsetsize; char gidsetsize_[PAD_(l_int)]; l_gid_t * grouplist; char grouplist_[PAD_(l_gid_t *)]; }; struct linux_chown_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; l_uid_t uid; char uid_[PAD_(l_uid_t)]; l_gid_t gid; char gid_[PAD_(l_gid_t)]; }; struct linux_setfsuid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uid_t uid; char uid_[PAD_(l_uid_t)]; }; struct linux_setfsgid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_gid_t gid; char gid_[PAD_(l_gid_t)]; }; struct linux_pivot_root_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * new_root; char new_root_[PAD_(char *)]; char * put_old; char put_old_[PAD_(char *)]; }; struct linux_mincore_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_ulong start; char start_[PAD_(l_ulong)]; l_size_t len; char len_[PAD_(l_size_t)]; u_char * vec; char vec_[PAD_(u_char *)]; }; struct linux_madvise_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct linux_getdents64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint fd; char fd_[PAD_(l_uint)]; void * dirent; char dirent_[PAD_(void *)]; l_uint count; char count_[PAD_(l_uint)]; }; struct linux_fcntl64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_uint fd; char fd_[PAD_(l_uint)]; l_uint cmd; char cmd_[PAD_(l_uint)]; l_ulong arg; char arg_[PAD_(l_ulong)]; diff --git a/sys/emulation/linux/i386/linux_ptrace.c b/sys/emulation/linux/i386/linux_ptrace.c index f019af7d1d..2b975156c4 100644 --- a/sys/emulation/linux/i386/linux_ptrace.c +++ b/sys/emulation/linux/i386/linux_ptrace.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/i386/linux/linux_ptrace.c,v 1.7.4.3 2003/01/03 17:13:23 kan Exp $ - * $DragonFly: src/sys/emulation/linux/i386/linux_ptrace.c,v 1.5 2003/07/26 18:12:43 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/i386/linux_ptrace.c,v 1.6 2003/07/30 00:19:14 dillon Exp $ */ #include "opt_cpu.h" @@ -276,7 +276,7 @@ linux_ptrace(struct linux_ptrace_args *uap) case PTRACE_POKEDATA: case PTRACE_KILL: error = kern_ptrace(curp, req, pid, addr, uap->data, - &uap->lmsg.u.ms_result); + &uap->sysmsg_result); break; case PTRACE_PEEKTEXT: case PTRACE_PEEKDATA: { @@ -290,21 +290,21 @@ linux_ptrace(struct linux_ptrace_args *uap) } case PTRACE_DETACH: error = kern_ptrace(curp, PT_DETACH, pid, (void *)1, - map_signum(uap->data), &uap->lmsg.u.ms_result); + map_signum(uap->data), &uap->sysmsg_result); break; case PTRACE_SINGLESTEP: case PTRACE_CONT: error = kern_ptrace(curp, req, pid, (void *)1, - map_signum(uap->data), &uap->lmsg.u.ms_result); + map_signum(uap->data), &uap->sysmsg_result); break; case PTRACE_ATTACH: error = kern_ptrace(curp, PT_ATTACH, pid, addr, uap->data, - &uap->lmsg.u.ms_result); + &uap->sysmsg_result); break; case PTRACE_GETREGS: /* Linux is using data where FreeBSD is using addr */ error = kern_ptrace(curp, PT_GETREGS, pid, &u.bsd_reg, 0, - &uap->lmsg.u.ms_result); + &uap->sysmsg_result); if (error == 0) { map_regs_to_linux(&u.bsd_reg, &r.reg); error = copyout(&r.reg, (caddr_t)uap->data, @@ -316,13 +316,13 @@ linux_ptrace(struct linux_ptrace_args *uap) error = copyin((caddr_t)uap->data, &r.reg, sizeof(r.reg)); if (error == 0) { map_regs_from_linux(&u.bsd_reg, &r.reg); - error = kern_ptrace(curp, PT_SETREGS, pid, &u.bsd_reg, 0, &uap->lmsg.u.ms_result); + error = kern_ptrace(curp, PT_SETREGS, pid, &u.bsd_reg, 0, &uap->sysmsg_result); } break; case PTRACE_GETFPREGS: /* Linux is using data where FreeBSD is using addr */ error = kern_ptrace(curp, PT_GETFPREGS, pid, &u.bsd_fpreg, 0, - &uap->lmsg.u.ms_result); + &uap->sysmsg_result); if (error == 0) { map_fpregs_to_linux(&u.bsd_fpreg, &r.fpreg); error = copyout(&r.fpreg, (caddr_t)uap->data, @@ -335,7 +335,7 @@ linux_ptrace(struct linux_ptrace_args *uap) if (error == 0) { map_fpregs_from_linux(&u.bsd_fpreg, &r.fpreg); error = kern_ptrace(curp, PT_SETFPREGS, pid, - &u.bsd_fpreg, 0, &uap->lmsg.u.ms_result); + &u.bsd_fpreg, 0, &uap->sysmsg_result); } break; case PTRACE_SETFPXREGS: @@ -429,7 +429,7 @@ linux_ptrace(struct linux_ptrace_args *uap) * as necessary. */ if (uap->addr < sizeof(struct linux_pt_reg)) { - error = kern_ptrace(curp, PT_GETREGS, pid, &u.bsd_reg, 0, &uap->lmsg.u.ms_result); + error = kern_ptrace(curp, PT_GETREGS, pid, &u.bsd_reg, 0, &uap->sysmsg_result); if (error != 0) break; @@ -444,7 +444,7 @@ linux_ptrace(struct linux_ptrace_args *uap) (l_int)uap->data; map_regs_from_linux(&u.bsd_reg, &r.reg); - error = kern_ptrace(curp, PT_SETREGS, pid, &u.bsd_reg, 0, &uap->lmsg.u.ms_result); + error = kern_ptrace(curp, PT_SETREGS, pid, &u.bsd_reg, 0, &uap->sysmsg_result); } /* @@ -453,7 +453,7 @@ linux_ptrace(struct linux_ptrace_args *uap) if (uap->addr >= LINUX_DBREG_OFFSET && uap->addr <= LINUX_DBREG_OFFSET + LINUX_DBREG_SIZE) { error = kern_ptrace(curp, PT_GETDBREGS, pid, - &u.bsd_dbreg, 0, &uap->lmsg.u.ms_result); + &u.bsd_dbreg, 0, &uap->sysmsg_result); if (error != 0) break; @@ -468,7 +468,7 @@ linux_ptrace(struct linux_ptrace_args *uap) *(l_int *)((char *)&u.bsd_dbreg + uap->addr) = uap->data; error = kern_ptrace(curp, PT_SETDBREGS, pid, - &u.bsd_dbreg, 0, &uap->lmsg.u.ms_result); + &u.bsd_dbreg, 0, &uap->sysmsg_result); } break; diff --git a/sys/emulation/linux/i386/linux_syscall.h b/sys/emulation/linux/i386/linux_syscall.h index 0c04cef52d..bec9aacf57 100644 --- a/sys/emulation/linux/i386/linux_syscall.h +++ b/sys/emulation/linux/i386/linux_syscall.h @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/linux/i386/linux_syscall.h,v 1.5 2003/07/24 23:55:08 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/i386/linux_syscall.h,v 1.6 2003/07/30 00:19:14 dillon Exp $ * created from DragonFly: src/sys/i386/linux/syscalls.master,v 1.2 2003/06/17 04:28:39 dillon Exp */ diff --git a/sys/emulation/linux/i386/linux_sysent.c b/sys/emulation/linux/i386/linux_sysent.c index 05b3a2b79e..77edf5b1a2 100644 --- a/sys/emulation/linux/i386/linux_sysent.c +++ b/sys/emulation/linux/i386/linux_sysent.c @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/linux/i386/linux_sysent.c,v 1.5 2003/07/24 23:55:08 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/i386/linux_sysent.c,v 1.6 2003/07/30 00:19:14 dillon Exp $ * created from DragonFly: src/sys/i386/linux/syscalls.master,v 1.2 2003/06/17 04:28:39 dillon Exp */ @@ -13,7 +13,7 @@ #include #include -#define AS(name) ((sizeof(struct name) - sizeof(struct lwkt_msg)) / sizeof(register_t)) +#define AS(name) ((sizeof(struct name) - sizeof(union sysmsg)) / sizeof(register_t)) /* The casts are bogus but will do for now. */ struct sysent linux_sysent[] = { diff --git a/sys/emulation/linux/i386/linux_sysvec.c b/sys/emulation/linux/i386/linux_sysvec.c index dc0f750285..afea802cb0 100644 --- a/sys/emulation/linux/i386/linux_sysvec.c +++ b/sys/emulation/linux/i386/linux_sysvec.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/i386/linux/linux_sysvec.c,v 1.55.2.9 2002/01/12 11:03:30 bde Exp $ - * $DragonFly: src/sys/emulation/linux/i386/linux_sysvec.c,v 1.6 2003/07/26 19:07:49 rob Exp $ + * $DragonFly: src/sys/emulation/linux/i386/linux_sysvec.c,v 1.7 2003/07/30 00:19:14 dillon Exp $ */ /* XXX we use functions that might not exist. */ @@ -708,9 +708,9 @@ linux_rt_sigreturn(struct linux_rt_sigreturn_args *args) #endif sasargs.ss = ss; sasargs.oss = NULL; - sasargs.lmsg.u.ms_result = 0; + sasargs.sysmsg_result = 0; (void) sigaltstack(&sasargs); - args->lmsg.u.ms_result = sasargs.lmsg.u.ms_result; + args->sysmsg_result = sasargs.sysmsg_result; return (EJUSTRETURN); } diff --git a/sys/emulation/linux/i386/linux_union.h b/sys/emulation/linux/i386/linux_union.h index 0a7b3de72e..7b52ea6b25 100644 --- a/sys/emulation/linux/i386/linux_union.h +++ b/sys/emulation/linux/i386/linux_union.h @@ -2,12 +2,13 @@ * Union of syscall args for messaging. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/linux/i386/linux_union.h,v 1.1 2003/07/24 23:55:08 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/i386/linux_union.h,v 1.2 2003/07/30 00:19:14 dillon Exp $ * created from DragonFly: src/sys/i386/linux/syscalls.master,v 1.2 2003/06/17 04:28:39 dillon Exp */ union sysunion { - struct lwkt_msg lmsg; + struct lwkt_msg lmsg; + union sysmsg sysmsg; struct linux_fork_args linux_fork; struct linux_open_args linux_open; struct linux_waitpid_args linux_waitpid; @@ -162,5 +163,3 @@ union sysunion { struct linux_getdents64_args linux_getdents64; struct linux_fcntl64_args linux_fcntl64; }; - -typedef union sysunion *sysmsg_t; diff --git a/sys/emulation/linux/linux_file.c b/sys/emulation/linux/linux_file.c index 3cb58b7670..64d8d9f136 100644 --- a/sys/emulation/linux/linux_file.c +++ b/sys/emulation/linux/linux_file.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/compat/linux/linux_file.c,v 1.41.2.6 2003/01/06 09:19:43 fjoe Exp $ - * $DragonFly: src/sys/emulation/linux/linux_file.c,v 1.6 2003/07/26 18:12:40 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/linux_file.c,v 1.7 2003/07/30 00:19:13 dillon Exp $ */ #include "opt_compat.h" @@ -70,12 +70,12 @@ linux_creat(struct linux_creat_args *args) if (ldebug(creat)) printf(ARGS(creat, "%s, %d"), args->path, args->mode); #endif - bsd_open_args.lmsg.u.ms_result = 0; + bsd_open_args.sysmsg_result = 0; bsd_open_args.path = args->path; bsd_open_args.mode = args->mode; bsd_open_args.flags = O_WRONLY | O_CREAT | O_TRUNC; error = open(&bsd_open_args); - args->lmsg.u.ms_result = bsd_open_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_open_args.sysmsg_result; return(error); } #endif /*!__alpha__*/ @@ -130,14 +130,14 @@ linux_open(struct linux_open_args *args) bsd_open_args.flags |= O_NOCTTY; bsd_open_args.path = args->path; bsd_open_args.mode = args->mode; - bsd_open_args.lmsg.u.ms_result = 0; + bsd_open_args.sysmsg_result = 0; error = open(&bsd_open_args); - args->lmsg.u.ms_result = bsd_open_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_open_args.sysmsg_result; 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[bsd_open_args.lmsg.u.ms_result]; + struct file *fp = fdp->fd_ofiles[bsd_open_args.sysmsg_result]; if (fp->f_type == DTYPE_VNODE) fo_ioctl(fp, TIOCSCTTY, (caddr_t) 0, td); @@ -163,9 +163,9 @@ linux_lseek(struct linux_lseek_args *args) tmp_args.fd = args->fdes; tmp_args.offset = (off_t)args->off; tmp_args.whence = args->whence; - tmp_args.lmsg.u.ms_result = 0; + tmp_args.sysmsg_result = 0; error = lseek(&tmp_args); - args->lmsg.u.ms_result = tmp_args.lmsg.u.ms_result; + args->sysmsg_result = tmp_args.sysmsg_result; return error; } @@ -187,15 +187,15 @@ linux_llseek(struct linux_llseek_args *args) bsd_args.fd = args->fd; bsd_args.offset = off; bsd_args.whence = args->whence; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; if ((error = lseek(&bsd_args))) return error; - if ((error = copyout(&bsd_args.lmsg.u.ms_offset, (caddr_t)args->res, sizeof (off_t)))) { + if ((error = copyout(&bsd_args.sysmsg_offset, (caddr_t)args->res, sizeof (off_t)))) { return error; } - args->lmsg.u.ms_result = 0; + args->sysmsg_result = 0; return 0; } #endif /*!__alpha__*/ @@ -210,9 +210,9 @@ linux_readdir(struct linux_readdir_args *args) lda.fd = args->fd; lda.dent = args->dent; lda.count = 1; - lda.lmsg.u.ms_result = 0; + lda.sysmsg_result = 0; error = linux_getdents(&lda); - args->lmsg.u.ms_result = lda.lmsg.u.ms_result; + args->sysmsg_result = lda.sysmsg_result; return(error); } #endif /*!__alpha__*/ @@ -431,7 +431,7 @@ again: nbytes = resid + linuxreclen; eof: - args->lmsg.u.ms_result = nbytes - resid; + args->sysmsg_result = nbytes - resid; out: if (cookies) @@ -482,10 +482,10 @@ linux_access(struct linux_access_args *args) #endif bsd.path = args->path; bsd.flags = args->flags; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = access(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -504,10 +504,10 @@ linux_unlink(struct linux_unlink_args *args) printf(ARGS(unlink, "%s"), args->path); #endif bsd.path = args->path; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = unlink(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -526,10 +526,10 @@ linux_chdir(struct linux_chdir_args *args) printf(ARGS(chdir, "%s"), args->path); #endif bsd.path = args->path; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = chdir(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -549,10 +549,10 @@ linux_chmod(struct linux_chmod_args *args) #endif bsd.path = args->path; bsd.mode = args->mode; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = chmod(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -572,10 +572,10 @@ linux_mkdir(struct linux_mkdir_args *args) #endif bsd.path = args->path; bsd.mode = args->mode; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = mkdir(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -594,10 +594,10 @@ linux_rmdir(struct linux_rmdir_args *args) printf(ARGS(rmdir, "%s"), args->path); #endif bsd.path = args->path; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = rmdir(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -618,10 +618,10 @@ linux_rename(struct linux_rename_args *args) #endif bsd.from = args->from; bsd.to = args->to; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = rename(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -642,10 +642,10 @@ linux_symlink(struct linux_symlink_args *args) #endif bsd.path = args->path; bsd.link = args->to; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = symlink(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -667,10 +667,10 @@ linux_readlink(struct linux_readlink_args *args) bsd.path = args->name; bsd.buf = args->buf; bsd.count = args->count; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = readlink(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -691,10 +691,10 @@ linux_truncate(struct linux_truncate_args *args) #endif bsd.path = args->path; bsd.length = args->length; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = truncate(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -716,10 +716,10 @@ linux_link(struct linux_link_args *args) bsd.path = args->path; bsd.link = args->to; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = link(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -731,10 +731,10 @@ linux_fdatasync(struct linux_fdatasync_args *uap) int error; bsd.fd = uap->fd; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = fsync(&bsd); - uap->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + uap->sysmsg_result = bsd.sysmsg_result; return(error); } #endif /*!__alpha__*/ @@ -749,10 +749,10 @@ linux_pread(struct linux_pread_args *uap) bsd.buf = uap->buf; bsd.nbyte = uap->nbyte; bsd.offset = uap->offset; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = pread(&bsd); - uap->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + uap->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -766,10 +766,10 @@ linux_pwrite(struct linux_pwrite_args *uap) bsd.buf = uap->buf; bsd.nbyte = uap->nbyte; bsd.offset = uap->offset; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = pwrite(&bsd); - uap->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + uap->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -781,9 +781,9 @@ linux_oldumount(struct linux_oldumount_args *args) args2.path = args->path; args2.flags = 0; - args2.lmsg.u.ms_result = 0; + args2.sysmsg_result = 0; error = linux_umount(&args2); - args->lmsg.u.ms_result = args2.lmsg.u.ms_result; + args->sysmsg_result = args2.sysmsg_result; return(error); } @@ -795,10 +795,10 @@ linux_umount(struct linux_umount_args *args) bsd.path = args->path; bsd.flags = args->flags; /* XXX correct? */ - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = unmount(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -930,7 +930,7 @@ fcntl_common(struct linux_fcntl64_args *args) bsd_flock = (struct flock *)stackgap_alloc(&sg, sizeof(bsd_flock)); fcntl_args.fd = args->fd; - fcntl_args.lmsg.u.ms_result = 0; + fcntl_args.sysmsg_result = 0; switch (args->cmd) { case LINUX_F_DUPFD: @@ -947,22 +947,22 @@ fcntl_common(struct linux_fcntl64_args *args) case LINUX_F_GETFL: fcntl_args.cmd = F_GETFL; error = fcntl(&fcntl_args); - result = fcntl_args.lmsg.u.ms_result; - args->lmsg.u.ms_result = 0; + result = fcntl_args.sysmsg_result; + args->sysmsg_result = 0; if (result & O_RDONLY) - args->lmsg.u.ms_result |= LINUX_O_RDONLY; + args->sysmsg_result |= LINUX_O_RDONLY; if (result & O_WRONLY) - args->lmsg.u.ms_result |= LINUX_O_WRONLY; + args->sysmsg_result |= LINUX_O_WRONLY; if (result & O_RDWR) - args->lmsg.u.ms_result |= LINUX_O_RDWR; + args->sysmsg_result |= LINUX_O_RDWR; if (result & O_NDELAY) - args->lmsg.u.ms_result |= LINUX_O_NONBLOCK; + args->sysmsg_result |= LINUX_O_NONBLOCK; if (result & O_APPEND) - args->lmsg.u.ms_result |= LINUX_O_APPEND; + args->sysmsg_result |= LINUX_O_APPEND; if (result & O_FSYNC) - args->lmsg.u.ms_result |= LINUX_O_SYNC; + args->sysmsg_result |= LINUX_O_SYNC; if (result & O_ASYNC) - args->lmsg.u.ms_result |= LINUX_FASYNC; + args->sysmsg_result |= LINUX_FASYNC; return (error); case LINUX_F_SETFL: @@ -988,7 +988,7 @@ fcntl_common(struct linux_fcntl64_args *args) fcntl_args.cmd = F_GETLK; fcntl_args.arg = (long)bsd_flock; error = fcntl(&fcntl_args); - args->lmsg.u.ms_result = fcntl_args.lmsg.u.ms_result; + args->sysmsg_result = fcntl_args.sysmsg_result; if (error) return (error); bsd_to_linux_flock(bsd_flock, &linux_flock); @@ -1037,7 +1037,7 @@ fcntl_common(struct linux_fcntl64_args *args) return (EINVAL); } error = fcntl(&fcntl_args); - args->lmsg.u.ms_result = fcntl_args.lmsg.u.ms_result; + args->sysmsg_result = fcntl_args.sysmsg_result; return(error); } @@ -1055,9 +1055,9 @@ linux_fcntl(struct linux_fcntl_args *args) args64.fd = args->fd; args64.cmd = args->cmd; args64.arg = args->arg; - args64.lmsg.u.ms_result = 0; + args64.sysmsg_result = 0; error = fcntl_common(&args64); - args->lmsg.u.ms_result = args64.lmsg.u.ms_result; + args->sysmsg_result = args64.sysmsg_result; return(error); } @@ -1078,7 +1078,7 @@ linux_fcntl64(struct linux_fcntl64_args *args) if (ldebug(fcntl64)) printf(ARGS(fcntl64, "%d, %08x, *"), args->fd, args->cmd); #endif - fcntl_args.lmsg.u.ms_result = 0; + fcntl_args.sysmsg_result = 0; switch (args->cmd) { case LINUX_F_GETLK64: @@ -1091,7 +1091,7 @@ linux_fcntl64(struct linux_fcntl64_args *args) fcntl_args.cmd = F_GETLK; fcntl_args.arg = (long)bsd_flock; error = fcntl(&fcntl_args); - args->lmsg.u.ms_result = fcntl_args.lmsg.u.ms_result; + args->sysmsg_result = fcntl_args.sysmsg_result; if (error) return (error); bsd_to_linux_flock64(bsd_flock, &linux_flock); @@ -1108,7 +1108,7 @@ linux_fcntl64(struct linux_fcntl64_args *args) fcntl_args.cmd = F_SETLK; fcntl_args.arg = (long)bsd_flock; error = fcntl(&fcntl_args); - args->lmsg.u.ms_result = fcntl_args.lmsg.u.ms_result; + args->sysmsg_result = fcntl_args.sysmsg_result; return(error); case LINUX_F_SETLKW64: @@ -1121,7 +1121,7 @@ linux_fcntl64(struct linux_fcntl64_args *args) fcntl_args.cmd = F_SETLKW; fcntl_args.arg = (long)bsd_flock; error = fcntl(&fcntl_args); - args->lmsg.u.ms_result = fcntl_args.lmsg.u.ms_result; + args->sysmsg_result = fcntl_args.sysmsg_result; return(error); } @@ -1148,9 +1148,9 @@ linux_chown(struct linux_chown_args *args) bsd.path = args->path; bsd.uid = args->uid; bsd.gid = args->gid; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = chown(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -1173,10 +1173,10 @@ linux_lchown(struct linux_lchown_args *args) bsd.path = args->path; bsd.uid = args->uid; bsd.gid = args->gid; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = lchown(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } diff --git a/sys/emulation/linux/linux_getcwd.c b/sys/emulation/linux/linux_getcwd.c index f66090d51f..fb20441887 100644 --- a/sys/emulation/linux/linux_getcwd.c +++ b/sys/emulation/linux/linux_getcwd.c @@ -1,5 +1,5 @@ /* $FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.2.2.3 2001/11/05 19:08:22 marcel Exp $ */ -/* $DragonFly: src/sys/emulation/linux/linux_getcwd.c,v 1.7 2003/07/26 18:12:40 dillon Exp $ */ +/* $DragonFly: src/sys/emulation/linux/linux_getcwd.c,v 1.8 2003/07/30 00:19:13 dillon Exp $ */ /* $OpenBSD: linux_getcwd.c,v 1.2 2001/05/16 12:50:21 ho Exp $ */ /* $NetBSD: vfs_getcwd.c,v 1.3.2.3 1999/07/11 10:24:09 sommerfeld Exp $ */ @@ -431,13 +431,13 @@ linux_getcwd(struct linux_getcwd_args *args) sg = stackgap_init(); bsd.buf = stackgap_alloc(&sg, SPARE_USRSPACE); bsd.buflen = SPARE_USRSPACE; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = __getcwd(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; if (!error) { lenused = strlen(bsd.buf) + 1; if (lenused <= args->bufsize) { - args->lmsg.u.ms_result = lenused; + args->sysmsg_result = lenused; error = copyout(bsd.buf, args->buf, lenused); } else @@ -468,7 +468,7 @@ linux_getcwd(struct linux_getcwd_args *args) if (error) goto out; lenused = bend - bp; - args->lmsg.u.ms_result = lenused; + args->sysmsg_result = lenused; /* put the result into user buffer */ error = copyout(bp, args->buf, lenused); diff --git a/sys/emulation/linux/linux_ipc.c b/sys/emulation/linux/linux_ipc.c index 2540cd8a9d..c72fead9e7 100644 --- a/sys/emulation/linux/linux_ipc.c +++ b/sys/emulation/linux/linux_ipc.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/compat/linux/linux_ipc.c,v 1.17.2.3 2001/11/05 19:08:22 marcel Exp $ - * $DragonFly: src/sys/emulation/linux/linux_ipc.c,v 1.4 2003/07/26 18:12:40 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/linux_ipc.c,v 1.5 2003/07/30 00:19:13 dillon Exp $ */ #include @@ -185,12 +185,12 @@ linux_semop(struct linux_semop_args *args) struct semop_args bsd_args; int error; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.semid = args->semid; bsd_args.sops = (struct sembuf *)args->tsops; bsd_args.nsops = args->nsops; error = semop(&bsd_args); - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; return(error); } @@ -200,12 +200,12 @@ linux_semget(struct linux_semget_args *args) struct semget_args bsd_args; int error; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.key = args->key; bsd_args.nsems = args->nsems; bsd_args.semflg = args->semflg; error = semget(&bsd_args); - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; return(error); } @@ -225,7 +225,7 @@ linux_semctl(struct linux_semctl_args *args) unptr = stackgap_alloc(&sg, sizeof(union semun)); bcopy(&args->arg, unptr, sizeof(union semun)); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.semid = args->semid; bsd_args.semnum = args->semnum; bsd_args.arg = unptr; @@ -264,7 +264,7 @@ linux_semctl(struct linux_semctl_args *args) error = __semctl(&bsd_args); if (error) return error; - args->lmsg.u.ms_result = IXSEQ_TO_IPCID(bsd_args.semid, + args->sysmsg_result = IXSEQ_TO_IPCID(bsd_args.semid, unptr->buf->sem_perm); bsd_to_linux_semid_ds(unptr->buf, &linux_semid); return copyout(&linux_semid, (caddr_t)args->arg.buf, @@ -286,7 +286,7 @@ linux_semctl(struct linux_semctl_args *args) sizeof(linux_seminfo) ); if (error) return error; - args->lmsg.u.ms_result = seminfo.semmni; + args->sysmsg_result = seminfo.semmni; return 0; /* No need for __semctl call */ case LINUX_GETALL: /* FALLTHROUGH */ @@ -297,7 +297,7 @@ linux_semctl(struct linux_semctl_args *args) return EINVAL; } error = __semctl(&bsd_args); - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; return(error); } @@ -307,13 +307,13 @@ linux_msgsnd(struct linux_msgsnd_args *args) struct msgsnd_args bsd_args; int error; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.msqid = args->msqid; bsd_args.msgp = args->msgp; bsd_args.msgsz = args->msgsz; bsd_args.msgflg = args->msgflg; error = msgsnd(&bsd_args); - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; return(error); } @@ -323,14 +323,14 @@ linux_msgrcv(struct linux_msgrcv_args *args) struct msgrcv_args bsd_args; int error; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.msqid = args->msqid; bsd_args.msgp = args->msgp; bsd_args.msgsz = args->msgsz; bsd_args.msgtyp = 0; /* XXX - args->msgtyp; */ bsd_args.msgflg = args->msgflg; error = msgrcv(&bsd_args); - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; return(error); } @@ -340,11 +340,11 @@ linux_msgget(struct linux_msgget_args *args) struct msgget_args bsd_args; int error; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.key = args->key; bsd_args.msgflg = args->msgflg; error = msgget(&bsd_args); - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; return(error); } @@ -354,12 +354,12 @@ linux_msgctl(struct linux_msgctl_args *args) struct msgctl_args bsd_args; int error; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.msqid = args->msqid; bsd_args.cmd = args->cmd; bsd_args.buf = (struct msqid_ds *)args->buf; error = msgctl(&bsd_args); - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; return ((args->cmd == LINUX_IPC_RMID && error == EINVAL) ? 0 : error); } @@ -369,18 +369,18 @@ linux_shmat(struct linux_shmat_args *args) struct shmat_args bsd_args; int error; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.shmid = args->shmid; bsd_args.shmaddr = args->shmaddr; bsd_args.shmflg = args->shmflg; if ((error = shmat(&bsd_args))) return error; #ifdef __i386__ - if ((error = copyout(&bsd_args.lmsg.u.ms_lresult, (caddr_t)args->raddr, sizeof(l_ulong)))) + if ((error = copyout(&bsd_args.sysmsg_lresult, (caddr_t)args->raddr, sizeof(l_ulong)))) return error; - args->lmsg.u.ms_result = 0; + args->sysmsg_result = 0; #else - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; #endif return 0; } @@ -391,10 +391,10 @@ linux_shmdt(struct linux_shmdt_args *args) struct shmdt_args bsd_args; int error; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.shmaddr = args->shmaddr; error = shmdt(&bsd_args); - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; return(error); } @@ -404,12 +404,12 @@ linux_shmget(struct linux_shmget_args *args) struct shmget_args bsd_args; int error; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.key = args->key; bsd_args.size = args->size; bsd_args.shmflg = args->shmflg; error = shmget(&bsd_args); - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; return(error); } @@ -421,7 +421,7 @@ linux_shmctl(struct linux_shmctl_args *args) int error; caddr_t sg = stackgap_init(); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; switch (args->cmd) { case LINUX_IPC_STAT: bsd_args.shmid = args->shmid; @@ -430,7 +430,7 @@ linux_shmctl(struct linux_shmctl_args *args) if ((error = shmctl(&bsd_args))) return error; bsd_to_linux_shmid_ds(bsd_args.buf, &linux_shmid); - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; return copyout(&linux_shmid, (caddr_t)args->buf, sizeof(linux_shmid)); case LINUX_IPC_SET: @@ -465,6 +465,6 @@ linux_shmctl(struct linux_shmctl_args *args) return EINVAL; } error = shmctl(&bsd_args); - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; return(error); } diff --git a/sys/emulation/linux/linux_ipc.h b/sys/emulation/linux/linux_ipc.h index 19f1573aa4..ad4747e82e 100644 --- a/sys/emulation/linux/linux_ipc.h +++ b/sys/emulation/linux/linux_ipc.h @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/compat/linux/linux_ipc.h,v 1.2.2.4 2001/11/05 19:08:22 marcel Exp $ - * $DragonFly: src/sys/emulation/linux/linux_ipc.h,v 1.4 2003/07/26 18:12:40 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/linux_ipc.h,v 1.5 2003/07/30 00:19:13 dillon Exp $ */ #ifndef _LINUX_IPC_H_ @@ -36,7 +36,7 @@ struct linux_msgctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int msqid; l_int cmd; struct l_msqid_ds *buf; @@ -44,14 +44,14 @@ struct linux_msgctl_args struct linux_msgget_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_key_t key; l_int msgflg; }; struct linux_msgrcv_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int msqid; struct l_msgbuf *msgp; l_size_t msgsz; @@ -61,7 +61,7 @@ struct linux_msgrcv_args struct linux_msgsnd_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int msqid; struct l_msgbuf *msgp; l_size_t msgsz; @@ -70,7 +70,7 @@ struct linux_msgsnd_args struct linux_semctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int semid; l_int semnum; l_int cmd; @@ -79,7 +79,7 @@ struct linux_semctl_args struct linux_semget_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_key_t key; l_int nsems; l_int semflg; @@ -87,7 +87,7 @@ struct linux_semget_args struct linux_semop_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int semid; struct l_sembuf *tsops; l_uint nsops; @@ -95,7 +95,7 @@ struct linux_semop_args struct linux_shmat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int shmid; char *shmaddr; l_int shmflg; @@ -104,7 +104,7 @@ struct linux_shmat_args struct linux_shmctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_int shmid; l_int cmd; struct l_shmid_ds *buf; @@ -112,13 +112,13 @@ struct linux_shmctl_args struct linux_shmdt_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char *shmaddr; }; struct linux_shmget_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; l_key_t key; l_size_t size; l_int shmflg; diff --git a/sys/emulation/linux/linux_misc.c b/sys/emulation/linux/linux_misc.c index 3ce89ef7ef..014ab2de6a 100644 --- a/sys/emulation/linux/linux_misc.c +++ b/sys/emulation/linux/linux_misc.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.85.2.9 2002/09/24 08:11:41 mdodd Exp $ - * $DragonFly: src/sys/emulation/linux/linux_misc.c,v 1.10 2003/07/29 21:54:15 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/linux_misc.c,v 1.11 2003/07/30 00:19:13 dillon Exp $ */ #include "opt_compat.h" @@ -202,7 +202,7 @@ linux_alarm(struct linux_alarm_args *args) timevalsub(&old_it.it_value, &tv); if (old_it.it_value.tv_usec != 0) old_it.it_value.tv_sec++; - args->lmsg.u.ms_result = old_it.it_value.tv_sec; + args->sysmsg_result = old_it.it_value.tv_sec; } return 0; } @@ -225,13 +225,13 @@ linux_brk(struct linux_brk_args *args) #endif old = (vm_offset_t)vm->vm_daddr + ctob(vm->vm_dsize); new = (vm_offset_t)args->dsend; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.nsize = (char *) new; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; if (((caddr_t)new > vm->vm_daddr) && !obreak(&bsd_args)) - args->lmsg.u.ms_result = (long)new; + args->sysmsg_result = (long)new; else - args->lmsg.u.ms_result = (long)old; + args->sysmsg_result = (long)old; return 0; } @@ -488,7 +488,7 @@ linux_select(struct linux_select_args *args) #endif error = 0; - bsa.lmsg.u.ms_result = 0; + bsa.sysmsg_result = 0; bsa.nd = args->nfds; bsa.in = args->readfds; bsa.ou = args->writefds; @@ -532,7 +532,7 @@ linux_select(struct linux_select_args *args) } error = select(&bsa); - args->lmsg.u.ms_result = bsa.lmsg.u.ms_result; + args->sysmsg_result = bsa.sysmsg_result; #ifdef DEBUG if (ldebug(select)) printf(LMSG("real select returns %d"), error); @@ -548,7 +548,7 @@ linux_select(struct linux_select_args *args) } if (args->timeout) { - if (args->lmsg.u.ms_result) { + if (args->sysmsg_result) { /* * Compute how much time was left of the timeout, * by subtracting the current time and the time @@ -598,18 +598,18 @@ linux_mremap(struct linux_mremap_args *args) args->old_len = round_page(args->old_len); if (args->new_len > args->old_len) { - args->lmsg.u.ms_result = 0; + args->sysmsg_result = 0; return ENOMEM; } if (args->new_len < args->old_len) { - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.addr = (caddr_t)(args->addr + args->new_len); bsd_args.len = args->old_len - args->new_len; error = munmap(&bsd_args); } - args->lmsg.u.ms_resultp = error ? NULL : (void *)args->addr; + args->sysmsg_resultp = error ? NULL : (void *)args->addr; return error; } @@ -626,10 +626,10 @@ linux_msync(struct linux_msync_args *args) bsd_args.addr = (caddr_t)args->addr; bsd_args.len = args->len; bsd_args.flags = args->fl & ~LINUX_MS_SYNC; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; error = msync(&bsd_args); - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; return(error); } @@ -650,7 +650,7 @@ linux_time(struct linux_time_args *args) tm = tv.tv_sec; if (args->tm && (error = copyout(&tm, (caddr_t)args->tm, sizeof(tm)))) return error; - args->lmsg.u.ms_lresult = tm; + args->sysmsg_lresult = tm; return 0; } #endif /*!__alpha__*/ @@ -698,7 +698,7 @@ linux_times(struct linux_times_args *args) return error; microuptime(&tv); - args->lmsg.u.ms_result = (int)CONVTCK(tv); + args->sysmsg_result = (int)CONVTCK(tv); return 0; } @@ -772,9 +772,9 @@ linux_utime(struct linux_utime_args *args) bsdutimes.tptr = NULL; bsdutimes.path = args->fname; - bsdutimes.lmsg.u.ms_result = 0; + bsdutimes.sysmsg_result = 0; error = utimes(&bsdutimes); - args->lmsg.u.ms_result = bsdutimes.lmsg.u.ms_result; + args->sysmsg_result = bsdutimes.sysmsg_result; return(error); } #endif /* __i386__ */ @@ -794,7 +794,7 @@ linux_waitpid(struct linux_waitpid_args *args) args->pid, (void *)args->status, args->options); #endif - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.pid = args->pid; bsd_args.status = args->status; bsd_args.options = (args->options & (WNOHANG | WUNTRACED)); @@ -805,7 +805,7 @@ linux_waitpid(struct linux_waitpid_args *args) if ((error = wait4(&bsd_args)) != 0) return error; - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; if (args->status) { if ((error = copyin((caddr_t)args->status, &tmpstat, @@ -842,7 +842,7 @@ linux_wait4(struct linux_wait4_args *args) (void *)args->rusage); #endif - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.pid = args->pid; bsd_args.status = args->status; bsd_args.options = (args->options & (WNOHANG | WUNTRACED)); @@ -853,7 +853,7 @@ linux_wait4(struct linux_wait4_args *args) if ((error = wait4(&bsd_args)) != 0) return error; - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; SIGDELSET(p->p_siglist, SIGCHLD); @@ -895,16 +895,16 @@ linux_mknod(struct linux_mknod_args *args) if (args->mode & S_IFIFO) { bsd_mkfifo.path = args->path; bsd_mkfifo.mode = args->mode; - bsd_mkfifo.lmsg.u.ms_result = 0; + bsd_mkfifo.sysmsg_result = 0; error = mkfifo(&bsd_mkfifo); - args->lmsg.u.ms_result = bsd_mkfifo.lmsg.u.ms_result; + args->sysmsg_result = bsd_mkfifo.sysmsg_result; } else { bsd_mknod.path = args->path; bsd_mknod.mode = args->mode; bsd_mknod.dev = args->dev; - bsd_mknod.lmsg.u.ms_result = 0; + bsd_mknod.sysmsg_result = 0; error = mknod(&bsd_mknod); - args->lmsg.u.ms_result = bsd_mknod.lmsg.u.ms_result; + args->sysmsg_result = bsd_mknod.sysmsg_result; } return(error); } @@ -925,7 +925,7 @@ linux_personality(struct linux_personality_args *args) #endif /* Yes Jim, it's still a Linux... */ - args->lmsg.u.ms_result = 0; + args->sysmsg_result = 0; return 0; } @@ -947,7 +947,7 @@ linux_setitimer(struct linux_setitimer_args *args) bsa.which = args->which; bsa.itv = (struct itimerval *)args->itv; bsa.oitv = (struct itimerval *)args->oitv; - bsa.lmsg.u.ms_result = 0; + bsa.sysmsg_result = 0; if (args->itv) { if ((error = copyin((caddr_t)args->itv, &foo, sizeof(foo)))) return error; @@ -961,7 +961,7 @@ linux_setitimer(struct linux_setitimer_args *args) #endif } error = setitimer(&bsa); - args->lmsg.u.ms_result = bsa.lmsg.u.ms_result; + args->sysmsg_result = bsa.sysmsg_result; return(error); } @@ -976,9 +976,9 @@ linux_getitimer(struct linux_getitimer_args *args) #endif bsa.which = args->which; bsa.itv = (struct itimerval *)args->itv; - bsa.lmsg.u.ms_result = 0; + bsa.sysmsg_result = 0; error = getitimer(&bsa); - args->lmsg.u.ms_result = bsa.lmsg.u.ms_result; + args->sysmsg_result = bsa.sysmsg_result; return(error); } @@ -992,9 +992,9 @@ linux_nice(struct linux_nice_args *args) bsd_args.which = PRIO_PROCESS; bsd_args.who = 0; /* current process */ bsd_args.prio = args->inc; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; error = setpriority(&bsd_args); - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; return(error); } #endif /*!__alpha__*/ @@ -1074,7 +1074,7 @@ linux_getgroups(struct linux_getgroups_args *args) */ if ((ngrp = args->gidsetsize) == 0) { - args->lmsg.u.ms_result = bsd_gidsetsz; + args->sysmsg_result = bsd_gidsetsz; return (0); } @@ -1091,7 +1091,7 @@ linux_getgroups(struct linux_getgroups_args *args) ngrp * sizeof(l_gid_t)))) return (error); - args->lmsg.u.ms_result = ngrp; + args->sysmsg_result = ngrp; return (0); } @@ -1124,9 +1124,9 @@ linux_setrlimit(struct linux_setrlimit_args *args) bsd.rlp = stackgap_alloc(&sg, sizeof(struct rlimit)); bsd.rlp->rlim_cur = (rlim_t)rlim.rlim_cur; bsd.rlp->rlim_max = (rlim_t)rlim.rlim_max; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = setrlimit(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -1152,11 +1152,11 @@ linux_old_getrlimit(struct linux_old_getrlimit_args *args) return (EINVAL); bsd.rlp = stackgap_alloc(&sg, sizeof(struct rlimit)); - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = getrlimit(&bsd); if (error) return (error); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; rlim.rlim_cur = (unsigned long)bsd.rlp->rlim_cur; if (rlim.rlim_cur == ULONG_MAX) rlim.rlim_cur = LONG_MAX; @@ -1188,11 +1188,11 @@ linux_getrlimit(struct linux_getrlimit_args *args) return (EINVAL); bsd.rlp = stackgap_alloc(&sg, sizeof(struct rlimit)); - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = getrlimit(&bsd); if (error) return (error); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; rlim.rlim_cur = (l_ulong)bsd.rlp->rlim_cur; rlim.rlim_max = (l_ulong)bsd.rlp->rlim_max; @@ -1228,10 +1228,10 @@ linux_sched_setscheduler(struct linux_sched_setscheduler_args *args) bsd.pid = args->pid; bsd.param = (struct sched_param *)args->param; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = sched_setscheduler(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -1246,20 +1246,20 @@ linux_sched_getscheduler(struct linux_sched_getscheduler_args *args) printf(ARGS(sched_getscheduler, "%d"), args->pid); #endif - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; bsd.pid = args->pid; error = sched_getscheduler(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; - switch (args->lmsg.u.ms_result) { + switch (args->sysmsg_result) { case SCHED_OTHER: - args->lmsg.u.ms_result = LINUX_SCHED_OTHER; + args->sysmsg_result = LINUX_SCHED_OTHER; break; case SCHED_FIFO: - args->lmsg.u.ms_result = LINUX_SCHED_FIFO; + args->sysmsg_result = LINUX_SCHED_FIFO; break; case SCHED_RR: - args->lmsg.u.ms_result = LINUX_SCHED_RR; + args->sysmsg_result = LINUX_SCHED_RR; break; } return error; @@ -1289,10 +1289,10 @@ linux_sched_get_priority_max(struct linux_sched_get_priority_max_args *args) default: return EINVAL; } - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = sched_get_priority_max(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -1320,10 +1320,10 @@ linux_sched_get_priority_min(struct linux_sched_get_priority_min_args *args) default: return EINVAL; } - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = sched_get_priority_min(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -1344,10 +1344,10 @@ linux_reboot(struct linux_reboot_args *args) if (args->cmd == REBOOT_CAD_ON || args->cmd == REBOOT_CAD_OFF) return (0); bsd_args.opt = (args->cmd == REBOOT_HALT) ? RB_HALT : 0; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; error = reboot(&bsd_args); - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; return(error); } @@ -1373,7 +1373,7 @@ linux_getpid(struct linux_getpid_args *args) KKASSERT(p); - args->lmsg.u.ms_result = p->p_pid; + args->sysmsg_result = p->p_pid; return (0); } @@ -1385,7 +1385,7 @@ linux_getgid(struct linux_getgid_args *args) KKASSERT(p); - args->lmsg.u.ms_result = p->p_ucred->cr_rgid; + args->sysmsg_result = p->p_ucred->cr_rgid; return (0); } @@ -1397,7 +1397,7 @@ linux_getuid(struct linux_getuid_args *args) KKASSERT(p); - args->lmsg.u.ms_result = p->p_ucred->cr_ruid; + args->sysmsg_result = p->p_ucred->cr_ruid; return (0); } @@ -1409,10 +1409,10 @@ linux_getsid(struct linux_getsid_args *args) struct getsid_args bsd; int error; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; bsd.pid = args->pid; error = getsid(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } diff --git a/sys/emulation/linux/linux_signal.c b/sys/emulation/linux/linux_signal.c index c5b0a0a9cc..2e9fb2f706 100644 --- a/sys/emulation/linux/linux_signal.c +++ b/sys/emulation/linux/linux_signal.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/compat/linux/linux_signal.c,v 1.23.2.3 2001/11/05 19:08:23 marcel Exp $ - * $DragonFly: src/sys/emulation/linux/linux_signal.c,v 1.4 2003/07/26 18:12:40 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/linux_signal.c,v 1.5 2003/07/30 00:19:13 dillon Exp $ */ #include @@ -163,11 +163,11 @@ linux_do_sigaction(int linux_sig, l_sigaction_t *linux_nsa, sa_args.act = nsa; sa_args.oact = osa; - sa_args.lmsg.u.ms_result = 0; + sa_args.sysmsg_result = 0; error = sigaction(&sa_args); if (error) return (error); - *res = sa_args.lmsg.u.ms_result; + *res = sa_args.sysmsg_result; if (linux_osa != NULL) bsd_to_linux_sigaction(osa, linux_osa); @@ -195,7 +195,7 @@ linux_signal(struct linux_signal_args *args) LINUX_SIGEMPTYSET(nsa.lsa_mask); error = linux_do_sigaction(args->sig, &nsa, &osa, &dummy); - args->lmsg.u.ms_result = (int)osa.lsa_handler; + args->sysmsg_result = (int)osa.lsa_handler; return (error); } @@ -226,7 +226,7 @@ linux_rt_sigaction(struct linux_rt_sigaction_args *args) error = linux_do_sigaction(args->sig, args->act ? &nsa : NULL, args->oact ? &osa : NULL, - &args->lmsg.u.ms_result); + &args->sysmsg_result); if (args->oact != NULL && !error) { error = copyout(&osa, args->oact, sizeof(l_sigaction_t)); @@ -296,7 +296,7 @@ linux_sigprocmask(struct linux_sigprocmask_args *args) error = linux_do_sigprocmask(args->how, args->mask ? &set : NULL, args->omask ? &oset : NULL, - &args->lmsg.u.ms_result); + &args->sysmsg_result); if (args->omask != NULL && !error) { mask = oset.__bits[0]; @@ -332,7 +332,7 @@ linux_rt_sigprocmask(struct linux_rt_sigprocmask_args *args) error = linux_do_sigprocmask(args->how, args->mask ? &set : NULL, args->omask ? &oset : NULL, - &args->lmsg.u.ms_result); + &args->sysmsg_result); if (args->omask != NULL && !error) { error = copyout(&oset, args->omask, sizeof(l_sigset_t)); @@ -354,7 +354,7 @@ linux_sgetmask(struct linux_sgetmask_args *args) #endif bsd_to_linux_sigset(&p->p_sigmask, &mask); - args->lmsg.u.ms_result = mask.__bits[0]; + args->sysmsg_result = mask.__bits[0]; return (0); } @@ -371,7 +371,7 @@ linux_ssetmask(struct linux_ssetmask_args *args) #endif bsd_to_linux_sigset(&p->p_sigmask, &lset); - args->lmsg.u.ms_result = lset.__bits[0]; + args->sysmsg_result = lset.__bits[0]; LINUX_SIGEMPTYSET(lset); lset.__bits[0] = args->mask; linux_to_bsd_sigset(&lset, &bset); @@ -426,9 +426,9 @@ linux_kill(struct linux_kill_args *args) ka.signum = args->signum; ka.pid = args->pid; - ka.lmsg.u.ms_result = 0; + ka.sysmsg_result = 0; error = kill(&ka); - args->lmsg.u.ms_result = ka.lmsg.u.ms_result; + args->sysmsg_result = ka.sysmsg_result; return(error); } diff --git a/sys/emulation/linux/linux_socket.c b/sys/emulation/linux/linux_socket.c index 3806523f19..089f0af5be 100644 --- a/sys/emulation/linux/linux_socket.c +++ b/sys/emulation/linux/linux_socket.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.19.2.8 2001/11/07 20:33:55 marcel Exp $ - * $DragonFly: src/sys/emulation/linux/linux_socket.c,v 1.5 2003/07/26 18:12:40 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/linux_socket.c,v 1.6 2003/07/30 00:19:13 dillon Exp $ */ /* XXX we use functions that might not exist. */ @@ -235,7 +235,7 @@ linux_check_hdrincl(int s) bsd_args.name = IP_HDRINCL; bsd_args.val = val; bsd_args.avalsize = (int *)valsize; - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; if ((error = getsockopt(&bsd_args))) return (error); /* return value not used */ @@ -311,9 +311,9 @@ linux_sendto_hdrincl(struct sendto_args *bsd_args) sendmsg_args.s = bsd_args->s; sendmsg_args.msg = (caddr_t)msg; sendmsg_args.flags = bsd_args->flags; - sendmsg_args.lmsg.u.ms_result = 0; + sendmsg_args.sysmsg_result = 0; error = sendmsg(&sendmsg_args); - bsd_args->lmsg.u.ms_result = sendmsg_args.lmsg.u.ms_result; + bsd_args->sysmsg_result = sendmsg_args.sysmsg_result; return(error); } @@ -334,7 +334,7 @@ linux_socket(struct linux_socket_args *args, int *res) if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.protocol = linux_args.protocol; bsd_args.type = linux_args.type; bsd_args.domain = linux_to_bsd_domain(linux_args.domain); @@ -343,7 +343,7 @@ linux_socket(struct linux_socket_args *args, int *res) retval_socket = socket(&bsd_args); /* Copy back the return value from socket() */ - *res = bsd_args.lmsg.u.ms_result; + *res = bsd_args.sysmsg_result; if (bsd_args.type == SOCK_RAW && (bsd_args.protocol == IPPROTO_RAW || bsd_args.protocol == 0) && bsd_args.domain == AF_INET @@ -362,7 +362,7 @@ linux_socket(struct linux_socket_args *args, int *res) sg = stackgap_init(); hdrincl = (int *)stackgap_alloc(&sg, sizeof(*hdrincl)); *hdrincl = 1; - bsd_setsockopt_args.s = bsd_args.lmsg.u.ms_result; + bsd_setsockopt_args.s = bsd_args.sysmsg_result; bsd_setsockopt_args.level = IPPROTO_IP; bsd_setsockopt_args.name = IP_HDRINCL; bsd_setsockopt_args.val = (caddr_t)hdrincl; @@ -394,13 +394,13 @@ linux_bind(struct linux_bind_args *args, int *res) if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.s = linux_args.s; bsd_args.name = (caddr_t)linux_args.name; bsd_args.namelen = linux_to_bsd_namelen(bsd_args.name, linux_args.namelen); error = bind(&bsd_args); - *res = bsd_args.lmsg.u.ms_result; + *res = bsd_args.sysmsg_result; return(error); } @@ -436,13 +436,13 @@ linux_connect(struct linux_connect_args *args, int *res) return (error); #endif /* __alpha__ */ - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.s = linux_args.s; bsd_args.name = (caddr_t)linux_args.name; bsd_args.namelen = linux_to_bsd_namelen(bsd_args.name, linux_args.namelen); error = connect(&bsd_args); - *res = bsd_args.lmsg.u.ms_result; + *res = bsd_args.sysmsg_result; if (error != EISCONN) return (error); @@ -485,11 +485,11 @@ linux_listen(struct linux_listen_args *args, int *res) if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.s = linux_args.s; bsd_args.backlog = linux_args.backlog; error = listen(&bsd_args); - *res = bsd_args.lmsg.u.ms_result; + *res = bsd_args.sysmsg_result; return(error); } @@ -518,7 +518,7 @@ linux_accept(struct linux_accept_args *args, int *res) if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.s = linux_args.s; bsd_args.name = (caddr_t)linux_args.addr; bsd_args.anamelen = linux_args.namelen; @@ -531,7 +531,7 @@ linux_accept(struct linux_accept_args *args, int *res) * accepted one, so we must clear the flags in the new descriptor. * Ignore any errors, because we already have an open fd. */ - f_args.fd = *res = bsd_args.lmsg.u.ms_result; + f_args.fd = *res = bsd_args.sysmsg_result; f_args.cmd = F_SETFL; f_args.arg = 0; (void)fcntl(&f_args); @@ -558,12 +558,12 @@ linux_getsockname(struct linux_getsockname_args *args, int *res) if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.fdes = linux_args.s; bsd_args.asa = (caddr_t) linux_args.addr; bsd_args.alen = linux_args.namelen; error = ogetsockname(&bsd_args); - *res = bsd_args.lmsg.u.ms_result; + *res = bsd_args.sysmsg_result; return(error); } @@ -587,12 +587,12 @@ linux_getpeername(struct linux_getpeername_args *args, int *res) if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.fdes = linux_args.s; bsd_args.asa = (caddr_t) linux_args.addr; bsd_args.alen = linux_args.namelen; error = ogetpeername(&bsd_args); - *res = bsd_args.lmsg.u.ms_result; + *res = bsd_args.sysmsg_result; return(error); } @@ -622,12 +622,12 @@ linux_socketpair(struct linux_socketpair_args *args, int *res) if (bsd_args.domain == -1) return (EINVAL); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.type = linux_args.type; bsd_args.protocol = linux_args.protocol; bsd_args.rsv = linux_args.rsv; error = socketpair(&bsd_args); - *res = bsd_args.lmsg.u.ms_result; + *res = bsd_args.sysmsg_result; return(error); } @@ -653,13 +653,13 @@ linux_send(struct linux_send_args *args, int *res) if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.s = linux_args.s; bsd_args.buf = linux_args.msg; bsd_args.len = linux_args.len; bsd_args.flags = linux_args.flags; error = osend(&bsd_args); - *res = bsd_args.lmsg.u.ms_result; + *res = bsd_args.sysmsg_result; return(error); } @@ -685,13 +685,13 @@ linux_recv(struct linux_recv_args *args, int *res) if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.s = linux_args.s; bsd_args.buf = linux_args.msg; bsd_args.len = linux_args.len; bsd_args.flags = linux_args.flags; error = orecv(&bsd_args); - *res = bsd_args.lmsg.u.ms_result; + *res = bsd_args.sysmsg_result; return(error); } @@ -721,7 +721,7 @@ linux_sendto(struct linux_sendto_args *args, int *res) if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.s = linux_args.s; bsd_args.buf = linux_args.msg; bsd_args.len = linux_args.len; @@ -734,7 +734,7 @@ linux_sendto(struct linux_sendto_args *args, int *res) return (linux_sendto_hdrincl(&bsd_args)); error = sendto(&bsd_args); - *res = bsd_args.lmsg.u.ms_result; + *res = bsd_args.sysmsg_result; return(error); } @@ -764,7 +764,7 @@ linux_recvfrom(struct linux_recvfrom_args *args, int *res) if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.s = linux_args.s; bsd_args.buf = linux_args.buf; bsd_args.len = linux_args.len; @@ -772,7 +772,7 @@ linux_recvfrom(struct linux_recvfrom_args *args, int *res) bsd_args.from = linux_args.from; bsd_args.fromlenaddr = linux_args.fromlen; error = orecvfrom(&bsd_args); - *res = bsd_args.lmsg.u.ms_result; + *res = bsd_args.sysmsg_result; return(error); } @@ -796,12 +796,12 @@ linux_recvmsg(struct linux_recvmsg_args *args, int *res) if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.s = linux_args.s; bsd_args.msg = linux_args.msg; bsd_args.flags = linux_to_bsd_msg_flags(linux_args.flags); error = recvmsg(&bsd_args); - *res = bsd_args.lmsg.u.ms_result; + *res = bsd_args.sysmsg_result; return(error); } @@ -823,11 +823,11 @@ linux_shutdown(struct linux_shutdown_args *args, int *res) if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.s = linux_args.s; bsd_args.how = linux_args.how; error = shutdown(&bsd_args); - *res = bsd_args.lmsg.u.ms_result; + *res = bsd_args.sysmsg_result; return(error); } @@ -855,7 +855,7 @@ linux_setsockopt(struct linux_setsockopt_args *args, int *res) if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.s = linux_args.s; bsd_args.level = linux_to_bsd_sockopt_level(linux_args.level); switch (bsd_args.level) { @@ -880,7 +880,7 @@ linux_setsockopt(struct linux_setsockopt_args *args, int *res) bsd_args.val = linux_args.optval; bsd_args.valsize = linux_args.optlen; error = setsockopt(&bsd_args); - *res = bsd_args.lmsg.u.ms_result; + *res = bsd_args.sysmsg_result; return(error); } @@ -908,7 +908,7 @@ linux_getsockopt(struct linux_getsockopt_args *args, int *res) if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; bsd_args.s = linux_args.s; bsd_args.level = linux_to_bsd_sockopt_level(linux_args.level); switch (bsd_args.level) { @@ -933,7 +933,7 @@ linux_getsockopt(struct linux_getsockopt_args *args, int *res) bsd_args.val = linux_args.optval; bsd_args.avalsize = linux_args.optlen; error = getsockopt(&bsd_args); - *res = bsd_args.lmsg.u.ms_result; + *res = bsd_args.sysmsg_result; return(error); } @@ -944,35 +944,35 @@ linux_socketcall(struct linux_socketcall_args *args) switch (args->what) { case LINUX_SOCKET: - return (linux_socket(arg, &args->lmsg.u.ms_result)); + return (linux_socket(arg, &args->sysmsg_result)); case LINUX_BIND: - return (linux_bind(arg, &args->lmsg.u.ms_result)); + return (linux_bind(arg, &args->sysmsg_result)); case LINUX_CONNECT: - return (linux_connect(arg, &args->lmsg.u.ms_result)); + return (linux_connect(arg, &args->sysmsg_result)); case LINUX_LISTEN: - return (linux_listen(arg, &args->lmsg.u.ms_result)); + return (linux_listen(arg, &args->sysmsg_result)); case LINUX_ACCEPT: - return (linux_accept(arg, &args->lmsg.u.ms_result)); + return (linux_accept(arg, &args->sysmsg_result)); case LINUX_GETSOCKNAME: - return (linux_getsockname(arg, &args->lmsg.u.ms_result)); + return (linux_getsockname(arg, &args->sysmsg_result)); case LINUX_GETPEERNAME: - return (linux_getpeername(arg, &args->lmsg.u.ms_result)); + return (linux_getpeername(arg, &args->sysmsg_result)); case LINUX_SOCKETPAIR: - return (linux_socketpair(arg, &args->lmsg.u.ms_result)); + return (linux_socketpair(arg, &args->sysmsg_result)); case LINUX_SEND: - return (linux_send(arg, &args->lmsg.u.ms_result)); + return (linux_send(arg, &args->sysmsg_result)); case LINUX_RECV: - return (linux_recv(arg, &args->lmsg.u.ms_result)); + return (linux_recv(arg, &args->sysmsg_result)); case LINUX_SENDTO: - return (linux_sendto(arg, &args->lmsg.u.ms_result)); + return (linux_sendto(arg, &args->sysmsg_result)); case LINUX_RECVFROM: - return (linux_recvfrom(arg, &args->lmsg.u.ms_result)); + return (linux_recvfrom(arg, &args->sysmsg_result)); case LINUX_SHUTDOWN: - return (linux_shutdown(arg, &args->lmsg.u.ms_result)); + return (linux_shutdown(arg, &args->sysmsg_result)); case LINUX_SETSOCKOPT: - return (linux_setsockopt(arg, &args->lmsg.u.ms_result)); + return (linux_setsockopt(arg, &args->sysmsg_result)); case LINUX_GETSOCKOPT: - return (linux_getsockopt(arg, &args->lmsg.u.ms_result)); + return (linux_getsockopt(arg, &args->sysmsg_result)); case LINUX_SENDMSG: do { int error; @@ -1009,13 +1009,13 @@ linux_socketcall(struct linux_socketcall_args *args) return (error); } done: - bsd_args.lmsg.u.ms_result = 0; + bsd_args.sysmsg_result = 0; error = sendmsg(&bsd_args); - args->lmsg.u.ms_result = bsd_args.lmsg.u.ms_result; + args->sysmsg_result = bsd_args.sysmsg_result; return(error); } while (0); case LINUX_RECVMSG: - return (linux_recvmsg(arg, &args->lmsg.u.ms_result)); + return (linux_recvmsg(arg, &args->sysmsg_result)); } uprintf("LINUX: 'socket' typ=%d not implemented\n", args->what); diff --git a/sys/emulation/linux/linux_uid16.c b/sys/emulation/linux/linux_uid16.c index fdb4a44aa1..2600cfb7c0 100644 --- a/sys/emulation/linux/linux_uid16.c +++ b/sys/emulation/linux/linux_uid16.c @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/compat/linux/linux_uid16.c,v 1.4.2.1 2001/10/21 03:57:35 marcel Exp $ - * $DragonFly: src/sys/emulation/linux/linux_uid16.c,v 1.5 2003/07/26 18:12:40 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/linux_uid16.c,v 1.6 2003/07/30 00:19:13 dillon Exp $ */ #include "opt_compat.h" @@ -64,9 +64,9 @@ linux_chown16(struct linux_chown16_args *args) bsd.path = args->path; bsd.uid = CAST_NOCHG(args->uid); bsd.gid = CAST_NOCHG(args->gid); - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = chown(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -89,10 +89,10 @@ linux_lchown16(struct linux_lchown16_args *args) bsd.path = args->path; bsd.uid = CAST_NOCHG(args->uid); bsd.gid = CAST_NOCHG(args->gid); - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = lchown(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -175,7 +175,7 @@ linux_getgroups16(struct linux_getgroups16_args *args) */ if ((ngrp = args->gidsetsize) == 0) { - args->lmsg.u.ms_result = bsd_gidsetsz; + args->sysmsg_result = bsd_gidsetsz; return (0); } @@ -193,7 +193,7 @@ linux_getgroups16(struct linux_getgroups16_args *args) if (error) return (error); - args->lmsg.u.ms_result = ngrp; + args->sysmsg_result = ngrp; return (0); } @@ -213,7 +213,7 @@ linux_getgid16(struct linux_getgid16_args *args) { struct proc *p = curproc; - args->lmsg.u.ms_result = p->p_ucred->cr_rgid; + args->sysmsg_result = p->p_ucred->cr_rgid; return (0); } @@ -222,7 +222,7 @@ linux_getuid16(struct linux_getuid16_args *args) { struct proc *p = curproc; - args->lmsg.u.ms_result = p->p_ucred->cr_ruid; + args->sysmsg_result = p->p_ucred->cr_ruid; return (0); } @@ -232,10 +232,10 @@ linux_getegid16(struct linux_getegid16_args *args) struct getegid_args bsd; int error; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = getegid(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -245,10 +245,10 @@ linux_geteuid16(struct linux_geteuid16_args *args) struct geteuid_args bsd; int error; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = geteuid(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -259,10 +259,10 @@ linux_setgid16(struct linux_setgid16_args *args) int error; bsd.gid = args->gid; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = setgid(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -273,10 +273,10 @@ linux_setuid16(struct linux_setuid16_args *args) int error; bsd.uid = args->uid; - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = setuid(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -288,10 +288,10 @@ linux_setregid16(struct linux_setregid16_args *args) bsd.rgid = CAST_NOCHG(args->rgid); bsd.egid = CAST_NOCHG(args->egid); - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = setregid(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -303,10 +303,10 @@ linux_setreuid16(struct linux_setreuid16_args *args) bsd.ruid = CAST_NOCHG(args->ruid); bsd.euid = CAST_NOCHG(args->euid); - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = setreuid(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -319,10 +319,10 @@ linux_setresgid16(struct linux_setresgid16_args *args) bsd.rgid = CAST_NOCHG(args->rgid); bsd.egid = CAST_NOCHG(args->egid); bsd.sgid = CAST_NOCHG(args->sgid); - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = setresgid(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } @@ -335,10 +335,10 @@ linux_setresuid16(struct linux_setresuid16_args *args) bsd.ruid = CAST_NOCHG(args->ruid); bsd.euid = CAST_NOCHG(args->euid); bsd.suid = CAST_NOCHG(args->suid); - bsd.lmsg.u.ms_result = 0; + bsd.sysmsg_result = 0; error = setresuid(&bsd); - args->lmsg.u.ms_result = bsd.lmsg.u.ms_result; + args->sysmsg_result = bsd.sysmsg_result; return(error); } diff --git a/sys/emulation/posix4/p1003_1b.c b/sys/emulation/posix4/p1003_1b.c index 3fe87a575a..293fee59f8 100644 --- a/sys/emulation/posix4/p1003_1b.c +++ b/sys/emulation/posix4/p1003_1b.c @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/posix4/p1003_1b.c,v 1.5.2.2 2003/03/25 06:13:35 rwatson Exp $ - * $DragonFly: src/sys/emulation/posix4/Attic/p1003_1b.c,v 1.4 2003/07/26 18:12:45 dillon Exp $ + * $DragonFly: src/sys/emulation/posix4/Attic/p1003_1b.c,v 1.5 2003/07/30 00:19:15 dillon Exp $ */ /* p1003_1b: Real Time common code. @@ -169,7 +169,7 @@ sched_setparam(struct sched_setparam_args *uap) copyin(uap->param, &sched_param, sizeof(sched_param)); if ((e = p31b_proc(p, uap->pid, &p)) == 0) { - e = ksched_setparam(&uap->lmsg.u.ms_result, ksched, p, + e = ksched_setparam(&uap->sysmsg_result, ksched, p, (const struct sched_param *)&sched_param); } return e; @@ -191,7 +191,7 @@ sched_getparam(struct sched_getparam_args *uap) targetp = p; } - e = ksched_getparam(&uap->lmsg.u.ms_result, ksched, targetp, &sched_param); + e = ksched_getparam(&uap->sysmsg_result, ksched, targetp, &sched_param); if (!e) copyout(&sched_param, uap->param, sizeof(sched_param)); @@ -209,7 +209,7 @@ sched_setscheduler(struct sched_setscheduler_args *uap) copyin(uap->param, &sched_param, sizeof(sched_param)); if ((e = p31b_proc(p, uap->pid, &p)) == 0) { - e = ksched_setscheduler(&uap->lmsg.u.ms_result, ksched, p, + e = ksched_setscheduler(&uap->sysmsg_result, ksched, p, uap->policy, (const struct sched_param *)&sched_param); } return e; @@ -230,7 +230,7 @@ sched_getscheduler(struct sched_getscheduler_args *uap) targetp = p; } - e = ksched_getscheduler(&uap->lmsg.u.ms_result, ksched, targetp); + e = ksched_getscheduler(&uap->sysmsg_result, ksched, targetp); return e; } @@ -238,19 +238,19 @@ sched_getscheduler(struct sched_getscheduler_args *uap) int sched_yield(struct sched_yield_args *uap) { - return ksched_yield(&uap->lmsg.u.ms_result, ksched); + return ksched_yield(&uap->sysmsg_result, ksched); } int sched_get_priority_max(struct sched_get_priority_max_args *uap) { - return ksched_get_priority_max(&uap->lmsg.u.ms_result, ksched, uap->policy); + return ksched_get_priority_max(&uap->sysmsg_result, ksched, uap->policy); } int sched_get_priority_min(struct sched_get_priority_min_args *uap) { - return ksched_get_priority_min(&uap->lmsg.u.ms_result, ksched, uap->policy); + return ksched_get_priority_min(&uap->sysmsg_result, ksched, uap->policy); } int @@ -260,7 +260,7 @@ sched_rr_get_interval(struct sched_rr_get_interval_args *uap) struct proc *p = curproc; if ((e = p31b_proc(p, uap->pid, &p)) == 0) { - e = ksched_rr_get_interval(&uap->lmsg.u.ms_result, ksched, + e = ksched_rr_get_interval(&uap->sysmsg_result, ksched, p, uap->interval); } return e; diff --git a/sys/emulation/svr4/svr4_fcntl.c b/sys/emulation/svr4/svr4_fcntl.c index 7cbac10460..f4eca5be76 100644 --- a/sys/emulation/svr4/svr4_fcntl.c +++ b/sys/emulation/svr4/svr4_fcntl.c @@ -29,7 +29,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/svr4/svr4_fcntl.c,v 1.7 1999/12/12 10:27:04 newton Exp $ - * $DragonFly: src/sys/emulation/svr4/Attic/svr4_fcntl.c,v 1.7 2003/07/26 18:12:46 dillon Exp $ + * $DragonFly: src/sys/emulation/svr4/Attic/svr4_fcntl.c,v 1.8 2003/07/30 00:19:15 dillon Exp $ */ #include #include @@ -338,7 +338,7 @@ fd_truncate(struct thread *td, int fd, struct flock *flp, int *retval) SCARG(&ft, fd) = fd; SCARG(&ft, length) = start; error = ftruncate(&ft); - *retval = ft.lmsg.u.ms_result; + *retval = ft.sysmsg_result; return(error); } @@ -353,7 +353,7 @@ svr4_sys_open(struct svr4_sys_open_args *uap) caddr_t sg = stackgap_init(); CHECKALTEXIST(&sg, SCARG(uap, path)); - cup.lmsg.u.ms_result = 0; + cup.sysmsg_result = 0; cup.path = uap->path; cup.flags = svr4_to_bsd_flags(uap->flags); cup.mode = uap->mode; @@ -366,7 +366,7 @@ svr4_sys_open(struct svr4_sys_open_args *uap) } KKASSERT(p); - retval = uap->lmsg.u.ms_result = cup.lmsg.u.ms_result; + retval = uap->sysmsg_result = cup.sysmsg_result; if (!(SCARG(&cup, flags) & O_NOCTTY) && SESS_LEADER(p) && !(p->p_flag & P_CONTROLT)) { @@ -401,9 +401,9 @@ svr4_sys_creat(struct svr4_sys_creat_args *uap) SCARG(&cup, mode) = SCARG(uap, mode); SCARG(&cup, flags) = O_WRONLY | O_CREAT | O_TRUNC; - cup.lmsg.u.ms_result = 0; + cup.sysmsg_result = 0; error = open(&cup); - uap->lmsg.u.ms_result = cup.lmsg.u.ms_result; + uap->sysmsg_result = cup.sysmsg_result; return(error); } @@ -448,9 +448,9 @@ svr4_sys_access(struct svr4_sys_access_args *uap) SCARG(&cup, path) = SCARG(uap, path); SCARG(&cup, flags) = SCARG(uap, flags); - cup.lmsg.u.ms_result = 0; + cup.sysmsg_result = 0; error = access(&cup); - uap->lmsg.u.ms_result = cup.lmsg.u.ms_result; + uap->sysmsg_result = cup.sysmsg_result; return(error); } @@ -470,9 +470,9 @@ svr4_sys_pread(struct svr4_sys_pread_args *uap) SCARG(&pra, nbyte) = SCARG(uap, nbyte); SCARG(&pra, offset) = SCARG(uap, off); - pra.lmsg.u.ms_result = 0; + pra.sysmsg_result = 0; error = pread(&pra); - uap->lmsg.u.ms_result = pra.lmsg.u.ms_result; + uap->sysmsg_result = pra.sysmsg_result; return(error); } #endif @@ -494,9 +494,9 @@ svr4_sys_pread64(struct thread *td, void *v, register_t *retval) SCARG(&pra, nbyte) = SCARG(uap, nbyte); SCARG(&pra, offset) = SCARG(uap, off); - pra.lmsg.u.ms_result = 0; + pra.sysmsg_result = 0; error = sys_pread(&pra, retval); - uap->lmsg.u.ms_result = pra.lmsg.u.ms_result; + uap->sysmsg_result = pra.sysmsg_result; return(error); } #endif /* NOTYET */ @@ -517,9 +517,9 @@ svr4_sys_pwrite(struct svr4_sys_pwrite_args *uap) SCARG(&pwa, nbyte) = SCARG(uap, nbyte); SCARG(&pwa, offset) = SCARG(uap, off); - pwa.lmsg.u.ms_result = 0; + pwa.sysmsg_result = 0; error = pwrite(&pwa); - uap->lmsg.u.ms_result = pwa.lmsg.u.ms_result; + uap->sysmsg_result = pwa.sysmsg_result; return(error); } #endif @@ -554,7 +554,7 @@ svr4_sys_fcntl(struct svr4_sys_fcntl_args *uap) int *retval; KKASSERT(p); - retval = &uap->lmsg.u.ms_result; + retval = &uap->sysmsg_result; SCARG(&fa, fd) = SCARG(uap, fd); SCARG(&fa, cmd) = svr4_to_bsd_cmd(SCARG(uap, cmd)); @@ -564,9 +564,9 @@ svr4_sys_fcntl(struct svr4_sys_fcntl_args *uap) case F_GETFD: case F_SETFD: SCARG(&fa, arg) = (long) SCARG(uap, arg); - fa.lmsg.u.ms_result = 0; + fa.sysmsg_result = 0; error = fcntl(&fa); - *retval = fa.lmsg.u.ms_result; + *retval = fa.sysmsg_result; return error; case F_GETFL: @@ -574,7 +574,7 @@ svr4_sys_fcntl(struct svr4_sys_fcntl_args *uap) error = fcntl(&fa); if (error) return error; - *retval = bsd_to_svr4_flags(fa.lmsg.u.ms_result); + *retval = bsd_to_svr4_flags(fa.sysmsg_result); return error; case F_SETFL: @@ -592,13 +592,13 @@ svr4_sys_fcntl(struct svr4_sys_fcntl_args *uap) SCARG(&fa, cmd) = F_GETFL; if ((error = fcntl(&fa)) != 0) return error; - flags = fa.lmsg.u.ms_result; + flags = fa.sysmsg_result; flags &= O_ASYNC; flags |= svr4_to_bsd_flags((u_long) SCARG(uap, arg)); SCARG(&fa, cmd) = cmd; SCARG(&fa, arg) = (long) flags; error = fcntl(&fa); - *retval = fa.lmsg.u.ms_result; + *retval = fa.sysmsg_result; return error; } @@ -623,9 +623,9 @@ svr4_sys_fcntl(struct svr4_sys_fcntl_args *uap) if (error) return error; - fa.lmsg.u.ms_result = 0; + fa.sysmsg_result = 0; error = fcntl(&fa); - *retval = fa.lmsg.u.ms_result; + *retval = fa.sysmsg_result; if (error || SCARG(&fa, cmd) != F_GETLK) return error; @@ -687,9 +687,9 @@ svr4_sys_fcntl(struct svr4_sys_fcntl_args *uap) if (error) return error; - fa.lmsg.u.ms_result = 0; + fa.sysmsg_result = 0; error = fcntl(&fa); - *retval = fa.lmsg.u.ms_result; + *retval = fa.sysmsg_result; if (error || SCARG(&fa, cmd) != F_GETLK) return error; diff --git a/sys/emulation/svr4/svr4_filio.c b/sys/emulation/svr4/svr4_filio.c index 3880763062..62597936c7 100644 --- a/sys/emulation/svr4/svr4_filio.c +++ b/sys/emulation/svr4/svr4_filio.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/svr4/svr4_filio.c,v 1.8 2000/01/15 15:30:44 newton Exp $ - * $DragonFly: src/sys/emulation/svr4/Attic/svr4_filio.c,v 1.5 2003/07/26 18:12:46 dillon Exp $ + * $DragonFly: src/sys/emulation/svr4/Attic/svr4_filio.c,v 1.6 2003/07/30 00:19:15 dillon Exp $ */ #include @@ -124,9 +124,9 @@ svr4_sys_read(struct svr4_sys_read_args *uap) #endif } - ra.lmsg.u.ms_result = 0; + ra.sysmsg_result = 0; rv = read(&ra); - uap->lmsg.u.ms_result = ra.lmsg.u.ms_result; + uap->sysmsg_result = ra.sysmsg_result; DPRINTF(("svr4_read(%d, 0x%0x, %d) = %d\n", SCARG(uap, fd), SCARG(uap, buf), SCARG(uap, nbyte), rv)); @@ -160,9 +160,9 @@ svr4_sys_write(struct svr4_sys_write_args *uap) SCARG(&wa, buf) = SCARG(uap, buf); SCARG(&wa, nbyte) = SCARG(uap, nbyte); - wa.lmsg.u.ms_result = 0; + wa.sysmsg_result = 0; rv = write(&wa); - uap->lmsg.u.ms_result = wa.lmsg.u.ms_result; + uap->sysmsg_result = wa.sysmsg_result; DPRINTF(("svr4_write(%d, 0x%0x, %d) = %d\n", SCARG(uap, fd), SCARG(uap, buf), SCARG(uap, nbyte), rv)); diff --git a/sys/emulation/svr4/svr4_ioctl.c b/sys/emulation/svr4/svr4_ioctl.c index 42d7e16376..cc27388547 100644 --- a/sys/emulation/svr4/svr4_ioctl.c +++ b/sys/emulation/svr4/svr4_ioctl.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/svr4/svr4_ioctl.c,v 1.6 1999/12/08 12:00:48 newton Exp $ - * $DragonFly: src/sys/emulation/svr4/Attic/svr4_ioctl.c,v 1.7 2003/07/26 18:12:46 dillon Exp $ + * $DragonFly: src/sys/emulation/svr4/Attic/svr4_ioctl.c,v 1.8 2003/07/30 00:19:15 dillon Exp $ */ #include @@ -103,7 +103,7 @@ svr4_sys_ioctl(struct svr4_sys_ioctl_args *uap) SCARG(uap, com), SCARG(uap, fd), dir, c, num, argsiz, SCARG(uap, data))); #endif - retval = &uap->lmsg.u.ms_result; + retval = &uap->sysmsg_result; fdp = p->p_fd; cmd = SCARG(uap, com); diff --git a/sys/emulation/svr4/svr4_misc.c b/sys/emulation/svr4/svr4_misc.c index dd72e30bbb..c1128980c5 100644 --- a/sys/emulation/svr4/svr4_misc.c +++ b/sys/emulation/svr4/svr4_misc.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/svr4/svr4_misc.c,v 1.13.2.7 2003/01/14 21:33:58 dillon Exp $ - * $DragonFly: src/sys/emulation/svr4/Attic/svr4_misc.c,v 1.7 2003/07/26 18:12:46 dillon Exp $ + * $DragonFly: src/sys/emulation/svr4/Attic/svr4_misc.c,v 1.8 2003/07/30 00:19:15 dillon Exp $ */ /* @@ -113,7 +113,7 @@ static struct proc *svr4_pfind __P((pid_t pid)); int svr4_sys_setitimer(struct svr4_sys_setitimer_args *uap) { - uap->lmsg.u.ms_result = 0; + uap->sysmsg_result = 0; return 0; } #endif @@ -122,7 +122,7 @@ int svr4_sys_wait(struct svr4_sys_wait_args *uap) { struct wait_args w4; - int error, *retval = &uap->lmsg.u.ms_result, st, sig; + int error, *retval = &uap->sysmsg_result, st, sig; size_t sz = sizeof(*SCARG(&w4, status)); SCARG(&w4, rusage) = NULL; @@ -137,10 +137,10 @@ svr4_sys_wait(struct svr4_sys_wait_args *uap) SCARG(&w4, status) = SCARG(uap, status); SCARG(&w4, pid) = WAIT_ANY; - w4.lmsg.u.ms_result = 0; + w4.sysmsg_result = 0; if ((error = wait4(&w4)) != 0) return error; - *retval = w4.lmsg.u.ms_result; + *retval = w4.sysmsg_result; if ((error = copyin(SCARG(&w4, status), &st, sizeof(st))) != 0) return error; @@ -181,9 +181,9 @@ svr4_sys_execv(struct svr4_sys_execv_args *uap) SCARG(&ap, fname) = SCARG(uap, path); SCARG(&ap, argv) = SCARG(uap, argp); SCARG(&ap, envv) = NULL; - ap.lmsg.u.ms_result = 0; + ap.sysmsg_result = 0; error = execve(&ap); - uap->lmsg.u.ms_result = ap.lmsg.u.ms_result; + uap->sysmsg_result = ap.sysmsg_result; return(error); } @@ -201,9 +201,9 @@ svr4_sys_execve(struct svr4_sys_execve_args *uap) SCARG(&ap, argv) = SCARG(uap, argp); SCARG(&ap, envv) = SCARG(uap, envp); - ap.lmsg.u.ms_result = 0; + ap.sysmsg_result = 0; error = execve(&ap); - uap->lmsg.u.ms_result = ap.lmsg.u.ms_result; + uap->sysmsg_result = ap.sysmsg_result; return(error); } @@ -218,7 +218,7 @@ svr4_sys_time(struct svr4_sys_time_args *v) if (SCARG(uap, t)) error = copyout(&tv.tv_sec, SCARG(uap, t), sizeof(*(SCARG(uap, t)))); - v->lmsg.u.ms_result = (int) tv.tv_sec; + v->sysmsg_result = (int) tv.tv_sec; return error; } @@ -396,7 +396,7 @@ again: nbytes = resid + svr4reclen; eof: - uap->lmsg.u.ms_result = nbytes - resid; + uap->sysmsg_result = nbytes - resid; out: if (cookies) free(cookies, M_TEMP); @@ -424,7 +424,7 @@ svr4_sys_getdents(struct svr4_sys_getdents_args *uap) off_t off; /* true file offset */ int buflen, error, eofflag; u_long *cookiebuf = NULL, *cookie; - int ncookies = 0, *retval = &uap->lmsg.u.ms_result; + int ncookies = 0, *retval = &uap->sysmsg_result; KKASSERT(p); @@ -529,7 +529,7 @@ svr4_sys_mmap(struct svr4_sys_mmap_args *uap) int *retval; int error; - retval = &uap->lmsg.u.ms_result; + retval = &uap->sysmsg_result; #define _MAP_NEW 0x80000000 /* * Verify the arguments. @@ -546,9 +546,9 @@ svr4_sys_mmap(struct svr4_sys_mmap_args *uap) SCARG(&mm, fd) = SCARG(uap, fd); SCARG(&mm, addr) = SCARG(uap, addr); SCARG(&mm, pos) = SCARG(uap, pos); - mm.lmsg.u.ms_resultp = NULL; + mm.sysmsg_resultp = NULL; error = mmap(&mm); - uap->lmsg.u.ms_resultp = mm.lmsg.u.ms_resultp; + uap->sysmsg_resultp = mm.sysmsg_resultp; return(error); } @@ -582,9 +582,9 @@ svr4_sys_mmap64(struct svr4_sys_mmap64_args *uap) SCARG(&mm, addr) != 0 && (void *)SCARG(&mm, addr) < rp) SCARG(&mm, addr) = rp; - mm.lmsg.u.ms_resultp = 0; + mm.sysmsg_resultp = 0; error = mmap(&mm); - uap->lmsg.u.ms_resultp = mm.lmsg.u.ms_resultp; + uap->sysmsg_resultp = mm.sysmsg_resultp; return(error); } @@ -642,14 +642,14 @@ svr4_mknod(retval, path, mode, dev) SCARG(&ap, path) = path; SCARG(&ap, mode) = mode; error = mkfifo(&ap); - *retval = ap.lmsg.u.ms_result; + *retval = ap.sysmsg_result; } else { struct mknod_args ap; SCARG(&ap, path) = path; SCARG(&ap, mode) = mode; SCARG(&ap, dev) = dev; error = mknod(&ap); - *retval = ap.lmsg.u.ms_result; + *retval = ap.sysmsg_result; } return(error); } @@ -663,7 +663,7 @@ svr4_sys_mknod(struct svr4_sys_mknod_args *uap) int *retval; KKASSERT(p); - retval = &uap->lmsg.u.ms_result; + retval = &uap->sysmsg_result; return svr4_mknod(retval, SCARG(uap, path), SCARG(uap, mode), (svr4_dev_t)svr4_to_bsd_odev_t(SCARG(uap, dev))); @@ -678,7 +678,7 @@ svr4_sys_xmknod(struct svr4_sys_xmknod_args *uap) int *retval; KKASSERT(p); - retval = &uap->lmsg.u.ms_result; + retval = &uap->sysmsg_result; return svr4_mknod(retval, SCARG(uap, path), SCARG(uap, mode), (svr4_dev_t)svr4_to_bsd_dev_t(SCARG(uap, dev))); @@ -700,7 +700,7 @@ svr4_sys_sysconfig(struct svr4_sys_sysconfig_args *uap) int *retval; KKASSERT(p); - retval = &uap->lmsg.u.ms_result; + retval = &uap->sysmsg_result; switch (SCARG(uap, name)) { case SVR4_CONFIG_UNUSED: @@ -861,7 +861,7 @@ timeval_to_clock_t(tv) int svr4_sys_times(struct svr4_sys_times_args *uap) { - int error, *retval = &uap->lmsg.u.ms_result; + int error, *retval = &uap->sysmsg_result; struct tms tms; struct timeval t; struct rusage *ru; @@ -906,7 +906,7 @@ int svr4_sys_ulimit(struct svr4_sys_ulimit_args *uap) { struct proc *p = curproc; - int *retval = &uap->lmsg.u.ms_result; + int *retval = &uap->sysmsg_result; switch (SCARG(uap, cmd)) { case SVR4_GFILLIM: @@ -992,7 +992,7 @@ int svr4_sys_pgrpsys(struct svr4_sys_pgrpsys_args *uap) { struct proc *p = curproc; - int *retval = &uap->lmsg.u.ms_result; + int *retval = &uap->sysmsg_result; switch (SCARG(uap, cmd)) { case 1: /* setpgrp() */ @@ -1006,7 +1006,7 @@ svr4_sys_pgrpsys(struct svr4_sys_pgrpsys_args *uap) { struct setsid_args sida; - sida.lmsg.u.ms_result = 0; + sida.sysmsg_result = 0; setsid(&sida); /* ignore result? */ } @@ -1033,9 +1033,9 @@ svr4_sys_pgrpsys(struct svr4_sys_pgrpsys_args *uap) struct setsid_args sida; int error; - sida.lmsg.u.ms_result = 0; + sida.sysmsg_result = 0; error = setsid(&sida); - uap->lmsg.u.ms_result = sida.lmsg.u.ms_result; + uap->sysmsg_result = sida.sysmsg_result; return(error); } case 4: /* getpgid(pid) */ @@ -1054,9 +1054,9 @@ svr4_sys_pgrpsys(struct svr4_sys_pgrpsys_args *uap) SCARG(&sa, pid) = SCARG(uap, pid); SCARG(&sa, pgid) = SCARG(uap, pgid); - sa.lmsg.u.ms_result = 0; + sa.sysmsg_result = 0; error = setpgid(&sa); - uap->lmsg.u.ms_result = sa.lmsg.u.ms_result; + uap->sysmsg_result = sa.sysmsg_result; } default: @@ -1121,11 +1121,11 @@ svr4_hrtcntl(struct svr4_hrtcntl_args *uap, register_t *retval) int svr4_sys_hrtsys(struct svr4_sys_hrtsys_args *uap) { - int *retval = &uap->lmsg.u.ms_result; + int *retval = &uap->sysmsg_result; switch (SCARG(uap, cmd)) { case SVR4_HRT_CNTL: - return svr4_hrtcntl((struct svr4_hrtcntl_args *)(&uap->lmsg + 1), retval); + return svr4_hrtcntl((struct svr4_hrtcntl_args *)(&uap->sysmsg + 1), retval); case SVR4_HRT_ALRM: DPRINTF(("hrtalarm\n")); @@ -1207,7 +1207,7 @@ svr4_sys_waitsys(struct svr4_sys_waitsys_args *uap) { struct proc *p = curproc; int nfound; - int error, *retval = &uap->lmsg.u.ms_result; + int error, *retval = &uap->sysmsg_result; struct proc *q, *t; @@ -1418,7 +1418,7 @@ svr4_sys_statvfs(struct svr4_sys_statvfs_args *uap) if ((error = copyin(fs, &bfs, sizeof(bfs))) != 0) return error; - uap->lmsg.u.ms_result = fs_args.lmsg.u.ms_result; + uap->sysmsg_result = fs_args.sysmsg_result; bsd_statfs_to_svr4_statvfs(&bfs, &sfs); @@ -1445,7 +1445,7 @@ svr4_sys_fstatvfs(struct svr4_sys_fstatvfs_args *uap) if ((error = copyin(fs, &bfs, sizeof(bfs))) != 0) return error; - uap->lmsg.u.ms_result = fs_args.lmsg.u.ms_result; + uap->sysmsg_result = fs_args.sysmsg_result; bsd_statfs_to_svr4_statvfs(&bfs, &sfs); @@ -1473,7 +1473,7 @@ svr4_sys_statvfs64(struct svr4_sys_statvfs64_args *uap) if ((error = copyin(fs, &bfs, sizeof(bfs))) != 0) return error; - uap->lmsg.u.ms_result = fs_args.lmsg.u.ms_result; + uap->sysmsg_result = fs_args.sysmsg_result; bsd_statfs_to_svr4_statvfs64(&bfs, &sfs); @@ -1500,7 +1500,7 @@ svr4_sys_fstatvfs64(struct svr4_sys_fstatvfs64_args *uap) if ((error = copyin(fs, &bfs, sizeof(bfs))) != 0) return error; - uap->lmsg.u.ms_result = fs_args.lmsg.u.ms_result; + uap->sysmsg_result = fs_args.sysmsg_result; bsd_statfs_to_svr4_statvfs64(&bfs, &sfs); @@ -1529,7 +1529,7 @@ svr4_sys_alarm(struct svr4_sys_alarm_args *uap) return error; if (oitp->it_value.tv_usec) oitp->it_value.tv_sec++; - uap->lmsg.u.ms_result = oitp->it_value.tv_sec; + uap->sysmsg_result = oitp->it_value.tv_sec; return 0; } @@ -1552,7 +1552,7 @@ svr4_sys_facl(struct svr4_sys_facl_args *uap) { int *retval; - retval = &uap->lmsg.u.ms_result; + retval = &uap->sysmsg_result; *retval = 0; switch (SCARG(uap, cmd)) { @@ -1602,9 +1602,9 @@ svr4_sys_memcntl(struct svr4_sys_memcntl_args *uap) SCARG(&msa, len) = SCARG(uap, len); SCARG(&msa, flags) = (int)SCARG(uap, arg); - msa.lmsg.u.ms_result = 0; + msa.sysmsg_result = 0; error = msync(&msa); - uap->lmsg.u.ms_result = msa.lmsg.u.ms_result; + uap->sysmsg_result = msa.sysmsg_result; return(error); } case SVR4_MC_ADVISE: @@ -1616,9 +1616,9 @@ svr4_sys_memcntl(struct svr4_sys_memcntl_args *uap) SCARG(&maa, len) = SCARG(uap, len); SCARG(&maa, behav) = (int)SCARG(uap, arg); - maa.lmsg.u.ms_result = 0; + maa.sysmsg_result = 0; error = madvise(&maa); - uap->lmsg.u.ms_result = maa.lmsg.u.ms_result; + uap->sysmsg_result = maa.sysmsg_result; return(error); } case SVR4_MC_LOCK: @@ -1649,7 +1649,7 @@ svr4_sys_nice(struct svr4_sys_nice_args *uap) if ((error = getpriority((struct getpriority_args *)&ap)) != 0) return error; - uap->lmsg.u.ms_result = ap.lmsg.u.ms_result; + uap->sysmsg_result = ap.sysmsg_result; return 0; } @@ -1664,7 +1664,7 @@ svr4_sys_resolvepath(struct svr4_sys_resolvepath_args *uap) int *retval; KKASSERT(p); - retval = &uap->lmsg.u.ms_result; + retval = &uap->sysmsg_result; NDINIT(&nd, LOOKUP, NOFOLLOW | SAVENAME, UIO_USERSPACE, SCARG(uap, path), td); diff --git a/sys/emulation/svr4/svr4_proto.h b/sys/emulation/svr4/svr4_proto.h index 350ab5823b..32752295a3 100644 --- a/sys/emulation/svr4/svr4_proto.h +++ b/sys/emulation/svr4/svr4_proto.h @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/svr4/Attic/svr4_proto.h,v 1.5 2003/07/24 23:55:10 dillon Exp $ + * $DragonFly: src/sys/emulation/svr4/Attic/svr4_proto.h,v 1.6 2003/07/30 00:19:15 dillon Exp $ * created from DragonFly: src/sys/svr4/syscalls.master,v 1.2 2003/06/17 04:28:58 dillon Exp */ @@ -15,98 +15,100 @@ #include +#include + #define PAD_(t) (sizeof(register_t) <= sizeof(t) ? \ 0 : sizeof(register_t) - sizeof(t)) struct svr4_sys_open_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int flags; char flags_[PAD_(int)]; int mode; char mode_[PAD_(int)]; }; struct svr4_sys_wait_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int * status; char status_[PAD_(int *)]; }; struct svr4_sys_creat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int mode; char mode_[PAD_(int)]; }; struct svr4_sys_execv_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; char ** argp; char argp_[PAD_(char **)]; }; struct svr4_sys_time_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; time_t * t; char t_[PAD_(time_t *)]; }; struct svr4_sys_mknod_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int mode; char mode_[PAD_(int)]; int dev; char dev_[PAD_(int)]; }; struct svr4_sys_break_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; caddr_t nsize; char nsize_[PAD_(caddr_t)]; }; struct svr4_sys_stat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct svr4_stat * ub; char ub_[PAD_(struct svr4_stat *)]; }; struct svr4_sys_alarm_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; unsigned sec; char sec_[PAD_(unsigned)]; }; struct svr4_sys_fstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct svr4_stat * sb; char sb_[PAD_(struct svr4_stat *)]; }; struct svr4_sys_pause_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct svr4_sys_utime_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct svr4_utimbuf * ubuf; char ubuf_[PAD_(struct svr4_utimbuf *)]; }; struct svr4_sys_access_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int flags; char flags_[PAD_(int)]; }; struct svr4_sys_nice_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int prio; char prio_[PAD_(int)]; }; struct svr4_sys_kill_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int pid; char pid_[PAD_(int)]; int signum; char signum_[PAD_(int)]; }; struct svr4_sys_pgrpsys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int cmd; char cmd_[PAD_(int)]; int pid; char pid_[PAD_(int)]; int pgid; char pgid_[PAD_(int)]; }; struct svr4_sys_times_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct tms * tp; char tp_[PAD_(struct tms *)]; }; struct svr4_sys_signal_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int signum; char signum_[PAD_(int)]; svr4_sig_t handler; char handler_[PAD_(svr4_sig_t)]; }; #if defined(NOTYET) struct svr4_sys_msgsys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int what; char what_[PAD_(int)]; int a2; char a2_[PAD_(int)]; int a3; char a3_[PAD_(int)]; @@ -116,121 +118,121 @@ struct svr4_sys_msgsys_args { #else #endif struct svr4_sys_sysarch_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int op; char op_[PAD_(int)]; void * a1; char a1_[PAD_(void *)]; }; struct svr4_sys_ioctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; u_long com; char com_[PAD_(u_long)]; caddr_t data; char data_[PAD_(caddr_t)]; }; struct svr4_sys_utssys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; void * a1; char a1_[PAD_(void *)]; void * a2; char a2_[PAD_(void *)]; int sel; char sel_[PAD_(int)]; void * a3; char a3_[PAD_(void *)]; }; struct svr4_sys_execve_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; char ** argp; char argp_[PAD_(char **)]; char ** envp; char envp_[PAD_(char **)]; }; struct svr4_sys_fcntl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int cmd; char cmd_[PAD_(int)]; char * arg; char arg_[PAD_(char *)]; }; struct svr4_sys_ulimit_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int cmd; char cmd_[PAD_(int)]; long newlimit; char newlimit_[PAD_(long)]; }; struct svr4_sys_getdents_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; char * buf; char buf_[PAD_(char *)]; int nbytes; char nbytes_[PAD_(int)]; }; struct svr4_sys_getmsg_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct svr4_strbuf * ctl; char ctl_[PAD_(struct svr4_strbuf *)]; struct svr4_strbuf * dat; char dat_[PAD_(struct svr4_strbuf *)]; int * flags; char flags_[PAD_(int *)]; }; struct svr4_sys_putmsg_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct svr4_strbuf * ctl; char ctl_[PAD_(struct svr4_strbuf *)]; struct svr4_strbuf * dat; char dat_[PAD_(struct svr4_strbuf *)]; int flags; char flags_[PAD_(int)]; }; struct svr4_sys_poll_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct pollfd * fds; char fds_[PAD_(struct pollfd *)]; unsigned int nfds; char nfds_[PAD_(unsigned int)]; int timeout; char timeout_[PAD_(int)]; }; struct svr4_sys_lstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct svr4_stat * ub; char ub_[PAD_(struct svr4_stat *)]; }; struct svr4_sys_sigprocmask_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int how; char how_[PAD_(int)]; svr4_sigset_t * set; char set_[PAD_(svr4_sigset_t *)]; svr4_sigset_t * oset; char oset_[PAD_(svr4_sigset_t *)]; }; struct svr4_sys_sigsuspend_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; svr4_sigset_t * ss; char ss_[PAD_(svr4_sigset_t *)]; }; struct svr4_sys_sigaltstack_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct svr4_sigaltstack * nss; char nss_[PAD_(struct svr4_sigaltstack *)]; struct svr4_sigaltstack * oss; char oss_[PAD_(struct svr4_sigaltstack *)]; }; struct svr4_sys_sigaction_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int signum; char signum_[PAD_(int)]; struct svr4_sigaction * nsa; char nsa_[PAD_(struct svr4_sigaction *)]; struct svr4_sigaction * osa; char osa_[PAD_(struct svr4_sigaction *)]; }; struct svr4_sys_sigpending_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int what; char what_[PAD_(int)]; svr4_sigset_t * mask; char mask_[PAD_(svr4_sigset_t *)]; }; struct svr4_sys_context_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int func; char func_[PAD_(int)]; struct svr4_ucontext * uc; char uc_[PAD_(struct svr4_ucontext *)]; }; struct svr4_sys_statvfs_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct svr4_statvfs * fs; char fs_[PAD_(struct svr4_statvfs *)]; }; struct svr4_sys_fstatvfs_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct svr4_statvfs * fs; char fs_[PAD_(struct svr4_statvfs *)]; }; struct svr4_sys_waitsys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int grp; char grp_[PAD_(int)]; int id; char id_[PAD_(int)]; union svr4_siginfo * info; char info_[PAD_(union svr4_siginfo *)]; int options; char options_[PAD_(int)]; }; struct svr4_sys_hrtsys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int cmd; char cmd_[PAD_(int)]; int fun; char fun_[PAD_(int)]; int sub; char sub_[PAD_(int)]; @@ -238,12 +240,12 @@ struct svr4_sys_hrtsys_args { void * rv2; char rv2_[PAD_(void *)]; }; struct svr4_sys_pathconf_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int name; char name_[PAD_(int)]; }; struct svr4_sys_mmap_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; caddr_t addr; char addr_[PAD_(caddr_t)]; svr4_size_t len; char len_[PAD_(svr4_size_t)]; int prot; char prot_[PAD_(int)]; @@ -252,47 +254,47 @@ struct svr4_sys_mmap_args { svr4_off_t pos; char pos_[PAD_(svr4_off_t)]; }; struct svr4_sys_fpathconf_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int name; char name_[PAD_(int)]; }; struct svr4_sys_xstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int two; char two_[PAD_(int)]; char * path; char path_[PAD_(char *)]; struct svr4_xstat * ub; char ub_[PAD_(struct svr4_xstat *)]; }; struct svr4_sys_lxstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int two; char two_[PAD_(int)]; char * path; char path_[PAD_(char *)]; struct svr4_xstat * ub; char ub_[PAD_(struct svr4_xstat *)]; }; struct svr4_sys_fxstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int two; char two_[PAD_(int)]; int fd; char fd_[PAD_(int)]; struct svr4_xstat * sb; char sb_[PAD_(struct svr4_xstat *)]; }; struct svr4_sys_xmknod_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int two; char two_[PAD_(int)]; char * path; char path_[PAD_(char *)]; svr4_mode_t mode; char mode_[PAD_(svr4_mode_t)]; svr4_dev_t dev; char dev_[PAD_(svr4_dev_t)]; }; struct svr4_sys_setrlimit_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int which; char which_[PAD_(int)]; const struct svr4_rlimit * rlp; char rlp_[PAD_(const struct svr4_rlimit *)]; }; struct svr4_sys_getrlimit_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int which; char which_[PAD_(int)]; struct svr4_rlimit * rlp; char rlp_[PAD_(struct svr4_rlimit *)]; }; struct svr4_sys_memcntl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; void * addr; char addr_[PAD_(void *)]; svr4_size_t len; char len_[PAD_(svr4_size_t)]; int cmd; char cmd_[PAD_(int)]; @@ -301,53 +303,53 @@ struct svr4_sys_memcntl_args { int mask; char mask_[PAD_(int)]; }; struct svr4_sys_uname_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct svr4_utsname * name; char name_[PAD_(struct svr4_utsname *)]; int dummy; char dummy_[PAD_(int)]; }; struct svr4_sys_sysconfig_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int name; char name_[PAD_(int)]; }; struct svr4_sys_systeminfo_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int what; char what_[PAD_(int)]; char * buf; char buf_[PAD_(char *)]; long len; char len_[PAD_(long)]; }; struct svr4_sys_fchroot_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; }; struct svr4_sys_utimes_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct timeval * tptr; char tptr_[PAD_(struct timeval *)]; }; struct svr4_sys_vhangup_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct svr4_sys_gettimeofday_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct timeval * tp; char tp_[PAD_(struct timeval *)]; }; struct svr4_sys_llseek_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; long offset1; char offset1_[PAD_(long)]; long offset2; char offset2_[PAD_(long)]; int whence; char whence_[PAD_(int)]; }; struct svr4_sys_acl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int cmd; char cmd_[PAD_(int)]; int num; char num_[PAD_(int)]; struct svr4_aclent * buf; char buf_[PAD_(struct svr4_aclent *)]; }; struct svr4_sys_auditsys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int code; char code_[PAD_(int)]; int a1; char a1_[PAD_(int)]; int a2; char a2_[PAD_(int)]; @@ -356,26 +358,26 @@ struct svr4_sys_auditsys_args { int a5; char a5_[PAD_(int)]; }; struct svr4_sys_facl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int cmd; char cmd_[PAD_(int)]; int num; char num_[PAD_(int)]; struct svr4_aclent * buf; char buf_[PAD_(struct svr4_aclent *)]; }; struct svr4_sys_resolvepath_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const char * path; char path_[PAD_(const char *)]; char * buf; char buf_[PAD_(char *)]; size_t bufsiz; char bufsiz_[PAD_(size_t)]; }; struct svr4_sys_getdents64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct svr4_dirent64 * dp; char dp_[PAD_(struct svr4_dirent64 *)]; int nbytes; char nbytes_[PAD_(int)]; }; struct svr4_sys_mmap64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; void * addr; char addr_[PAD_(void *)]; svr4_size_t len; char len_[PAD_(svr4_size_t)]; int prot; char prot_[PAD_(int)]; @@ -384,73 +386,73 @@ struct svr4_sys_mmap64_args { svr4_off64_t pos; char pos_[PAD_(svr4_off64_t)]; }; struct svr4_sys_stat64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct svr4_stat64 * sb; char sb_[PAD_(struct svr4_stat64 *)]; }; struct svr4_sys_lstat64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct svr4_stat64 * sb; char sb_[PAD_(struct svr4_stat64 *)]; }; struct svr4_sys_fstat64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct svr4_stat64 * sb; char sb_[PAD_(struct svr4_stat64 *)]; }; struct svr4_sys_statvfs64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct svr4_statvfs64 * fs; char fs_[PAD_(struct svr4_statvfs64 *)]; }; struct svr4_sys_fstatvfs64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct svr4_statvfs64 * fs; char fs_[PAD_(struct svr4_statvfs64 *)]; }; struct svr4_sys_setrlimit64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int which; char which_[PAD_(int)]; const struct svr4_rlimit64 * rlp; char rlp_[PAD_(const struct svr4_rlimit64 *)]; }; struct svr4_sys_getrlimit64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int which; char which_[PAD_(int)]; struct svr4_rlimit64 * rlp; char rlp_[PAD_(struct svr4_rlimit64 *)]; }; struct svr4_sys_creat64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int mode; char mode_[PAD_(int)]; }; struct svr4_sys_open64_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int flags; char flags_[PAD_(int)]; int mode; char mode_[PAD_(int)]; }; struct svr4_sys_socket_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int domain; char domain_[PAD_(int)]; int type; char type_[PAD_(int)]; int protocol; char protocol_[PAD_(int)]; }; struct svr4_sys_recv_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; caddr_t buf; char buf_[PAD_(caddr_t)]; int len; char len_[PAD_(int)]; int flags; char flags_[PAD_(int)]; }; struct svr4_sys_send_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; caddr_t buf; char buf_[PAD_(caddr_t)]; int len; char len_[PAD_(int)]; int flags; char flags_[PAD_(int)]; }; struct svr4_sys_sendto_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; void * buf; char buf_[PAD_(void *)]; size_t len; char len_[PAD_(size_t)]; diff --git a/sys/emulation/svr4/svr4_signal.c b/sys/emulation/svr4/svr4_signal.c index c922dde3c7..fa3018d4cc 100644 --- a/sys/emulation/svr4/svr4_signal.c +++ b/sys/emulation/svr4/svr4_signal.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/svr4/svr4_signal.c,v 1.9 2000/01/15 15:38:17 newton Exp $ - * $DragonFly: src/sys/emulation/svr4/Attic/svr4_signal.c,v 1.6 2003/07/26 18:12:46 dillon Exp $ + * $DragonFly: src/sys/emulation/svr4/Attic/svr4_signal.c,v 1.7 2003/07/30 00:19:15 dillon Exp $ */ #include @@ -305,10 +305,10 @@ svr4_sys_sigaction(struct svr4_sys_sigaction_args *uap) SCARG(&sa, act) = nbsa; SCARG(&sa, oact) = obsa; - sa.lmsg.u.ms_result = 0; + sa.sysmsg_result = 0; if ((error = sigaction(&sa)) != 0) return error; - uap->lmsg.u.ms_result = sa.lmsg.u.ms_result; + uap->sysmsg_result = sa.sysmsg_result; if (oisa != NULL) { if ((error = copyin(obsa, &tmpbsa, sizeof(tmpbsa))) != 0) @@ -330,7 +330,7 @@ svr4_sys_sigaltstack(struct svr4_sys_sigaltstack_args *uap) caddr_t sg; int error, *retval; - retval = &uap->lmsg.u.ms_result; + retval = &uap->sysmsg_result; sg = stackgap_init(); nsss = SCARG(uap, nss); osss = SCARG(uap, oss); @@ -352,12 +352,12 @@ svr4_sys_sigaltstack(struct svr4_sys_sigaltstack_args *uap) SCARG(&sa, ss) = nbss; SCARG(&sa, oss) = obss; - sa.lmsg.u.ms_result = 0; + sa.sysmsg_result = 0; if ((error = sigaltstack(&sa)) != 0) return error; - *retval = sa.lmsg.u.ms_result; + *retval = sa.sysmsg_result; if (obss != NULL) { if ((error = copyin(obss, &tmpbss, sizeof(tmpbss))) != 0) @@ -378,7 +378,7 @@ svr4_sys_signal(struct svr4_sys_signal_args *uap) { struct proc *p = curproc; int signum; - int error, *retval = &uap->lmsg.u.ms_result; + int error, *retval = &uap->sysmsg_result; caddr_t sg = stackgap_init(); DPRINTF(("@@@ svr4_sys_signal(%d)\n", p->p_pid)); @@ -403,7 +403,7 @@ svr4_sys_signal(struct svr4_sys_signal_args *uap) SCARG(&sa_args, sig) = signum; SCARG(&sa_args, act) = nbsa; SCARG(&sa_args, oact) = obsa; - sa_args.lmsg.u.ms_result = 0; + sa_args.sysmsg_result = 0; sa.sa_handler = (sig_t) SCARG(uap, handler); SIGEMPTYSET(sa.sa_mask); @@ -438,9 +438,9 @@ sighold: SCARG(&sa, how) = SIG_BLOCK; SCARG(&sa, set) = set; SCARG(&sa, oset) = NULL; - sa.lmsg.u.ms_result = 0; + sa.sysmsg_result = 0; error = sigprocmask(&sa); - *retval = sa.lmsg.u.ms_result; + *retval = sa.sysmsg_result; return(error); } @@ -455,9 +455,9 @@ sighold: SCARG(&sa, how) = SIG_UNBLOCK; SCARG(&sa, set) = set; SCARG(&sa, oset) = NULL; - sa.lmsg.u.ms_result = 0; + sa.sysmsg_result = 0; error = sigprocmask(&sa); - *retval = sa.lmsg.u.ms_result; + *retval = sa.sysmsg_result; return(error); } @@ -476,12 +476,12 @@ sighold: sa.sa_flags = 0; if ((error = copyout(&sa, bsa, sizeof(sa))) != 0) return error; - sa_args.lmsg.u.ms_result = 0; + sa_args.sysmsg_result = 0; if ((error = sigaction(&sa_args)) != 0) { DPRINTF(("sigignore: sigaction failed\n")); return error; } - *retval = sa_args.lmsg.u.ms_result; + *retval = sa_args.sysmsg_result; return 0; } @@ -494,9 +494,9 @@ sighold: *set = p->p_sigmask; SIGDELSET(*set, signum); SCARG(&sa, sigmask) = set; - sa.lmsg.u.ms_result = 0; + sa.sysmsg_result = 0; error = sigsuspend(&sa); - *retval = sa.lmsg.u.ms_result; + *retval = sa.sysmsg_result; return(error); } @@ -514,7 +514,7 @@ svr4_sys_sigprocmask(struct svr4_sys_sigprocmask_args *uap) sigset_t bss; int error = 0, *retval; - retval = &uap->lmsg.u.ms_result; + retval = &uap->sysmsg_result; if (SCARG(uap, oset) != NULL) { /* Fix the return value first if needed */ bsd_to_svr4_sigset(&p->p_sigmask, &sss); @@ -567,7 +567,7 @@ svr4_sys_sigpending(struct svr4_sys_sigpending_args *uap) svr4_sigset_t sss; DPRINTF(("@@@ svr4_sys_sigpending(%d)\n", p->p_pid)); - retval = &uap->lmsg.u.ms_result; + retval = &uap->sysmsg_result; switch (SCARG(uap, what)) { case 1: /* sigpending */ if (SCARG(uap, mask) == NULL) @@ -611,9 +611,9 @@ svr4_sys_sigsuspend(struct svr4_sys_sigsuspend_args *uap) svr4_to_bsd_sigset(&sss, bss); SCARG(&sa, sigmask) = bss; - sa.lmsg.u.ms_result = 0; + sa.sysmsg_result = 0; error = sigsuspend(&sa); - uap->lmsg.u.ms_result = sa.lmsg.u.ms_result; + uap->sysmsg_result = sa.sysmsg_result; return(error); } @@ -626,9 +626,9 @@ svr4_sys_kill(struct svr4_sys_kill_args *uap) SCARG(&ka, pid) = SCARG(uap, pid); SCARG(&ka, signum) = SVR4_SVR42BSD_SIG(SCARG(uap, signum)); - ka.lmsg.u.ms_result = 0; + ka.sysmsg_result = 0; error = kill(&ka); - uap->lmsg.u.ms_result = ka.lmsg.u.ms_result; + uap->sysmsg_result = ka.sysmsg_result; return(error); } @@ -678,8 +678,8 @@ svr4_sys_pause(struct svr4_sys_pause_args *uap) int error; SCARG(&bsa, sigmask) = &p->p_sigmask; - bsa.lmsg.u.ms_result = 0; + bsa.sysmsg_result = 0; error = sigsuspend(&bsa); - uap->lmsg.u.ms_result = bsa.lmsg.u.ms_result; + uap->sysmsg_result = bsa.sysmsg_result; return(error); } diff --git a/sys/emulation/svr4/svr4_stat.c b/sys/emulation/svr4/svr4_stat.c index 1a8211682f..ba942e1dd0 100644 --- a/sys/emulation/svr4/svr4_stat.c +++ b/sys/emulation/svr4/svr4_stat.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/svr4/svr4_stat.c,v 1.6 1999/12/08 12:00:48 newton Exp $ - * $DragonFly: src/sys/emulation/svr4/Attic/svr4_stat.c,v 1.5 2003/07/26 18:12:46 dillon Exp $ + * $DragonFly: src/sys/emulation/svr4/Attic/svr4_stat.c,v 1.6 2003/07/30 00:19:15 dillon Exp $ */ #include @@ -68,7 +68,7 @@ #endif struct svr4_ustat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; svr4_dev_t dev; struct svr4_ustat * name; }; @@ -168,7 +168,7 @@ svr4_sys_stat(struct svr4_sys_stat_args *uap) SCARG(&cup, path) = SCARG(uap, path); SCARG(&cup, ub) = stackgap_alloc(&sg, sizeof(struct stat)); - cup.lmsg.u.ms_result = 0; + cup.sysmsg_result = 0; if ((error = stat(&cup)) != 0) return error; @@ -176,7 +176,7 @@ svr4_sys_stat(struct svr4_sys_stat_args *uap) if ((error = copyin(SCARG(&cup, ub), &st, sizeof st)) != 0) return error; - uap->lmsg.u.ms_result = cup.lmsg.u.ms_result; + uap->sysmsg_result = cup.sysmsg_result; bsd_to_svr4_stat(&st, &svr4_st); @@ -204,7 +204,7 @@ svr4_sys_lstat(struct svr4_sys_lstat_args *uap) SCARG(&cup, path) = SCARG(uap, path); SCARG(&cup, ub) = stackgap_alloc(&sg, sizeof(struct stat)); - cup.lmsg.u.ms_result = 0; + cup.sysmsg_result = 0; if ((error = lstat(&cup)) != 0) return error; @@ -212,7 +212,7 @@ svr4_sys_lstat(struct svr4_sys_lstat_args *uap) if ((error = copyin(SCARG(&cup, ub), &st, sizeof st)) != 0) return error; - uap->lmsg.u.ms_result = cup.lmsg.u.ms_result; + uap->sysmsg_result = cup.sysmsg_result; bsd_to_svr4_stat(&st, &svr4_st); @@ -237,7 +237,7 @@ svr4_sys_fstat(struct svr4_sys_fstat_args *uap) SCARG(&cup, fd) = SCARG(uap, fd); SCARG(&cup, sb) = stackgap_alloc(&sg, sizeof(struct stat)); - cup.lmsg.u.ms_result = 0; + cup.sysmsg_result = 0; if ((error = fstat(&cup)) != 0) return error; @@ -245,7 +245,7 @@ svr4_sys_fstat(struct svr4_sys_fstat_args *uap) if ((error = copyin(SCARG(&cup, sb), &st, sizeof st)) != 0) return error; - uap->lmsg.u.ms_result = cup.lmsg.u.ms_result; + uap->sysmsg_result = cup.sysmsg_result; bsd_to_svr4_stat(&st, &svr4_st); @@ -269,7 +269,7 @@ svr4_sys_xstat(struct svr4_sys_xstat_args *uap) SCARG(&cup, path) = SCARG(uap, path); SCARG(&cup, ub) = stackgap_alloc(&sg, sizeof(struct stat)); - cup.lmsg.u.ms_result = 0; + cup.sysmsg_result = 0; if ((error = stat(&cup)) != 0) return error; @@ -277,7 +277,7 @@ svr4_sys_xstat(struct svr4_sys_xstat_args *uap) if ((error = copyin(SCARG(&cup, ub), &st, sizeof st)) != 0) return error; - uap->lmsg.u.ms_result = cup.lmsg.u.ms_result; + uap->sysmsg_result = cup.sysmsg_result; bsd_to_svr4_xstat(&st, &svr4_st); @@ -304,7 +304,7 @@ svr4_sys_lxstat(struct svr4_sys_lxstat_args *uap) SCARG(&cup, path) = SCARG(uap, path); SCARG(&cup, ub) = stackgap_alloc(&sg, sizeof(struct stat)); - cup.lmsg.u.ms_result = 0; + cup.sysmsg_result = 0; if ((error = lstat(&cup)) != 0) return error; @@ -312,7 +312,7 @@ svr4_sys_lxstat(struct svr4_sys_lxstat_args *uap) if ((error = copyin(SCARG(&cup, ub), &st, sizeof st)) != 0) return error; - uap->lmsg.u.ms_result = cup.lmsg.u.ms_result; + uap->sysmsg_result = cup.sysmsg_result; bsd_to_svr4_xstat(&st, &svr4_st); @@ -339,7 +339,7 @@ svr4_sys_fxstat(struct svr4_sys_fxstat_args *uap) SCARG(&cup, fd) = SCARG(uap, fd); SCARG(&cup, sb) = stackgap_alloc(&sg, sizeof(struct stat)); - cup.lmsg.u.ms_result = 0; + cup.sysmsg_result = 0; if ((error = fstat(&cup)) != 0) return error; @@ -347,7 +347,7 @@ svr4_sys_fxstat(struct svr4_sys_fxstat_args *uap) if ((error = copyin(SCARG(&cup, sb), &st, sizeof st)) != 0) return error; - uap->lmsg.u.ms_result = cup.lmsg.u.ms_result; + uap->sysmsg_result = cup.sysmsg_result; bsd_to_svr4_xstat(&st, &svr4_st); @@ -371,7 +371,7 @@ svr4_sys_stat64(struct svr4_sys_stat64_args *uap) SCARG(&cup, path) = SCARG(uap, path); SCARG(&cup, ub) = stackgap_alloc(&sg, sizeof(struct stat)); - cup.lmsg.u.ms_result = 0; + cup.sysmsg_result = 0; if ((error = stat(&cup)) != 0) return error; @@ -379,7 +379,7 @@ svr4_sys_stat64(struct svr4_sys_stat64_args *uap) if ((error = copyin(SCARG(&cup, ub), &st, sizeof st)) != 0) return error; - uap->lmsg.u.ms_result = cup.lmsg.u.ms_result; + uap->sysmsg_result = cup.sysmsg_result; bsd_to_svr4_stat64(&st, &svr4_st); @@ -407,7 +407,7 @@ svr4_sys_lstat64(struct svr4_sys_lstat64_args *uap) SCARG(&cup, path) = SCARG(uap, path); SCARG(&cup, ub) = stackgap_alloc(&sg, sizeof(struct stat)); - cup.lmsg.u.ms_result = 0; + cup.sysmsg_result = 0; if ((error = lstat((struct lstat_args *)&cup)) != 0) return error; @@ -415,7 +415,7 @@ svr4_sys_lstat64(struct svr4_sys_lstat64_args *uap) if ((error = copyin(SCARG(&cup, ub), &st, sizeof st)) != 0) return error; - uap->lmsg.u.ms_result = cup.lmsg.u.ms_result; + uap->sysmsg_result = cup.sysmsg_result; bsd_to_svr4_stat64(&st, &svr4_st); @@ -440,7 +440,7 @@ svr4_sys_fstat64(struct svr4_sys_fstat64_args *uap) SCARG(&cup, fd) = SCARG(uap, fd); SCARG(&cup, sb) = stackgap_alloc(&sg, sizeof(struct stat)); - cup.lmsg.u.ms_result = 0; + cup.sysmsg_result = 0; if ((error = fstat(&cup)) != 0) return error; @@ -448,7 +448,7 @@ svr4_sys_fstat64(struct svr4_sys_fstat64_args *uap) if ((error = copyin(SCARG(&cup, sb), &st, sizeof st)) != 0) return error; - uap->lmsg.u.ms_result = cup.lmsg.u.ms_result; + uap->sysmsg_result = cup.sysmsg_result; bsd_to_svr4_stat64(&st, &svr4_st); @@ -510,7 +510,7 @@ svr4_sys_systeminfo(struct svr4_sys_systeminfo_args *uap) { char *str = NULL; int error = 0; - register_t *retval = &uap->lmsg.u.ms_result; + register_t *retval = &uap->sysmsg_result; size_t len = 0; char buf[1]; /* XXX NetBSD uses 256, but that seems like awfully excessive kstack usage @@ -623,9 +623,9 @@ svr4_sys_utssys(struct svr4_sys_utssys_args *uap) int error; SCARG(&ua, name) = SCARG(uap, a1); - ua.lmsg.u.ms_result = 0; + ua.sysmsg_result = 0; error = svr4_sys_uname(&ua); - uap->lmsg.u.ms_result = ua.lmsg.u.ms_result; + uap->sysmsg_result = ua.sysmsg_result; return(error); } @@ -636,9 +636,9 @@ svr4_sys_utssys(struct svr4_sys_utssys_args *uap) SCARG(&ua, dev) = (svr4_dev_t) SCARG(uap, a2); SCARG(&ua, name) = SCARG(uap, a1); - ua.lmsg.u.ms_result = 0; + ua.sysmsg_result = 0; error = svr4_ustat(&ua); - uap->lmsg.u.ms_result = ua.lmsg.u.ms_result; + uap->sysmsg_result = ua.sysmsg_result; return(error); } @@ -679,9 +679,9 @@ svr4_sys_utime(struct svr4_sys_utime_args *uap) } else { SCARG(&ap, tptr) = NULL; } - ap.lmsg.u.ms_result = 0; + ap.sysmsg_result = 0; error = utimes(&ap); - uap->lmsg.u.ms_result = ap.lmsg.u.ms_result; + uap->sysmsg_result = ap.sysmsg_result; return(error); } @@ -747,7 +747,7 @@ int svr4_sys_pathconf(struct svr4_sys_pathconf_args *uap) { caddr_t sg = stackgap_init(); - register_t *retval = &uap->lmsg.u.ms_result; + register_t *retval = &uap->sysmsg_result; CHECKALTEXIST(&sg, SCARG(uap, path)); @@ -769,7 +769,7 @@ svr4_sys_pathconf(struct svr4_sys_pathconf_args *uap) int svr4_sys_fpathconf(struct svr4_sys_fpathconf_args *uap) { - register_t *retval = &uap->lmsg.u.ms_result; + register_t *retval = &uap->sysmsg_result; SCARG(uap, name) = svr4_to_bsd_pathconf(SCARG(uap, name)); diff --git a/sys/emulation/svr4/svr4_stream.c b/sys/emulation/svr4/svr4_stream.c index f42a6a29e9..6d9864ea24 100644 --- a/sys/emulation/svr4/svr4_stream.c +++ b/sys/emulation/svr4/svr4_stream.c @@ -28,7 +28,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/svr4/svr4_stream.c,v 1.12.2.2 2000/11/26 04:42:27 dillon Exp $ - * $DragonFly: src/sys/emulation/svr4/Attic/svr4_stream.c,v 1.6 2003/07/26 18:12:46 dillon Exp $ + * $DragonFly: src/sys/emulation/svr4/Attic/svr4_stream.c,v 1.7 2003/07/30 00:19:15 dillon Exp $ */ /* @@ -1471,7 +1471,7 @@ i_setsig(fp, td, retval, fd, cmd, dat) if ((error = fcntl(&fa)) != 0) return error; - oflags = fa.lmsg.u.ms_result; + oflags = fa.sysmsg_result; /* update the flags */ if (dat != NULL) { @@ -1499,7 +1499,7 @@ i_setsig(fp, td, retval, fd, cmd, dat) SCARG(&fa, arg) = (long) flags; if ((error = fcntl(&fa)) != 0) return error; - flags =fa.lmsg.u.ms_result; + flags =fa.sysmsg_result; } /* set up SIGIO receiver if needed */ @@ -1507,10 +1507,10 @@ i_setsig(fp, td, retval, fd, cmd, dat) SCARG(&fa, cmd) = F_SETOWN; SCARG(&fa, arg) = (long) p->p_pid; error = fcntl(&fa); - *retval = fa.lmsg.u.ms_result; + *retval = fa.sysmsg_result; return(error); } - *retval = fa.lmsg.u.ms_result; + *retval = fa.sysmsg_result; return 0; } @@ -1737,7 +1737,7 @@ svr4_sys_putmsg(struct svr4_sys_putmsg_args *uap) KKASSERT(p); fdp = p->p_fd; - retval = &uap->lmsg.u.ms_result; + retval = &uap->sysmsg_result; fp = fdp->fd_ofiles[SCARG(uap, fd)]; if (((u_int)SCARG(uap, fd) >= fdp->fd_nfiles) || (fp == NULL)) { @@ -1816,10 +1816,10 @@ svr4_sys_putmsg(struct svr4_sys_putmsg_args *uap) SCARG(&wa, fd) = SCARG(uap, fd); SCARG(&wa, buf) = dat.buf; SCARG(&wa, nbyte) = dat.len; - wa.lmsg.u.ms_result = 0; + wa.sysmsg_result = 0; error = write(&wa); - *retval = wa.lmsg.u.ms_result; + *retval = wa.sysmsg_result; return(error); } DPRINTF(("putmsg: Invalid inet length %ld\n", sc.len)); @@ -1872,10 +1872,10 @@ svr4_sys_putmsg(struct svr4_sys_putmsg_args *uap) SCARG(&co, s) = SCARG(uap, fd); SCARG(&co, name) = (void *) sup; SCARG(&co, namelen) = (int) sasize; - co.lmsg.u.ms_result = 0; + co.sysmsg_result = 0; error = connect(&co); - *retval = co.lmsg.u.ms_result; + *retval = co.sysmsg_result; return(error); } @@ -1934,7 +1934,7 @@ svr4_sys_getmsg(struct svr4_sys_getmsg_args *uap) KKASSERT(p); fdp = p->p_fd; - retval = &uap->lmsg.u.ms_result; + retval = &uap->sysmsg_result; fp = fdp->fd_ofiles[SCARG(uap, fd)]; if (((u_int)SCARG(uap, fd) >= fdp->fd_nfiles) || (fp == NULL)) @@ -2263,9 +2263,9 @@ int svr4_sys_send(struct svr4_sys_send_args *uap) SCARG(&osa, buf) = SCARG(uap, buf); SCARG(&osa, len) = SCARG(uap, len); SCARG(&osa, flags) = SCARG(uap, flags); - osa.lmsg.u.ms_result = 0; + osa.sysmsg_result = 0; error = osend(&osa); - uap->lmsg.u.ms_result = osa.lmsg.u.ms_result; + uap->sysmsg_result = osa.sysmsg_result; return(error); } @@ -2278,9 +2278,9 @@ int svr4_sys_recv(struct svr4_sys_recv_args *uap) SCARG(&ora, buf) = SCARG(uap, buf); SCARG(&ora, len) = SCARG(uap, len); SCARG(&ora, flags) = SCARG(uap, flags); - ora.lmsg.u.ms_result = 0; + ora.sysmsg_result = 0; error = orecv(&ora); - uap->lmsg.u.ms_result = ora.lmsg.u.ms_result; + uap->sysmsg_result = ora.sysmsg_result; return(error); } @@ -2302,9 +2302,9 @@ svr4_sys_sendto(struct svr4_sys_sendto_args *uap) SCARG(&sa, tolen) = SCARG(uap, tolen); DPRINTF(("calling sendto()\n")); - sa.lmsg.u.ms_result = 0; + sa.sysmsg_result = 0; error = sendto(&sa); - uap->lmsg.u.ms_result = sa.lmsg.u.ms_result; + uap->sysmsg_result = sa.sysmsg_result; return(error); } diff --git a/sys/emulation/svr4/svr4_syscall.h b/sys/emulation/svr4/svr4_syscall.h index d31ba17975..7f9765a7e6 100644 --- a/sys/emulation/svr4/svr4_syscall.h +++ b/sys/emulation/svr4/svr4_syscall.h @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/svr4/Attic/svr4_syscall.h,v 1.5 2003/07/24 23:55:10 dillon Exp $ + * $DragonFly: src/sys/emulation/svr4/Attic/svr4_syscall.h,v 1.6 2003/07/30 00:19:15 dillon Exp $ * created from DragonFly: src/sys/svr4/syscalls.master,v 1.2 2003/06/17 04:28:58 dillon Exp */ diff --git a/sys/emulation/svr4/svr4_syscallnames.c b/sys/emulation/svr4/svr4_syscallnames.c index b7d1c97056..7f3b93d15f 100644 --- a/sys/emulation/svr4/svr4_syscallnames.c +++ b/sys/emulation/svr4/svr4_syscallnames.c @@ -2,7 +2,7 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/svr4/Attic/svr4_syscallnames.c,v 1.5 2003/07/24 23:55:10 dillon Exp $ + * $DragonFly: src/sys/emulation/svr4/Attic/svr4_syscallnames.c,v 1.6 2003/07/30 00:19:15 dillon Exp $ * created from DragonFly: src/sys/svr4/syscalls.master,v 1.2 2003/06/17 04:28:58 dillon Exp */ diff --git a/sys/emulation/svr4/svr4_sysent.c b/sys/emulation/svr4/svr4_sysent.c index d6ae1aa969..c7ed1cd214 100644 --- a/sys/emulation/svr4/svr4_sysent.c +++ b/sys/emulation/svr4/svr4_sysent.c @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/svr4/Attic/svr4_sysent.c,v 1.5 2003/07/24 23:55:10 dillon Exp $ + * $DragonFly: src/sys/emulation/svr4/Attic/svr4_sysent.c,v 1.6 2003/07/30 00:19:15 dillon Exp $ * created from DragonFly: src/sys/svr4/syscalls.master,v 1.2 2003/06/17 04:28:58 dillon Exp */ @@ -15,7 +15,7 @@ #include #include -#define AS(name) ((sizeof(struct name) - sizeof(struct lwkt_msg)) / sizeof(register_t)) +#define AS(name) ((sizeof(struct name) - sizeof(union sysmsg)) / sizeof(register_t)) /* The casts are bogus but will do for now. */ struct sysent svr4_sysent[] = { diff --git a/sys/emulation/svr4/svr4_union.h b/sys/emulation/svr4/svr4_union.h index c11c83a7d0..5da9f53a7b 100644 --- a/sys/emulation/svr4/svr4_union.h +++ b/sys/emulation/svr4/svr4_union.h @@ -2,12 +2,13 @@ * Union of syscall args for messaging. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/emulation/svr4/Attic/svr4_union.h,v 1.1 2003/07/24 23:55:10 dillon Exp $ + * $DragonFly: src/sys/emulation/svr4/Attic/svr4_union.h,v 1.2 2003/07/30 00:19:15 dillon Exp $ * created from DragonFly: src/sys/svr4/syscalls.master,v 1.2 2003/06/17 04:28:58 dillon Exp */ union sysunion { - struct lwkt_msg lmsg; + struct lwkt_msg lmsg; + union sysmsg sysmsg; struct svr4_sys_open_args svr4_sys_open; struct svr4_sys_wait_args svr4_sys_wait; struct svr4_sys_creat_args svr4_sys_creat; @@ -89,5 +90,3 @@ union sysunion { struct svr4_sys_send_args svr4_sys_send; struct svr4_sys_sendto_args svr4_sys_sendto; }; - -typedef union sysunion *sysmsg_t; diff --git a/sys/i386/i386/sys_machdep.c b/sys/i386/i386/sys_machdep.c index 3ed604a8d2..ddb1456da5 100644 --- a/sys/i386/i386/sys_machdep.c +++ b/sys/i386/i386/sys_machdep.c @@ -32,7 +32,7 @@ * * from: @(#)sys_machdep.c 5.5 (Berkeley) 1/19/91 * $FreeBSD: src/sys/i386/i386/sys_machdep.c,v 1.47.2.3 2002/10/07 17:20:00 jhb Exp $ - * $DragonFly: src/sys/i386/i386/Attic/sys_machdep.c,v 1.9 2003/07/26 18:12:42 dillon Exp $ + * $DragonFly: src/sys/i386/i386/Attic/sys_machdep.c,v 1.10 2003/07/30 00:19:13 dillon Exp $ * */ @@ -92,11 +92,11 @@ sysarch(struct sysarch_args *uap) switch(uap->op) { #ifdef USER_LDT case I386_GET_LDT: - error = i386_get_ldt(p, uap->parms, &uap->lmsg.u.ms_result); + error = i386_get_ldt(p, uap->parms, &uap->sysmsg_result); break; case I386_SET_LDT: - error = i386_set_ldt(p, uap->parms, &uap->lmsg.u.ms_result); + error = i386_set_ldt(p, uap->parms, &uap->sysmsg_result); break; #endif case I386_GET_IOPERM: diff --git a/sys/i386/i386/trap.c b/sys/i386/i386/trap.c index d64e912adb..4375eb0c76 100644 --- a/sys/i386/i386/trap.c +++ b/sys/i386/i386/trap.c @@ -36,7 +36,7 @@ * * from: @(#)trap.c 7.4 (Berkeley) 5/13/91 * $FreeBSD: src/sys/i386/i386/trap.c,v 1.147.2.11 2003/02/27 19:09:59 luoqi Exp $ - * $DragonFly: src/sys/i386/i386/Attic/trap.c,v 1.29 2003/07/26 18:12:42 dillon Exp $ + * $DragonFly: src/sys/i386/i386/Attic/trap.c,v 1.30 2003/07/30 00:19:13 dillon Exp $ */ /* @@ -1219,7 +1219,7 @@ syscall2(struct trapframe frame) /* * The prep code is not MP aware. */ - (*p->p_sysent->sv_prepsyscall)(&frame, (int *)(&args.lmsg + 1), &code, ¶ms); + (*p->p_sysent->sv_prepsyscall)(&frame, (int *)(&args.sysmsg + 1), &code, ¶ms); } else { /* * Need to check if this is a 32 bit or 64 bit syscall. @@ -1255,10 +1255,10 @@ syscall2(struct trapframe frame) * copyin is MP aware, but the tracing code is not */ if (params && (i = narg * sizeof(int)) && - (error = copyin(params, (caddr_t)(&args.lmsg + 1), (u_int)i))) { + (error = copyin(params, (caddr_t)(&args.sysmsg + 1), (u_int)i))) { #ifdef KTRACE if (KTRPOINT(td, KTR_SYSCALL)) - ktrsyscall(p->p_tracep, code, narg, (void *)(&args.lmsg + 1)); + ktrsyscall(p->p_tracep, code, narg, (void *)(&args.sysmsg + 1)); #endif goto bad; } @@ -1277,11 +1277,11 @@ syscall2(struct trapframe frame) #ifdef KTRACE if (KTRPOINT(td, KTR_SYSCALL)) { - ktrsyscall(p->p_tracep, code, narg, (void *)(&args.lmsg + 1)); + ktrsyscall(p->p_tracep, code, narg, (void *)(&args.sysmsg + 1)); } #endif - args.lmsg.u.ms_fds[0] = 0; - args.lmsg.u.ms_fds[1] = frame.tf_edx; + args.sysmsg_fds[0] = 0; + args.sysmsg_fds[1] = frame.tf_edx; STOPEVENT(p, S_SCE, narg); /* MP aware */ @@ -1297,8 +1297,8 @@ syscall2(struct trapframe frame) * if this is a child returning from fork syscall. */ p = curproc; - frame.tf_eax = args.lmsg.u.ms_fds[0]; - frame.tf_edx = args.lmsg.u.ms_fds[1]; + frame.tf_eax = args.sysmsg_fds[0]; + frame.tf_edx = args.sysmsg_fds[1]; frame.tf_eflags &= ~PSL_C; break; @@ -1341,7 +1341,7 @@ bad: #ifdef KTRACE if (KTRPOINT(td, KTR_SYSRET)) { - ktrsysret(p->p_tracep, code, error, args.lmsg.u.ms_result); + ktrsysret(p->p_tracep, code, error, args.sysmsg_result); } #endif @@ -1411,6 +1411,9 @@ sendsys2(struct trapframe frame) /* * Extract the system call message. If msgsize is zero we are * blocking on a message and/or message port. YYY + * + * The userland system call message size includes the size of the + * userland lwkt_msg plus arguments. */ if ((msgsize = frame.tf_edx) == 0) { printf("waitport %08x msg %08x\n", frame.tf_eax, frame.tf_ecx); @@ -1421,7 +1424,8 @@ sendsys2(struct trapframe frame) /* * Bad message size */ - if (msgsize < sizeof(struct lwkt_msg) || msgsize > sizeof(*sysmsg)) { + if (msgsize < sizeof(struct lwkt_msg) || + msgsize > sizeof(struct lwkt_msg) + sizeof(union sysunion) - sizeof(union sysmsg)) { error = ENOSYS; goto bad2; } @@ -1431,15 +1435,18 @@ sendsys2(struct trapframe frame) * the opaque field to store the original (user) message pointer. * A critical section is necessary to interlock against interrupts * returning system messages to the thread cache. + * + * The sysmsg is actually larger (i.e. sizeof(union sysunion)), in + * order to hold the syscall arguments. */ gd = td->td_gd; crit_enter_quick(td); if ((sysmsg = gd->gd_freesysmsg) != NULL) { - gd->gd_freesysmsg = sysmsg->lmsg.opaque.ms_sysnext; - crit_exit_quick(td); + gd->gd_freesysmsg = sysmsg->sm_msg.opaque.ms_sysnext; + crit_exit_quick(td); } else { - crit_exit_quick(td); - sysmsg = malloc(sizeof(*sysmsg), M_SYSMSG, M_WAITOK); + crit_exit_quick(td); + sysmsg = malloc(sizeof(union sysunion), M_SYSMSG, M_WAITOK); } /* @@ -1448,21 +1455,28 @@ sendsys2(struct trapframe frame) * it. */ umsg = (void *)frame.tf_ecx; - if ((error = copyin(umsg, sysmsg, msgsize)) != 0) + error = copyin(umsg, &sysmsg->sm_msg, sizeof(struct lwkt_msg)); + if (error) goto bad1; + if (msgsize > sizeof(struct lwkt_msg)) { + int rsize = msgsize - sizeof(struct lwkt_msg); + error = copyin(umsg + 1, sysmsg + 1, rsize); + if (error) + goto bad1; + } /* * Initialize the parts of the message required for kernel sanity. */ - sysmsg->lmsg.opaque.ms_umsg = umsg; - sysmsg->lmsg.ms_reply_port = &td->td_msgport; - sysmsg->lmsg.ms_flags &= MSGF_ASYNC; + sysmsg->sm_msg.opaque.ms_umsg = umsg; + sysmsg->sm_msg.ms_reply_port = &td->td_msgport; + sysmsg->sm_msg.ms_flags &= MSGF_ASYNC; /* * Extract the system call number, lookup the system call, and * set the default return value. */ - code = (u_int)sysmsg->lmsg.ms_cmd; + code = (u_int)sysmsg->sm_msg.ms_cmd; if (code >= p->p_sysent->sv_size) { error = ENOSYS; goto bad1; @@ -1470,15 +1484,15 @@ sendsys2(struct trapframe frame) callp = &p->p_sysent->sv_table[code]; - narg = (msgsize - sizeof(sysmsg->lmsg)) / sizeof(register_t); + narg = (msgsize - sizeof(struct lwkt_msg)) / sizeof(register_t); #ifdef KTRACE if (KTRPOINT(td, KTR_SYSCALL)) { - ktrsyscall(p->p_tracep, code, narg, (void *)(&sysmsg->lmsg + 1)); + ktrsyscall(p->p_tracep, code, narg, (void *)(&sysmsg + 1)); } #endif - sysmsg->lmsg.u.ms_fds[0] = 0; - sysmsg->lmsg.u.ms_fds[1] = 0; + sysmsg->sm_msg.u.ms_fds[0] = 0; + sysmsg->sm_msg.u.ms_fds[1] = 0; STOPEVENT(p, S_SCE, narg); /* MP aware */ @@ -1503,13 +1517,13 @@ bad1: * YYY Don't writeback message if execve() YYY */ if (error != EASYNC) { - result = sysmsg->lmsg.u.ms_fds[0]; + result = sysmsg->sm_msg.u.ms_fds[0]; if (error == 0 && code != SYS_execve) { - error = suword(&umsg->u.ms_result32 + 0, sysmsg->lmsg.u.ms_fds[0]); - error = suword(&umsg->u.ms_result32 + 1, sysmsg->lmsg.u.ms_fds[1]); + error = suword(&umsg->u.ms_result32 + 0, sysmsg->sm_msg.u.ms_fds[0]); + error = suword(&umsg->u.ms_result32 + 1, sysmsg->sm_msg.u.ms_fds[1]); } crit_enter_quick(td); - sysmsg->lmsg.opaque.ms_sysnext = gd->gd_freesysmsg; + sysmsg->sm_msg.opaque.ms_sysnext = gd->gd_freesysmsg; gd->gd_freesysmsg = sysmsg; crit_exit_quick(td); } diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c index fa3e18ed6c..a8f9ab8b61 100644 --- a/sys/kern/init_sysent.c +++ b/sys/kern/init_sysent.c @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/kern/init_sysent.c,v 1.5 2003/07/24 23:52:38 dillon Exp $ + * $DragonFly: src/sys/kern/init_sysent.c,v 1.6 2003/07/30 00:19:14 dillon Exp $ * created from DragonFly: src/sys/kern/syscalls.master,v 1.2 2003/06/17 04:28:41 dillon Exp */ @@ -12,7 +12,7 @@ #include #include -#define AS(name) ((sizeof(struct name) - sizeof(struct lwkt_msg)) / sizeof(register_t)) +#define AS(name) ((sizeof(struct name) - sizeof(union sysmsg)) / sizeof(register_t)) #ifdef COMPAT_43 #define compat(n, name) n, (sy_call_t *)__CONCAT(o,name) diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index 68f9798773..ffc0085988 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -37,7 +37,7 @@ * * @(#)kern_descrip.c 8.6 (Berkeley) 4/19/94 * $FreeBSD: src/sys/kern/kern_descrip.c,v 1.81.2.17 2003/06/06 20:21:32 tegge Exp $ - * $DragonFly: src/sys/kern/kern_descrip.c,v 1.10 2003/07/29 20:03:04 dillon Exp $ + * $DragonFly: src/sys/kern/kern_descrip.c,v 1.11 2003/07/30 00:19:14 dillon Exp $ */ #include "opt_compat.h" @@ -121,7 +121,7 @@ getdtablesize(struct getdtablesize_args *uap) { struct proc *p = curproc; - uap->lmsg.u.ms_result = + uap->sysmsg_result = min((int)p->p_rlimit[RLIMIT_NOFILE].rlim_cur, maxfilesperproc); return (0); } @@ -149,7 +149,7 @@ retry: return (EBADF); } if (old == new) { - uap->lmsg.u.ms_result = new; + uap->sysmsg_result = new; return (0); } if (new >= fdp->fd_nfiles) { @@ -160,7 +160,7 @@ retry: */ goto retry; } - return (do_dup(fdp, (int)old, (int)new, uap->lmsg.u.ms_fds, p)); + return (do_dup(fdp, (int)old, (int)new, uap->sysmsg_fds, p)); } /* @@ -181,7 +181,7 @@ dup(struct dup_args *uap) return (EBADF); if ((error = fdalloc(p, 0, &new))) return (error); - return (do_dup(fdp, (int)old, new, uap->lmsg.u.ms_fds, p)); + return (do_dup(fdp, (int)old, new, uap->sysmsg_fds, p)); } /* @@ -216,10 +216,10 @@ fcntl(struct fcntl_args *uap) return (EINVAL); if ((error = fdalloc(p, newmin, &i))) return (error); - return (do_dup(fdp, uap->fd, i, uap->lmsg.u.ms_fds, p)); + return (do_dup(fdp, uap->fd, i, uap->sysmsg_fds, p)); case F_GETFD: - uap->lmsg.u.ms_result = (*pop & UF_EXCLOSE) ? FD_CLOEXEC : 0; + uap->sysmsg_result = (*pop & UF_EXCLOSE) ? FD_CLOEXEC : 0; return (0); case F_SETFD: @@ -228,7 +228,7 @@ fcntl(struct fcntl_args *uap) return (0); case F_GETFL: - uap->lmsg.u.ms_result = OFLAGS(fp->f_flag); + uap->sysmsg_result = OFLAGS(fp->f_flag); return (0); case F_SETFL: @@ -255,7 +255,7 @@ fcntl(struct fcntl_args *uap) case F_GETOWN: fhold(fp); - error = fo_ioctl(fp, FIOGETOWN, (caddr_t)uap->lmsg.u.ms_fds, td); + error = fo_ioctl(fp, FIOGETOWN, (caddr_t)uap->sysmsg_fds, td); fdrop(fp, td); return(error); @@ -728,14 +728,14 @@ fpathconf(struct fpathconf_args *uap) if (uap->name != _PC_PIPE_BUF) { error = EINVAL; } else { - uap->lmsg.u.ms_result = PIPE_BUF; + uap->sysmsg_result = PIPE_BUF; error = 0; } break; case DTYPE_FIFO: case DTYPE_VNODE: vp = (struct vnode *)fp->f_data; - error = VOP_PATHCONF(vp, uap->name, uap->lmsg.u.ms_fds); + error = VOP_PATHCONF(vp, uap->name, uap->sysmsg_fds); break; default: error = EOPNOTSUPP; diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index a4d3e3193a..ae0fe56fa7 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/kern/kern_event.c,v 1.2.2.9 2003/05/08 07:47:16 kbyanc Exp $ - * $DragonFly: src/sys/kern/kern_event.c,v 1.8 2003/07/29 20:03:05 dillon Exp $ + * $DragonFly: src/sys/kern/kern_event.c,v 1.9 2003/07/30 00:19:14 dillon Exp $ */ #include @@ -376,7 +376,7 @@ kqueue(struct kqueue_args *uap) kq = malloc(sizeof(struct kqueue), M_KQUEUE, M_WAITOK | M_ZERO); TAILQ_INIT(&kq->kq_head); fp->f_data = (caddr_t)kq; - uap->lmsg.u.ms_result = fd; + uap->sysmsg_result = fd; if (fdp->fd_knlistsize < 0) fdp->fd_knlistsize = 0; /* this process has a kq */ kq->kq_fdp = fdp; @@ -444,12 +444,12 @@ kevent(struct kevent_args *uap) uap->changelist += n; } if (nerrors) { - uap->lmsg.u.ms_result = nerrors; + uap->sysmsg_result = nerrors; error = 0; goto done; } - error = kqueue_scan(fp, uap->nevents, uap->eventlist, uap->timeout, p, &uap->lmsg.u.ms_result); + error = kqueue_scan(fp, uap->nevents, uap->eventlist, uap->timeout, p, &uap->sysmsg_result); done: if (fp != NULL) fdrop(fp, p->p_thread); diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index 148c73504b..35aa00f254 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -37,7 +37,7 @@ * * @(#)kern_exit.c 8.7 (Berkeley) 2/12/94 * $FreeBSD: src/sys/kern/kern_exit.c,v 1.92.2.11 2003/01/13 22:51:16 dillon Exp $ - * $DragonFly: src/sys/kern/kern_exit.c,v 1.21 2003/07/26 19:42:11 rob Exp $ + * $DragonFly: src/sys/kern/kern_exit.c,v 1.22 2003/07/30 00:19:14 dillon Exp $ */ #include "opt_compat.h" @@ -473,10 +473,10 @@ loop: ESTCPULIM(curproc->p_estcpu + p->p_estcpu); } - uap->lmsg.u.ms_fds[0] = p->p_pid; + uap->sysmsg_fds[0] = p->p_pid; #ifdef COMPAT_43 if (compat) - uap->lmsg.u.ms_fds[1] = p->p_xstat; + uap->sysmsg_fds[1] = p->p_xstat; else #endif if (uap->status) { @@ -544,10 +544,10 @@ loop: if (p->p_stat == SSTOP && (p->p_flag & P_WAITED) == 0 && (p->p_flag & P_TRACED || uap->options & WUNTRACED)) { p->p_flag |= P_WAITED; - uap->lmsg.u.ms_fds[0] = p->p_pid; + uap->sysmsg_fds[0] = p->p_pid; #ifdef COMPAT_43 if (compat) { - uap->lmsg.u.ms_fds[1] = W_STOPCODE(p->p_xstat); + uap->sysmsg_fds[1] = W_STOPCODE(p->p_xstat); error = 0; } else #endif @@ -563,7 +563,7 @@ loop: if (nfound == 0) return (ECHILD); if (uap->options & WNOHANG) { - uap->lmsg.u.ms_fds[0] = 0; + uap->sysmsg_fds[0] = 0; return (0); } if ((error = tsleep((caddr_t)q, PCATCH, "wait", 0))) diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index e928aaeb50..04f63b244b 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -37,7 +37,7 @@ * * @(#)kern_fork.c 8.6 (Berkeley) 4/8/94 * $FreeBSD: src/sys/kern/kern_fork.c,v 1.72.2.13 2003/06/06 20:21:32 tegge Exp $ - * $DragonFly: src/sys/kern/kern_fork.c,v 1.14 2003/07/26 18:12:44 dillon Exp $ + * $DragonFly: src/sys/kern/kern_fork.c,v 1.15 2003/07/30 00:19:14 dillon Exp $ */ #include "opt_ktrace.h" @@ -94,8 +94,8 @@ fork(struct fork_args *uap) error = fork1(p, RFFDG | RFPROC, &p2); if (error == 0) { start_forked_proc(p, p2); - uap->lmsg.u.ms_fds[0] = p2->p_pid; - uap->lmsg.u.ms_fds[1] = 0; + uap->sysmsg_fds[0] = p2->p_pid; + uap->sysmsg_fds[1] = 0; } return error; } @@ -111,8 +111,8 @@ vfork(struct vfork_args *uap) error = fork1(p, RFFDG | RFPROC | RFPPWAIT | RFMEM, &p2); if (error == 0) { start_forked_proc(p, p2); - uap->lmsg.u.ms_fds[0] = p2->p_pid; - uap->lmsg.u.ms_fds[1] = 0; + uap->sysmsg_fds[0] = p2->p_pid; + uap->sysmsg_fds[1] = 0; } return error; } @@ -127,8 +127,8 @@ rfork(struct rfork_args *uap) error = fork1(p, uap->flags, &p2); if (error == 0) { start_forked_proc(p, p2); - uap->lmsg.u.ms_fds[0] = p2 ? p2->p_pid : 0; - uap->lmsg.u.ms_fds[1] = 0; + uap->sysmsg_fds[0] = p2 ? p2->p_pid : 0; + uap->sysmsg_fds[1] = 0; } return error; } diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index dc0aa1b5fe..ce0458ca63 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/kern/kern_linker.c,v 1.41.2.3 2001/11/21 17:50:35 luigi Exp $ - * $DragonFly: src/sys/kern/kern_linker.c,v 1.9 2003/07/26 18:12:44 dillon Exp $ + * $DragonFly: src/sys/kern/kern_linker.c,v 1.10 2003/07/30 00:19:14 dillon Exp $ */ #include "opt_ddb.h" @@ -664,7 +664,7 @@ kldload(struct kldload_args *uap) linker_file_t lf; int error = 0; - uap->lmsg.u.ms_result = -1; + uap->sysmsg_result = -1; if (securelevel > 0) /* redundant, but that's OK */ return EPERM; @@ -691,7 +691,7 @@ kldload(struct kldload_args *uap) goto out; lf->userrefs++; - uap->lmsg.u.ms_result = lf->id; + uap->sysmsg_result = lf->id; out: if (filename) @@ -738,7 +738,7 @@ kldfind(struct kldfind_args *uap) linker_file_t lf; int error = 0; - uap->lmsg.u.ms_result = -1; + uap->sysmsg_result = -1; filename = malloc(MAXPATHLEN, M_TEMP, M_WAITOK); if ((error = copyinstr(SCARG(uap, file), filename, MAXPATHLEN, NULL)) != 0) @@ -750,7 +750,7 @@ kldfind(struct kldfind_args *uap) lf = linker_find_file_by_name(modulename); if (lf) - uap->lmsg.u.ms_result = lf->id; + uap->sysmsg_result = lf->id; else error = ENOENT; @@ -768,18 +768,18 @@ kldnext(struct kldnext_args *uap) if (SCARG(uap, fileid) == 0) { if (TAILQ_FIRST(&linker_files)) - uap->lmsg.u.ms_result = TAILQ_FIRST(&linker_files)->id; + uap->sysmsg_result = TAILQ_FIRST(&linker_files)->id; else - uap->lmsg.u.ms_result = 0; + uap->sysmsg_result = 0; return 0; } lf = linker_find_file_by_id(SCARG(uap, fileid)); if (lf) { if (TAILQ_NEXT(lf, link)) - uap->lmsg.u.ms_result = TAILQ_NEXT(lf, link)->id; + uap->sysmsg_result = TAILQ_NEXT(lf, link)->id; else - uap->lmsg.u.ms_result = 0; + uap->sysmsg_result = 0; } else error = ENOENT; @@ -827,7 +827,7 @@ kldstat(struct kldstat_args *uap) if ((error = copyout(&lf->size, &stat->size, sizeof(size_t))) != 0) goto out; - uap->lmsg.u.ms_result = 0; + uap->sysmsg_result = 0; out: return error; @@ -842,9 +842,9 @@ kldfirstmod(struct kldfirstmod_args *uap) lf = linker_find_file_by_id(SCARG(uap, fileid)); if (lf) { if (TAILQ_FIRST(&lf->modules)) - uap->lmsg.u.ms_result = module_getid(TAILQ_FIRST(&lf->modules)); + uap->sysmsg_result = module_getid(TAILQ_FIRST(&lf->modules)); else - uap->lmsg.u.ms_result = 0; + uap->sysmsg_result = 0; } else error = ENOENT; diff --git a/sys/kern/kern_module.c b/sys/kern/kern_module.c index 359ace7785..5a49e7ad00 100644 --- a/sys/kern/kern_module.c +++ b/sys/kern/kern_module.c @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/kern/kern_module.c,v 1.21 1999/11/08 06:53:30 peter Exp $ - * $DragonFly: src/sys/kern/kern_module.c,v 1.4 2003/07/26 18:12:44 dillon Exp $ + * $DragonFly: src/sys/kern/kern_module.c,v 1.5 2003/07/30 00:19:14 dillon Exp $ */ #include @@ -235,11 +235,11 @@ modnext(struct modnext_args *uap) { module_t mod; - uap->lmsg.u.ms_result = -1; + uap->sysmsg_result = -1; if (SCARG(uap, modid) == 0) { mod = TAILQ_FIRST(&modules); if (mod) { - uap->lmsg.u.ms_result = mod->id; + uap->sysmsg_result = mod->id; return 0; } else return ENOENT; @@ -250,9 +250,9 @@ modnext(struct modnext_args *uap) return ENOENT; if (TAILQ_NEXT(mod, link)) - uap->lmsg.u.ms_result = TAILQ_NEXT(mod, link)->id; + uap->sysmsg_result = TAILQ_NEXT(mod, link)->id; else - uap->lmsg.u.ms_result = 0; + uap->sysmsg_result = 0; return 0; } @@ -261,16 +261,16 @@ modfnext(struct modfnext_args *uap) { module_t mod; - uap->lmsg.u.ms_result = -1; + uap->sysmsg_result = -1; mod = module_lookupbyid(SCARG(uap, modid)); if (!mod) return ENOENT; if (TAILQ_NEXT(mod, flink)) - uap->lmsg.u.ms_result = TAILQ_NEXT(mod, flink)->id; + uap->sysmsg_result = TAILQ_NEXT(mod, flink)->id; else - uap->lmsg.u.ms_result = 0; + uap->sysmsg_result = 0; return 0; } @@ -326,7 +326,7 @@ modstat(struct modstat_args *uap) goto out; } - uap->lmsg.u.ms_result = 0; + uap->sysmsg_result = 0; out: return error; @@ -346,7 +346,7 @@ modfind(struct modfind_args *uap) if (!mod) error = ENOENT; else - uap->lmsg.u.ms_result = mod->id; + uap->sysmsg_result = mod->id; out: return error; diff --git a/sys/kern/kern_ntptime.c b/sys/kern/kern_ntptime.c index b28a6d2aa4..3cc00b66d6 100644 --- a/sys/kern/kern_ntptime.c +++ b/sys/kern/kern_ntptime.c @@ -29,7 +29,7 @@ * confusing and/or plain wrong in that context. * * $FreeBSD: src/sys/kern/kern_ntptime.c,v 1.32.2.2 2001/04/22 11:19:46 jhay Exp $ - * $DragonFly: src/sys/kern/kern_ntptime.c,v 1.6 2003/07/26 18:12:44 dillon Exp $ + * $DragonFly: src/sys/kern/kern_ntptime.c,v 1.7 2003/07/30 00:19:14 dillon Exp $ */ #include "opt_ntp.h" @@ -405,9 +405,9 @@ ntp_adjtime(struct ntp_adjtime_args *uap) time_status & STA_PPSJITTER) || (time_status & STA_PPSFREQ && time_status & (STA_PPSWANDER | STA_PPSERROR))) { - uap->lmsg.u.ms_result = TIME_ERROR; + uap->sysmsg_result = TIME_ERROR; } else { - uap->lmsg.u.ms_result = time_state; + uap->sysmsg_result = time_state; } return (error); } diff --git a/sys/kern/kern_p1003_1b.c b/sys/kern/kern_p1003_1b.c index a8dc173261..a028329a91 100644 --- a/sys/kern/kern_p1003_1b.c +++ b/sys/kern/kern_p1003_1b.c @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/posix4/p1003_1b.c,v 1.5.2.2 2003/03/25 06:13:35 rwatson Exp $ - * $DragonFly: src/sys/kern/kern_p1003_1b.c,v 1.4 2003/07/26 18:12:45 dillon Exp $ + * $DragonFly: src/sys/kern/kern_p1003_1b.c,v 1.5 2003/07/30 00:19:15 dillon Exp $ */ /* p1003_1b: Real Time common code. @@ -169,7 +169,7 @@ sched_setparam(struct sched_setparam_args *uap) copyin(uap->param, &sched_param, sizeof(sched_param)); if ((e = p31b_proc(p, uap->pid, &p)) == 0) { - e = ksched_setparam(&uap->lmsg.u.ms_result, ksched, p, + e = ksched_setparam(&uap->sysmsg_result, ksched, p, (const struct sched_param *)&sched_param); } return e; @@ -191,7 +191,7 @@ sched_getparam(struct sched_getparam_args *uap) targetp = p; } - e = ksched_getparam(&uap->lmsg.u.ms_result, ksched, targetp, &sched_param); + e = ksched_getparam(&uap->sysmsg_result, ksched, targetp, &sched_param); if (!e) copyout(&sched_param, uap->param, sizeof(sched_param)); @@ -209,7 +209,7 @@ sched_setscheduler(struct sched_setscheduler_args *uap) copyin(uap->param, &sched_param, sizeof(sched_param)); if ((e = p31b_proc(p, uap->pid, &p)) == 0) { - e = ksched_setscheduler(&uap->lmsg.u.ms_result, ksched, p, + e = ksched_setscheduler(&uap->sysmsg_result, ksched, p, uap->policy, (const struct sched_param *)&sched_param); } return e; @@ -230,7 +230,7 @@ sched_getscheduler(struct sched_getscheduler_args *uap) targetp = p; } - e = ksched_getscheduler(&uap->lmsg.u.ms_result, ksched, targetp); + e = ksched_getscheduler(&uap->sysmsg_result, ksched, targetp); return e; } @@ -238,19 +238,19 @@ sched_getscheduler(struct sched_getscheduler_args *uap) int sched_yield(struct sched_yield_args *uap) { - return ksched_yield(&uap->lmsg.u.ms_result, ksched); + return ksched_yield(&uap->sysmsg_result, ksched); } int sched_get_priority_max(struct sched_get_priority_max_args *uap) { - return ksched_get_priority_max(&uap->lmsg.u.ms_result, ksched, uap->policy); + return ksched_get_priority_max(&uap->sysmsg_result, ksched, uap->policy); } int sched_get_priority_min(struct sched_get_priority_min_args *uap) { - return ksched_get_priority_min(&uap->lmsg.u.ms_result, ksched, uap->policy); + return ksched_get_priority_min(&uap->sysmsg_result, ksched, uap->policy); } int @@ -260,7 +260,7 @@ sched_rr_get_interval(struct sched_rr_get_interval_args *uap) struct proc *p = curproc; if ((e = p31b_proc(p, uap->pid, &p)) == 0) { - e = ksched_rr_get_interval(&uap->lmsg.u.ms_result, ksched, + e = ksched_rr_get_interval(&uap->sysmsg_result, ksched, p, uap->interval); } return e; diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 05983d9994..ad947bef1e 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -37,7 +37,7 @@ * * @(#)kern_prot.c 8.6 (Berkeley) 1/21/94 * $FreeBSD: src/sys/kern/kern_prot.c,v 1.53.2.9 2002/03/09 05:20:26 dd Exp $ - * $DragonFly: src/sys/kern/kern_prot.c,v 1.8 2003/07/26 19:42:11 rob Exp $ + * $DragonFly: src/sys/kern/kern_prot.c,v 1.9 2003/07/30 00:19:14 dillon Exp $ */ /* @@ -68,9 +68,9 @@ getpid(struct getpid_args *uap) { struct proc *p = curproc; - uap->lmsg.u.ms_fds[0] = p->p_pid; + uap->sysmsg_fds[0] = p->p_pid; #if defined(COMPAT_43) || defined(COMPAT_SUNOS) - uap->lmsg.u.ms_fds[1] = p->p_pptr->p_pid; + uap->sysmsg_fds[1] = p->p_pptr->p_pid; #endif return (0); } @@ -81,7 +81,7 @@ getppid(struct getppid_args *uap) { struct proc *p = curproc; - uap->lmsg.u.ms_result = p->p_pptr->p_pid; + uap->sysmsg_result = p->p_pptr->p_pid; return (0); } @@ -95,7 +95,7 @@ getpgrp(struct getpgrp_args *uap) { struct proc *p = curproc; - uap->lmsg.u.ms_result = p->p_pgrp->pg_id; + uap->sysmsg_result = p->p_pgrp->pg_id; return (0); } @@ -115,7 +115,7 @@ getpgid(struct getpgid_args *uap) if ((pt = pfind(uap->pid)) == 0) return ESRCH; found: - uap->lmsg.u.ms_result = pt->p_pgrp->pg_id; + uap->sysmsg_result = pt->p_pgrp->pg_id; return 0; } @@ -135,7 +135,7 @@ getsid(struct getsid_args *uap) if ((pt = pfind(uap->pid)) == 0) return ESRCH; found: - uap->lmsg.u.ms_result = pt->p_session->s_sid; + uap->sysmsg_result = pt->p_session->s_sid; return 0; } @@ -149,9 +149,9 @@ getuid(struct getuid_args *uap) { struct proc *p = curproc; - uap->lmsg.u.ms_fds[0] = p->p_ucred->cr_ruid; + uap->sysmsg_fds[0] = p->p_ucred->cr_ruid; #if defined(COMPAT_43) || defined(COMPAT_SUNOS) - uap->lmsg.u.ms_fds[1] = p->p_ucred->cr_uid; + uap->sysmsg_fds[1] = p->p_ucred->cr_uid; #endif return (0); } @@ -165,7 +165,7 @@ geteuid(struct geteuid_args *uap) { struct proc *p = curproc; - uap->lmsg.u.ms_result = p->p_ucred->cr_uid; + uap->sysmsg_result = p->p_ucred->cr_uid; return (0); } @@ -178,9 +178,9 @@ getgid(struct getgid_args *uap) { struct proc *p = curproc; - uap->lmsg.u.ms_fds[0] = p->p_ucred->cr_rgid; + uap->sysmsg_fds[0] = p->p_ucred->cr_rgid; #if defined(COMPAT_43) || defined(COMPAT_SUNOS) - uap->lmsg.u.ms_fds[1] = p->p_ucred->cr_groups[0]; + uap->sysmsg_fds[1] = p->p_ucred->cr_groups[0]; #endif return (0); } @@ -196,7 +196,7 @@ getegid(struct getegid_args *uap) { struct proc *p = curproc; - uap->lmsg.u.ms_result = p->p_ucred->cr_groups[0]; + uap->sysmsg_result = p->p_ucred->cr_groups[0]; return (0); } @@ -213,7 +213,7 @@ getgroups(struct getgroups_args *uap) cr = p->p_ucred; if ((ngrp = uap->gidsetsize) == 0) { - uap->lmsg.u.ms_result = cr->cr_ngroups; + uap->sysmsg_result = cr->cr_ngroups; return (0); } if (ngrp < cr->cr_ngroups) @@ -222,7 +222,7 @@ getgroups(struct getgroups_args *uap) if ((error = copyout((caddr_t)cr->cr_groups, (caddr_t)uap->gidset, ngrp * sizeof(gid_t)))) return (error); - uap->lmsg.u.ms_result = ngrp; + uap->sysmsg_result = ngrp; return (0); } @@ -236,7 +236,7 @@ setsid(struct setsid_args *uap) return (EPERM); } else { (void)enterpgrp(p, p->p_pid, 1); - uap->lmsg.u.ms_result = p->p_pid; + uap->sysmsg_result = p->p_pid; return (0); } } @@ -773,7 +773,7 @@ issetugid(struct issetugid_args *uap) * a user without an exec - programs cannot know *everything* * that libc *might* have put in their data segment. */ - uap->lmsg.u.ms_result = (p->p_flag & P_SUGID) ? 1 : 0; + uap->sysmsg_result = (p->p_flag & P_SUGID) ? 1 : 0; return (0); } diff --git a/sys/kern/kern_resource.c b/sys/kern/kern_resource.c index 53babddcd6..1f1dcde20d 100644 --- a/sys/kern/kern_resource.c +++ b/sys/kern/kern_resource.c @@ -37,7 +37,7 @@ * * @(#)kern_resource.c 8.5 (Berkeley) 1/21/94 * $FreeBSD: src/sys/kern/kern_resource.c,v 1.55.2.5 2001/11/03 01:41:08 ps Exp $ - * $DragonFly: src/sys/kern/kern_resource.c,v 1.11 2003/07/26 19:42:11 rob Exp $ + * $DragonFly: src/sys/kern/kern_resource.c,v 1.12 2003/07/30 00:19:14 dillon Exp $ */ #include "opt_compat.h" @@ -121,7 +121,7 @@ getpriority(struct getpriority_args *uap) } if (low == PRIO_MAX + 1) return (ESRCH); - uap->lmsg.u.ms_result = low; + uap->sysmsg_result = low; return (0); } diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 4cfebc7405..766ac80d79 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -37,7 +37,7 @@ * * @(#)kern_sig.c 8.7 (Berkeley) 4/18/94 * $FreeBSD: src/sys/kern/kern_sig.c,v 1.72.2.17 2003/05/16 16:34:34 obrien Exp $ - * $DragonFly: src/sys/kern/kern_sig.c,v 1.15 2003/07/26 19:42:11 rob Exp $ + * $DragonFly: src/sys/kern/kern_sig.c,v 1.16 2003/07/30 00:19:14 dillon Exp $ */ #include "opt_compat.h" @@ -501,7 +501,7 @@ osigprocmask(struct osigprocmask_args *uap) OSIG2SIG(uap->mask, set); error = do_sigprocmask(uap->how, &set, &oset, 1); - SIG2OSIG(oset, uap->lmsg.u.ms_result); + SIG2OSIG(oset, uap->sysmsg_result); return (error); } @@ -520,7 +520,7 @@ osigpending(struct osigpending_args *uap) { struct proc *p = curproc; - SIG2OSIG(p->p_siglist, uap->lmsg.u.ms_result); + SIG2OSIG(p->p_siglist, uap->sysmsg_result); return (0); } @@ -577,7 +577,7 @@ osigblock(struct osigblock_args *uap) OSIG2SIG(uap->mask, set); SIG_CANTMASK(set); (void) splhigh(); - SIG2OSIG(p->p_sigmask, uap->lmsg.u.ms_result); + SIG2OSIG(p->p_sigmask, uap->sysmsg_result); SIGSETOR(p->p_sigmask, set); (void) spl0(); return (0); @@ -592,7 +592,7 @@ osigsetmask(struct osigsetmask_args *uap) OSIG2SIG(uap->mask, set); SIG_CANTMASK(set); (void) splhigh(); - SIG2OSIG(p->p_sigmask, uap->lmsg.u.ms_result); + SIG2OSIG(p->p_sigmask, uap->sysmsg_result); SIGSETLO(p->p_sigmask, set); (void) spl0(); return (0); diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index 6983ed63d8..826907ed87 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -38,7 +38,7 @@ * * @(#)kern_sysctl.c 8.4 (Berkeley) 4/14/94 * $FreeBSD: src/sys/kern/kern_sysctl.c,v 1.92.2.9 2003/05/01 22:48:09 trhodes Exp $ - * $DragonFly: src/sys/kern/kern_sysctl.c,v 1.10 2003/07/26 18:12:44 dillon Exp $ + * $DragonFly: src/sys/kern/kern_sysctl.c,v 1.11 2003/07/30 00:19:14 dillon Exp $ */ #include "opt_compat.h" @@ -1427,7 +1427,7 @@ ogetkerninfo(struct getkerninfo_args *uap) } if (error) return (error); - uap->lmsg.u.ms_result = size; + uap->sysmsg_result = size; if (uap->size) error = copyout((caddr_t)&size, (caddr_t)uap->size, sizeof(size)); diff --git a/sys/kern/kern_threads.c b/sys/kern/kern_threads.c index 0e66922851..e15b2ef2b7 100644 --- a/sys/kern/kern_threads.c +++ b/sys/kern/kern_threads.c @@ -47,7 +47,7 @@ * and I certainly make no claims as to its fitness for *any* purpose. * * $FreeBSD: src/sys/kern/kern_threads.c,v 1.15 1999/08/28 00:46:15 peter Exp $ - * $DragonFly: src/sys/kern/kern_threads.c,v 1.6 2003/07/26 18:12:44 dillon Exp $ + * $DragonFly: src/sys/kern/kern_threads.c,v 1.7 2003/07/30 00:19:14 dillon Exp $ */ #include @@ -99,7 +99,7 @@ thr_sleep(struct thr_sleep_args *uap) timo = tvtohz(&atv); } - uap->lmsg.u.ms_result = 0; + uap->sysmsg_result = 0; if (p->p_wakeup == 0) { sleepstart = ticks; p->p_flag |= P_SINTR; @@ -107,11 +107,11 @@ thr_sleep(struct thr_sleep_args *uap) p->p_flag &= ~P_SINTR; if (error == EWOULDBLOCK) { p->p_wakeup = 0; - uap->lmsg.u.ms_result = EAGAIN; + uap->sysmsg_result = EAGAIN; return 0; } if (uap->timeout == 0) - uap->lmsg.u.ms_result = ticks - sleepstart; + uap->sysmsg_result = ticks - sleepstart; } p->p_wakeup = 0; return (0); @@ -127,7 +127,7 @@ thr_wakeup(struct thr_wakeup_args *uap) pSlave = pSlave->p_peers; if(pSlave == 0) { - uap->lmsg.u.ms_result = ESRCH; + uap->sysmsg_result = ESRCH; return(0); } @@ -137,7 +137,7 @@ thr_wakeup(struct thr_wakeup_args *uap) return(0); } - uap->lmsg.u.ms_result = EAGAIN; + uap->sysmsg_result = EAGAIN; return 0; } @@ -147,7 +147,7 @@ thr_wakeup(struct thr_wakeup_args *uap) int yield(struct yield_args *uap) { - uap->lmsg.u.ms_result = 0; + uap->sysmsg_result = 0; uio_yield(); return(0); } diff --git a/sys/kern/kern_xxx.c b/sys/kern/kern_xxx.c index 9b32d078d4..04946639f3 100644 --- a/sys/kern/kern_xxx.c +++ b/sys/kern/kern_xxx.c @@ -32,7 +32,7 @@ * * @(#)kern_xxx.c 8.2 (Berkeley) 11/14/93 * $FreeBSD: src/sys/kern/kern_xxx.c,v 1.31 1999/08/28 00:46:15 peter Exp $ - * $DragonFly: src/sys/kern/kern_xxx.c,v 1.6 2003/07/26 18:12:44 dillon Exp $ + * $DragonFly: src/sys/kern/kern_xxx.c,v 1.7 2003/07/30 00:19:14 dillon Exp $ */ #include "opt_compat.h" @@ -82,7 +82,7 @@ osethostname(struct sethostname_args *uap) int ogethostid(struct ogethostid_args *uap) { - uap->lmsg.u.ms_lresult = hostid; + uap->sysmsg_lresult = hostid; return (0); } #endif /* COMPAT_43 || COMPAT_SUNOS */ diff --git a/sys/kern/makesyscalls.sh b/sys/kern/makesyscalls.sh index 6131cc2926..0f5f2d794d 100644 --- a/sys/kern/makesyscalls.sh +++ b/sys/kern/makesyscalls.sh @@ -1,7 +1,7 @@ #! /bin/sh - # @(#)makesyscalls.sh 8.1 (Berkeley) 6/10/93 # $FreeBSD: src/sys/kern/makesyscalls.sh,v 1.39.2.4 2001/10/20 09:01:24 marcel Exp $ -# $DragonFly: src/sys/kern/makesyscalls.sh,v 1.6 2003/07/24 23:52:38 dillon Exp $ +# $DragonFly: src/sys/kern/makesyscalls.sh,v 1.7 2003/07/30 00:19:14 dillon Exp $ set -e @@ -124,6 +124,7 @@ s/\$//g printf "#include \n\n" > sysarg printf "#include \n\n" > sysarg printf "#include \n\n" > sysarg + printf "#include \n\n" > sysarg printf "#define\tPAD_(t)\t(sizeof(register_t) <= sizeof(t) ? \\\n" > sysarg printf "\t\t0 : sizeof(register_t) - sizeof(t))\n\n" > sysarg @@ -137,7 +138,8 @@ s/\$//g printf " * created from%s\n */\n\n", $0 > syshide printf " * created from%s\n */\n\n", $0 > sysun printf "union sysunion {\n" > sysun - printf "\tstruct lwkt_msg lmsg;\n" > sysun + printf "\tstruct\tlwkt_msg lmsg;\n" > sysun + printf "\tunion\tsysmsg sysmsg;\n" > sysun next } NF == 0 || $1 ~ /^;/ { @@ -297,7 +299,7 @@ s/\$//g if (argc != 0 && $2 != "NOARGS" && $2 != "NOPROTO") { printf("\tstruct\t%s %s;\n", argalias, usefuncname) > sysun printf("struct\t%s {\n", argalias) > sysarg - printf("\tstruct lwkt_msg lmsg;\n") > sysarg + printf("\tunion sysmsg sysmsg;\n") > sysarg for (i = 1; i <= argc; i++) printf("\t%s\t%s;\tchar %s_[PAD_(%s)];\n", argtype[i], argname[i], @@ -308,7 +310,7 @@ s/\$//g $2 != "NODEF") { printf("\tstruct\t%s %s;\n", argalias, usefuncname) > sysun printf("struct\t%s {\n", argalias) > sysarg - printf("\tstruct lwkt_msg lmsg;\n") > sysarg + printf("\tunion sysmsg sysmsg;\n") > sysarg printf("\tregister_t dummy;\n") > sysarg printf("};\n") > sysarg } @@ -356,7 +358,7 @@ s/\$//g printf("\tstruct\t%s %s;\n", argalias, usefuncname) > sysun printf("#endif\n") > sysun printf("struct\t%s {\n", argalias) > syscompat - printf("\tstruct lwkt_msg lmsg;\n") > syscompat + printf("\tunion sysmsg sysmsg;\n") > syscompat for (i = 1; i <= argc; i++) printf("\t%s\t%s;\tchar %s_[PAD_(%s)];\n", argtype[i], argname[i], @@ -366,7 +368,7 @@ s/\$//g else if($2 != "CPT_NOA") { printf("\tstruct\t%s %s;\n", argalias, usefuncname) > sysun printf("struct\t%s {\n", argalias) > sysarg - printf("\tstruct lwkt_msg lmsg;\n") > sysarg + printf("\tunion sysmsg sysmsg;\n") > sysarg printf("\tregister_t dummy;\n") > sysarg printf("};\n") > sysarg } @@ -433,7 +435,7 @@ s/\$//g exit 1 } END { - printf "\n#define AS(name) ((sizeof(struct name) - sizeof(struct lwkt_msg)) / sizeof(register_t))\n" > sysinc + printf "\n#define AS(name) ((sizeof(struct name) - sizeof(union sysmsg)) / sizeof(register_t))\n" > sysinc if (ncompat != 0) { printf "#include \"opt_compat.h\"\n\n" > syssw printf "\n#ifdef %s\n", compat > sysinc @@ -453,7 +455,6 @@ s/\$//g printf("};\n") > sysnames printf("};\n") > sysun printf("\n#endif /* _KERNEL */\n") > sysdcl - printf("\ntypedef union sysunion *sysmsg_t;\n") > sysun printf("#define\t%sMAXSYSCALL\t%d\n", syscallprefix, syscall) \ > syshdr } ' diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c index 06cc708110..2525115d4a 100644 --- a/sys/kern/sys_generic.c +++ b/sys/kern/sys_generic.c @@ -37,7 +37,7 @@ * * @(#)sys_generic.c 8.5 (Berkeley) 1/21/94 * $FreeBSD: src/sys/kern/sys_generic.c,v 1.55.2.10 2001/03/17 10:39:32 peter Exp $ - * $DragonFly: src/sys/kern/sys_generic.c,v 1.9 2003/07/26 19:42:11 rob Exp $ + * $DragonFly: src/sys/kern/sys_generic.c,v 1.10 2003/07/30 00:19:14 dillon Exp $ */ #include "opt_ktrace.h" @@ -112,7 +112,7 @@ read(struct read_args *uap) if ((fp = holdfp(p->p_fd, uap->fd, FREAD)) == NULL) return (EBADF); error = dofileread(fp, uap->fd, uap->buf, uap->nbyte, (off_t)-1, 0, - &uap->lmsg.u.ms_result); + &uap->sysmsg_result); fdrop(fp, td); return(error); } @@ -135,7 +135,7 @@ pread(struct pread_args *uap) error = ESPIPE; } else { error = dofileread(fp, uap->fd, uap->buf, uap->nbyte, - uap->offset, FOF_OFFSET, &uap->lmsg.u.ms_result); + uap->offset, FOF_OFFSET, &uap->sysmsg_result); } fdrop(fp, td); return(error); @@ -283,7 +283,7 @@ readv(struct readv_args *uap) FREE(ktriov, M_TEMP); } #endif - uap->lmsg.u.ms_result = cnt; + uap->sysmsg_result = cnt; done: fdrop(fp, td); if (needfree) @@ -307,7 +307,7 @@ write(struct write_args *uap) if ((fp = holdfp(p->p_fd, uap->fd, FWRITE)) == NULL) return (EBADF); error = dofilewrite(fp, uap->fd, uap->buf, uap->nbyte, (off_t)-1, 0, - &uap->lmsg.u.ms_result); + &uap->sysmsg_result); fdrop(fp, td); return(error); } @@ -330,7 +330,7 @@ pwrite(struct pwrite_args *uap) error = ESPIPE; } else { error = dofilewrite(fp, uap->fd, uap->buf, uap->nbyte, - uap->offset, FOF_OFFSET, &uap->lmsg.u.ms_result); + uap->offset, FOF_OFFSET, &uap->sysmsg_result); } fdrop(fp, td); return(error); @@ -489,7 +489,7 @@ writev(struct writev_args *uap) FREE(ktriov, M_TEMP); } #endif - uap->lmsg.u.ms_result = cnt; + uap->sysmsg_result = cnt; done: fdrop(fp, td); if (needfree) @@ -702,8 +702,8 @@ select(struct select_args *uap) retry: ncoll = nselcoll; p->p_flag |= P_SELECT; - error = selscan(p, ibits, obits, uap->nd, &uap->lmsg.u.ms_result); - if (error || uap->lmsg.u.ms_result) + error = selscan(p, ibits, obits, uap->nd, &uap->sysmsg_result); + if (error || uap->sysmsg_result) goto done; if (atv.tv_sec || atv.tv_usec) { getmicrouptime(&rtv); @@ -834,8 +834,8 @@ poll(struct poll_args *uap) retry: ncoll = nselcoll; p->p_flag |= P_SELECT; - error = pollscan(p, (struct pollfd *)bits, nfds, &uap->lmsg.u.ms_result); - if (error || uap->lmsg.u.ms_result) + error = pollscan(p, (struct pollfd *)bits, nfds, &uap->sysmsg_result); + if (error || uap->sysmsg_result) goto done; if (atv.tv_sec || atv.tv_usec) { getmicrouptime(&rtv); diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c index fca5efcc3e..9914858828 100644 --- a/sys/kern/sys_pipe.c +++ b/sys/kern/sys_pipe.c @@ -17,7 +17,7 @@ * are met. * * $FreeBSD: src/sys/kern/sys_pipe.c,v 1.60.2.13 2002/08/05 15:05:15 des Exp $ - * $DragonFly: src/sys/kern/sys_pipe.c,v 1.7 2003/07/29 20:03:05 dillon Exp $ + * $DragonFly: src/sys/kern/sys_pipe.c,v 1.8 2003/07/30 00:19:14 dillon Exp $ */ /* @@ -204,7 +204,7 @@ pipe(struct pipe_args *uap) return (error); } fhold(rf); - uap->lmsg.u.ms_fds[0] = fd1; + uap->sysmsg_fds[0] = fd1; /* * Warning: once we've gotten past allocation of the fd for the @@ -231,7 +231,7 @@ pipe(struct pipe_args *uap) wf->f_type = DTYPE_PIPE; wf->f_data = (caddr_t)wpipe; wf->f_ops = &pipeops; - uap->lmsg.u.ms_fds[1] = fd2; + uap->sysmsg_fds[1] = fd2; rpipe->pipe_peer = wpipe; wpipe->pipe_peer = rpipe; diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index 746aac8fde..34ea5d9b98 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -29,7 +29,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/kern/sys_process.c,v 1.51.2.6 2003/01/08 03:06:45 kan Exp $ - * $DragonFly: src/sys/kern/sys_process.c,v 1.8 2003/07/26 18:12:44 dillon Exp $ + * $DragonFly: src/sys/kern/sys_process.c,v 1.9 2003/07/30 00:19:14 dillon Exp $ */ #include @@ -238,7 +238,7 @@ ptrace(struct ptrace_args *uap) return (error); error = kern_ptrace(p, uap->req, uap->pid, addr, uap->data, - &uap->lmsg.u.ms_result); + &uap->sysmsg_result); if (error) return (error); diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c index b0fc133345..5ea2ad575a 100644 --- a/sys/kern/syscalls.c +++ b/sys/kern/syscalls.c @@ -2,7 +2,7 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/kern/syscalls.c,v 1.5 2003/07/24 23:52:38 dillon Exp $ + * $DragonFly: src/sys/kern/syscalls.c,v 1.6 2003/07/30 00:19:14 dillon Exp $ * created from DragonFly: src/sys/kern/syscalls.master,v 1.2 2003/06/17 04:28:41 dillon Exp */ diff --git a/sys/kern/sysv_msg.c b/sys/kern/sysv_msg.c index 0b33596df1..6a3bd57216 100644 --- a/sys/kern/sysv_msg.c +++ b/sys/kern/sysv_msg.c @@ -1,5 +1,5 @@ /* $FreeBSD: src/sys/kern/sysv_msg.c,v 1.23.2.5 2002/12/31 08:54:53 maxim Exp $ */ -/* $DragonFly: src/sys/kern/sysv_msg.c,v 1.9 2003/07/28 23:28:57 dillon Exp $ */ +/* $DragonFly: src/sys/kern/sysv_msg.c,v 1.10 2003/07/30 00:19:14 dillon Exp $ */ /* * Implementation of SVID messages @@ -369,7 +369,7 @@ msgctl(struct msgctl_args *uap) } if (eval == 0) - uap->lmsg.u.ms_result = rval; + uap->sysmsg_result = rval; return(eval); } @@ -470,7 +470,7 @@ msgget(struct msgget_args *uap) found: /* Construct the unique msqid */ - uap->lmsg.u.ms_result = IXSEQ_TO_IPCID(msqid, msqptr->msg_perm); + uap->sysmsg_result = IXSEQ_TO_IPCID(msqid, msqptr->msg_perm); return(0); } @@ -783,7 +783,7 @@ msgsnd(struct msgsnd_args *uap) msqptr->msg_stime = time_second; wakeup((caddr_t)msqptr); - uap->lmsg.u.ms_result = 0; + uap->sysmsg_result = 0; return(0); } @@ -1054,7 +1054,7 @@ msgrcv(struct msgrcv_args *uap) msg_freehdr(msghdr); wakeup((caddr_t)msqptr); - uap->lmsg.u.ms_result = msgsz; + uap->sysmsg_result = msgsz; return(0); } diff --git a/sys/kern/sysv_sem.c b/sys/kern/sysv_sem.c index b8e93c1c60..b6a0caf480 100644 --- a/sys/kern/sysv_sem.c +++ b/sys/kern/sysv_sem.c @@ -1,5 +1,5 @@ /* $FreeBSD: src/sys/kern/sysv_sem.c,v 1.24.2.8 2002/10/22 20:45:03 fjoe Exp $ */ -/* $DragonFly: src/sys/kern/sysv_sem.c,v 1.8 2003/07/28 23:28:57 dillon Exp $ */ +/* $DragonFly: src/sys/kern/sysv_sem.c,v 1.9 2003/07/30 00:19:14 dillon Exp $ */ /* * Implementation of SVID semaphores @@ -547,7 +547,7 @@ __semctl(struct __semctl_args *uap) } if (eval == 0) - uap->lmsg.u.ms_result = rval; + uap->sysmsg_result = rval; return(eval); } @@ -655,7 +655,7 @@ semget(struct semget_args *uap) } found: - uap->lmsg.u.ms_result = IXSEQ_TO_IPCID(semid, sema[semid].sem_perm); + uap->sysmsg_result = IXSEQ_TO_IPCID(semid, sema[semid].sem_perm); return(0); } @@ -906,7 +906,7 @@ done: #ifdef SEM_DEBUG printf("semop: done\n"); #endif - uap->lmsg.u.ms_result = 0; + uap->sysmsg_result = 0; return(0); } diff --git a/sys/kern/sysv_shm.c b/sys/kern/sysv_shm.c index 5e8ddffabe..9205ae864b 100644 --- a/sys/kern/sysv_shm.c +++ b/sys/kern/sysv_shm.c @@ -1,5 +1,5 @@ /* $FreeBSD: src/sys/kern/sysv_shm.c,v 1.45.2.6 2002/10/22 20:45:03 fjoe Exp $ */ -/* $DragonFly: src/sys/kern/sysv_shm.c,v 1.8 2003/07/28 23:28:57 dillon Exp $ */ +/* $DragonFly: src/sys/kern/sysv_shm.c,v 1.9 2003/07/30 00:19:14 dillon Exp $ */ /* $NetBSD: sysv_shm.c,v 1.23 1994/07/04 23:25:12 glass Exp $ */ /* @@ -311,7 +311,7 @@ shmat(struct shmat_args *uap) shmseg->shm_lpid = p->p_pid; shmseg->shm_atime = time_second; shmseg->shm_nattch++; - uap->lmsg.u.ms_result = attach_va; + uap->sysmsg_result = attach_va; return 0; } @@ -328,7 +328,7 @@ struct oshmid_ds { }; struct oshmctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int shmid; int cmd; struct oshmid_ds *ubuf; @@ -466,7 +466,7 @@ shmget_existing(p, uap, mode, segnum) return error; if (uap->size && uap->size > shmseg->shm_segsz) return EINVAL; - uap->lmsg.u.ms_result = IXSEQ_TO_IPCID(segnum, shmseg->shm_perm); + uap->sysmsg_result = IXSEQ_TO_IPCID(segnum, shmseg->shm_perm); return 0; } @@ -546,7 +546,7 @@ shmget_allocate_segment(p, uap, mode) shmseg->shm_perm.mode &= ~SHMSEG_WANTED; wakeup((caddr_t)shmseg); } - uap->lmsg.u.ms_result = shmid; + uap->sysmsg_result = shmid; return 0; } diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c index 1ff8935b20..04edfce8fa 100644 --- a/sys/kern/uipc_syscalls.c +++ b/sys/kern/uipc_syscalls.c @@ -35,7 +35,7 @@ * * @(#)uipc_syscalls.c 8.4 (Berkeley) 2/21/94 * $FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.65.2.17 2003/04/04 17:11:16 tegge Exp $ - * $DragonFly: src/sys/kern/uipc_syscalls.c,v 1.8 2003/07/27 01:49:52 hmp Exp $ + * $DragonFly: src/sys/kern/uipc_syscalls.c,v 1.9 2003/07/30 00:19:14 dillon Exp $ */ #include "opt_compat.h" @@ -128,7 +128,7 @@ socket(struct socket_args *uap) fp->f_flag = FREAD|FWRITE; fp->f_ops = &socketops; fp->f_type = DTYPE_SOCKET; - uap->lmsg.u.ms_result = fd; + uap->sysmsg_result = fd; } fdrop(fp, td); return (error); @@ -269,7 +269,7 @@ accept1(struct accept_args *uap, int compat) goto done; } fhold(nfp); - uap->lmsg.u.ms_result = fd; + uap->sysmsg_result = fd; /* connection has been removed from the listen queue */ KNOTE(&head->so_rcv.sb_sel.si_note, 0); @@ -624,7 +624,7 @@ sendto(struct sendto_args *uap) #endif aiov.iov_base = uap->buf; aiov.iov_len = uap->len; - return (sendit(uap->s, &msg, uap->flags, &uap->lmsg.u.ms_result)); + return (sendit(uap->s, &msg, uap->flags, &uap->sysmsg_result)); } #ifdef COMPAT_OLDSOCK @@ -645,7 +645,7 @@ osend(struct osend_args *uap) aiov.iov_len = uap->len; msg.msg_control = 0; msg.msg_flags = 0; - return (sendit(uap->s, &msg, uap->flags, &uap->lmsg.u.ms_result)); + return (sendit(uap->s, &msg, uap->flags, &uap->sysmsg_result)); } /* @@ -675,7 +675,7 @@ osendmsg(struct osendmsg_args *uap) goto done; msg.msg_flags = MSG_COMPAT; msg.msg_iov = iov; - error = sendit(uap->s, &msg, uap->flags, &uap->lmsg.u.ms_result); + error = sendit(uap->s, &msg, uap->flags, &uap->sysmsg_result); done: if (iov != aiov) FREE(iov, M_IOV); @@ -712,7 +712,7 @@ sendmsg(struct sendmsg_args *uap) #ifdef COMPAT_OLDSOCK msg.msg_flags = 0; #endif - error = sendit(uap->s, &msg, uap->flags, &uap->lmsg.u.ms_result); + error = sendit(uap->s, &msg, uap->flags, &uap->sysmsg_result); done: if (iov != aiov) FREE(iov, M_IOV); @@ -895,7 +895,7 @@ recvfrom(struct recvfrom_args *uap) aiov.iov_len = uap->len; msg.msg_control = 0; msg.msg_flags = uap->flags; - return (recvit(uap->s, &msg, (caddr_t)uap->fromlenaddr, &uap->lmsg.u.ms_result)); + return (recvit(uap->s, &msg, (caddr_t)uap->fromlenaddr, &uap->sysmsg_result)); } #ifdef COMPAT_OLDSOCK @@ -925,7 +925,7 @@ orecv(struct orecv_args *uap) aiov.iov_len = uap->len; msg.msg_control = 0; msg.msg_flags = uap->flags; - return (recvit(uap->s, &msg, (caddr_t)0, &uap->lmsg.u.ms_result)); + return (recvit(uap->s, &msg, (caddr_t)0, &uap->sysmsg_result)); } /* @@ -960,7 +960,7 @@ orecvmsg(struct orecvmsg_args *uap) if (error) goto done; msg.msg_iov = iov; - error = recvit(uap->s, &msg, (caddr_t)&uap->msg->msg_namelen, &uap->lmsg.u.ms_result); + error = recvit(uap->s, &msg, (caddr_t)&uap->msg->msg_namelen, &uap->sysmsg_result); if (msg.msg_controllen && error == 0) error = copyout((caddr_t)&msg.msg_controllen, @@ -1004,7 +1004,7 @@ recvmsg(struct recvmsg_args *uap) (unsigned)(msg.msg_iovlen * sizeof (struct iovec))); if (error) goto done; - error = recvit(uap->s, &msg, (caddr_t)0, &uap->lmsg.u.ms_result); + error = recvit(uap->s, &msg, (caddr_t)0, &uap->sysmsg_result); if (!error) { msg.msg_iov = uiov; error = copyout((caddr_t)&msg, (caddr_t)uap->msg, sizeof(msg)); @@ -1562,9 +1562,9 @@ do_sendfile(struct sendfile_args *uap, int compat) if (error) goto done; if (compat) - sbytes += uap->lmsg.u.ms_result; + sbytes += uap->sysmsg_result; else - hdtr_size += uap->lmsg.u.ms_result; + hdtr_size += uap->sysmsg_result; } } @@ -1807,9 +1807,9 @@ retry_space: if (error) goto done; if (compat) - sbytes += uap->lmsg.u.ms_result; + sbytes += uap->sysmsg_result; else - hdtr_size += uap->lmsg.u.ms_result; + hdtr_size += uap->sysmsg_result; } done: diff --git a/sys/kern/vfs_aio.c b/sys/kern/vfs_aio.c index 4ffd74b647..dee96357dc 100644 --- a/sys/kern/vfs_aio.c +++ b/sys/kern/vfs_aio.c @@ -14,7 +14,7 @@ * of the author. This software is distributed AS-IS. * * $FreeBSD: src/sys/kern/vfs_aio.c,v 1.70.2.28 2003/05/29 06:15:35 alc Exp $ - * $DragonFly: src/sys/kern/vfs_aio.c,v 1.9 2003/07/26 18:12:44 dillon Exp $ + * $DragonFly: src/sys/kern/vfs_aio.c,v 1.10 2003/07/30 00:19:14 dillon Exp $ */ /* @@ -1430,10 +1430,10 @@ aio_return(struct aio_return_args *uap) if (((intptr_t) cb->uaiocb._aiocb_private.kernelinfo) == jobref) { if (ujob == cb->uuaiocb) { - uap->lmsg.u.ms_result = + uap->sysmsg_result = cb->uaiocb._aiocb_private.status; } else - uap->lmsg.u.ms_result = EFAULT; + uap->sysmsg_result = EFAULT; if (cb->uaiocb.aio_lio_opcode == LIO_WRITE) { p->p_stats->p_ru.ru_oublock += cb->outputcharge; @@ -1453,10 +1453,10 @@ aio_return(struct aio_return_args *uap) == jobref) { splx(s); if (ujob == cb->uuaiocb) { - uap->lmsg.u.ms_result = + uap->sysmsg_result = cb->uaiocb._aiocb_private.status; } else - uap->lmsg.u.ms_result = EFAULT; + uap->sysmsg_result = EFAULT; aio_free_entry(cb); return 0; } @@ -1614,7 +1614,7 @@ aio_cancel(struct aio_cancel_args *uap) vp = (struct vnode *)fp->f_data; if (vn_isdisk(vp,&error)) { - uap->lmsg.u.ms_result = AIO_NOTCANCELED; + uap->sysmsg_result = AIO_NOTCANCELED; return 0; } } else if (fp->f_type == DTYPE_SOCKET) { @@ -1649,7 +1649,7 @@ aio_cancel(struct aio_cancel_args *uap) splx(s); if ((cancelled) && (uap->aiocbp)) { - uap->lmsg.u.ms_result = AIO_CANCELED; + uap->sysmsg_result = AIO_CANCELED; return 0; } } @@ -1687,14 +1687,14 @@ aio_cancel(struct aio_cancel_args *uap) splx(s); done: if (notcancelled) { - uap->lmsg.u.ms_result = AIO_NOTCANCELED; + uap->sysmsg_result = AIO_NOTCANCELED; return 0; } if (cancelled) { - uap->lmsg.u.ms_result = AIO_CANCELED; + uap->sysmsg_result = AIO_CANCELED; return 0; } - uap->lmsg.u.ms_result = AIO_ALLDONE; + uap->sysmsg_result = AIO_ALLDONE; return 0; #endif /* VFS_AIO */ @@ -1728,7 +1728,7 @@ aio_error(struct aio_error_args *uap) TAILQ_FOREACH(cb, &ki->kaio_jobdone, plist) { if (((intptr_t)cb->uaiocb._aiocb_private.kernelinfo) == jobref) { - uap->lmsg.u.ms_result = cb->uaiocb._aiocb_private.error; + uap->sysmsg_result = cb->uaiocb._aiocb_private.error; return 0; } } @@ -1739,7 +1739,7 @@ aio_error(struct aio_error_args *uap) plist)) { if (((intptr_t)cb->uaiocb._aiocb_private.kernelinfo) == jobref) { - uap->lmsg.u.ms_result = EINPROGRESS; + uap->sysmsg_result = EINPROGRESS; splx(s); return 0; } @@ -1749,7 +1749,7 @@ aio_error(struct aio_error_args *uap) plist)) { if (((intptr_t)cb->uaiocb._aiocb_private.kernelinfo) == jobref) { - uap->lmsg.u.ms_result = EINPROGRESS; + uap->sysmsg_result = EINPROGRESS; splx(s); return 0; } @@ -1761,7 +1761,7 @@ aio_error(struct aio_error_args *uap) plist)) { if (((intptr_t)cb->uaiocb._aiocb_private.kernelinfo) == jobref) { - uap->lmsg.u.ms_result = cb->uaiocb._aiocb_private.error; + uap->sysmsg_result = cb->uaiocb._aiocb_private.error; splx(s); return 0; } @@ -1771,7 +1771,7 @@ aio_error(struct aio_error_args *uap) plist)) { if (((intptr_t)cb->uaiocb._aiocb_private.kernelinfo) == jobref) { - uap->lmsg.u.ms_result = EINPROGRESS; + uap->sysmsg_result = EINPROGRESS; splx(s); return 0; } @@ -2119,7 +2119,7 @@ aio_waitcomplete(struct aio_waitcomplete_args *uap) for (;;) { if ((cb = TAILQ_FIRST(&ki->kaio_jobdone)) != 0) { suword(uap->aiocbp, (uintptr_t)cb->uuaiocb); - uap->lmsg.u.ms_result = cb->uaiocb._aiocb_private.status; + uap->sysmsg_result = cb->uaiocb._aiocb_private.status; if (cb->uaiocb.aio_lio_opcode == LIO_WRITE) { p->p_stats->p_ru.ru_oublock += cb->outputcharge; @@ -2136,7 +2136,7 @@ aio_waitcomplete(struct aio_waitcomplete_args *uap) if ((cb = TAILQ_FIRST(&ki->kaio_bufdone)) != 0 ) { splx(s); suword(uap->aiocbp, (uintptr_t)cb->uuaiocb); - uap->lmsg.u.ms_result = cb->uaiocb._aiocb_private.status; + uap->sysmsg_result = cb->uaiocb._aiocb_private.status; aio_free_entry(cb); return cb->uaiocb._aiocb_private.error; } diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index 70ec41a307..9e556d3e75 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -37,7 +37,7 @@ * * @(#)vfs_syscalls.c 8.13 (Berkeley) 4/15/94 * $FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.151.2.18 2003/04/04 20:35:58 tegge Exp $ - * $DragonFly: src/sys/kern/vfs_syscalls.c,v 1.12 2003/07/26 19:42:11 rob Exp $ + * $DragonFly: src/sys/kern/vfs_syscalls.c,v 1.13 2003/07/30 00:19:14 dillon Exp $ */ /* For 4.3 integer FS ID compatibility */ @@ -731,9 +731,9 @@ getfsstat(struct getfsstat_args *uap) } lwkt_reltoken(&mountlist_token); if (sfsp && count > maxcount) - uap->lmsg.u.ms_result = maxcount; + uap->sysmsg_result = maxcount; else - uap->lmsg.u.ms_result = count; + uap->sysmsg_result = count; return (0); } @@ -960,7 +960,7 @@ open(struct open_args *uap) p->p_dupfd >= 0 && /* XXX from fdopen */ (error = dupfdopen(fdp, indx, p->p_dupfd, flags, error)) == 0) { - uap->lmsg.u.ms_result = indx; + uap->sysmsg_result = indx; return (0); } /* @@ -994,7 +994,7 @@ open(struct open_args *uap) VOP_UNLOCK(vp, 0, td); vn_close(vp, flags & FMASK, td); fdrop(fp, td); - uap->lmsg.u.ms_result = indx; + uap->sysmsg_result = indx; return 0; } @@ -1041,7 +1041,7 @@ open(struct open_args *uap) * descriptor table intact. */ fdrop(fp, td); - uap->lmsg.u.ms_result = indx; + uap->sysmsg_result = indx; return (0); } @@ -1419,7 +1419,7 @@ lseek(struct lseek_args *uap) default: return (EINVAL); } - uap->lmsg.u.ms_offset = fp->f_offset; + uap->sysmsg_offset = fp->f_offset; return (0); } @@ -1745,7 +1745,7 @@ pathconf(struct pathconf_args *uap) if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); - error = VOP_PATHCONF(nd.ni_vp, SCARG(uap, name), uap->lmsg.u.ms_fds); + error = VOP_PATHCONF(nd.ni_vp, SCARG(uap, name), uap->sysmsg_fds); vput(nd.ni_vp); return (error); } @@ -1788,7 +1788,7 @@ readlink(struct readlink_args *uap) error = VOP_READLINK(vp, &auio, p->p_ucred); } vput(vp); - uap->lmsg.u.ms_result = SCARG(uap, count) - auio.uio_resid; + uap->sysmsg_result = SCARG(uap, count) - auio.uio_resid; return (error); } @@ -2592,7 +2592,7 @@ unionread: } error = copyout((caddr_t)&loff, (caddr_t)SCARG(uap, basep), sizeof(long)); - uap->lmsg.u.ms_result = SCARG(uap, count) - auio.uio_resid; + uap->sysmsg_result = SCARG(uap, count) - auio.uio_resid; return (error); } #endif /* COMPAT_43 */ @@ -2661,7 +2661,7 @@ unionread: error = copyout((caddr_t)&loff, (caddr_t)SCARG(uap, basep), sizeof(long)); } - uap->lmsg.u.ms_result = SCARG(uap, count) - auio.uio_resid; + uap->sysmsg_result = SCARG(uap, count) - auio.uio_resid; return (error); } @@ -2695,7 +2695,7 @@ umask(struct umask_args *uap) struct filedesc *fdp; fdp = p->p_fd; - uap->lmsg.u.ms_result = fdp->fd_cmask; + uap->sysmsg_result = fdp->fd_cmask; fdp->fd_cmask = SCARG(uap, newmask) & ALLPERMS; return (0); } @@ -2954,7 +2954,7 @@ fhopen(struct fhopen_args *uap) VOP_UNLOCK(vp, 0, td); fdrop(fp, td); - uap->lmsg.u.ms_result = indx; + uap->sysmsg_result = indx; return (0); bad: @@ -3122,7 +3122,7 @@ extattr_set_file(struct extattr_set_file_args *uap) cnt = auio.uio_resid; error = VOP_SETEXTATTR(nd.ni_vp, attrname, &auio, p->p_ucred, td); cnt -= auio.uio_resid; - uap->lmsg.u.ms_result = cnt; + uap->sysmsg_result = cnt; done: if (needfree) FREE(needfree, M_IOV); @@ -3187,7 +3187,7 @@ extattr_get_file(struct extattr_get_file_args *uap) cnt = auio.uio_resid; error = VOP_GETEXTATTR(nd.ni_vp, attrname, &auio, p->p_ucred, td); cnt -= auio.uio_resid; - uap->lmsg.u.ms_result = cnt; + uap->sysmsg_result = cnt; done: if (needfree) FREE(needfree, M_IOV); diff --git a/sys/netproto/ncp/ncp_mod.c b/sys/netproto/ncp/ncp_mod.c index 5fe26624fc..b2141b9807 100644 --- a/sys/netproto/ncp/ncp_mod.c +++ b/sys/netproto/ncp/ncp_mod.c @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/netncp/ncp_mod.c,v 1.2 1999/10/12 10:36:59 bp Exp $ - * $DragonFly: src/sys/netproto/ncp/ncp_mod.c,v 1.5 2003/07/29 19:39:03 dillon Exp $ + * $DragonFly: src/sys/netproto/ncp/ncp_mod.c,v 1.6 2003/07/30 00:19:15 dillon Exp $ */ #include #include @@ -66,7 +66,7 @@ ncp_conn_frag_rq(struct ncp_conn *conn, struct thread *td, struct ncp_conn_frag * Attach to NCP server */ struct sncp_connect_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct ncp_conn_args *li; int *connHandle; }; @@ -97,12 +97,12 @@ sncp_connect(struct sncp_connect_args *uap) ncp_conn_unlock(conn,td); } bad: - uap->lmsg.u.ms_result = error; + uap->sysmsg_result = error; return error; } struct sncp_request_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int connHandle; int fn; struct ncp_buf *ncpbuf; @@ -195,7 +195,7 @@ ncp_conn_handler(struct thread *td, struct sncp_request_args *uap, error = ncp_write(conn, &rwrq.nrw_fh, &auio, cred); rwrq.nrw_cnt -= auio.uio_resid; ncp_conn_unlock(conn,td); - uap->lmsg.u.ms_result = rwrq.nrw_cnt; + uap->sysmsg_result = rwrq.nrw_cnt; break; } /* case int_read/write */ case NCP_CONN_SETFLAGS: { @@ -231,7 +231,7 @@ ncp_conn_handler(struct thread *td, struct sncp_request_args *uap, if (error) return error; error = ncp_login(conn, la.username, la.objtype, la.password, td, cred); ncp_conn_unlock(conn, td); - uap->lmsg.u.ms_result = error; + uap->sysmsg_result = error; break; } case NCP_CONN_GETINFO: { @@ -281,7 +281,7 @@ ncp_conn_handler(struct thread *td, struct sncp_request_args *uap, error = ncp_conn_frag_rq(conn, td, &nf); ncp_conn_unlock(conn, td); copyout(&nf, &pdata, sizeof(nf)); - uap->lmsg.u.ms_result = error; + uap->sysmsg_result = error; break; } case NCP_CONN_DUP: { @@ -313,7 +313,7 @@ ncp_conn_handler(struct thread *td, struct sncp_request_args *uap, } struct sncp_conn_scan_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct ncp_conn_args *li; int *connHandle; }; @@ -367,7 +367,7 @@ sncp_conn_scan(struct thread *td, struct sncp_conn_scan_args *uap) } if (user) free(user, M_NCPDATA); if (password) free(password, M_NCPDATA); - uap->lmsg.u.ms_result = error; + uap->sysmsg_result = error; return error; } @@ -412,7 +412,7 @@ ncp_conn_frag_rq(struct ncp_conn *conn, struct thread *td, struct ncp_conn_frag * Pretty much of this stolen from ioctl() function. */ struct sncp_intfn_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; u_long com; caddr_t data; }; diff --git a/sys/platform/pc32/i386/sys_machdep.c b/sys/platform/pc32/i386/sys_machdep.c index 71e65f1816..e2ce38bccf 100644 --- a/sys/platform/pc32/i386/sys_machdep.c +++ b/sys/platform/pc32/i386/sys_machdep.c @@ -32,7 +32,7 @@ * * from: @(#)sys_machdep.c 5.5 (Berkeley) 1/19/91 * $FreeBSD: src/sys/i386/i386/sys_machdep.c,v 1.47.2.3 2002/10/07 17:20:00 jhb Exp $ - * $DragonFly: src/sys/platform/pc32/i386/sys_machdep.c,v 1.9 2003/07/26 18:12:42 dillon Exp $ + * $DragonFly: src/sys/platform/pc32/i386/sys_machdep.c,v 1.10 2003/07/30 00:19:13 dillon Exp $ * */ @@ -92,11 +92,11 @@ sysarch(struct sysarch_args *uap) switch(uap->op) { #ifdef USER_LDT case I386_GET_LDT: - error = i386_get_ldt(p, uap->parms, &uap->lmsg.u.ms_result); + error = i386_get_ldt(p, uap->parms, &uap->sysmsg_result); break; case I386_SET_LDT: - error = i386_set_ldt(p, uap->parms, &uap->lmsg.u.ms_result); + error = i386_set_ldt(p, uap->parms, &uap->sysmsg_result); break; #endif case I386_GET_IOPERM: diff --git a/sys/platform/pc32/i386/trap.c b/sys/platform/pc32/i386/trap.c index a3bc4e7f24..83d62a577b 100644 --- a/sys/platform/pc32/i386/trap.c +++ b/sys/platform/pc32/i386/trap.c @@ -36,7 +36,7 @@ * * from: @(#)trap.c 7.4 (Berkeley) 5/13/91 * $FreeBSD: src/sys/i386/i386/trap.c,v 1.147.2.11 2003/02/27 19:09:59 luoqi Exp $ - * $DragonFly: src/sys/platform/pc32/i386/trap.c,v 1.29 2003/07/26 18:12:42 dillon Exp $ + * $DragonFly: src/sys/platform/pc32/i386/trap.c,v 1.30 2003/07/30 00:19:13 dillon Exp $ */ /* @@ -1219,7 +1219,7 @@ syscall2(struct trapframe frame) /* * The prep code is not MP aware. */ - (*p->p_sysent->sv_prepsyscall)(&frame, (int *)(&args.lmsg + 1), &code, ¶ms); + (*p->p_sysent->sv_prepsyscall)(&frame, (int *)(&args.sysmsg + 1), &code, ¶ms); } else { /* * Need to check if this is a 32 bit or 64 bit syscall. @@ -1255,10 +1255,10 @@ syscall2(struct trapframe frame) * copyin is MP aware, but the tracing code is not */ if (params && (i = narg * sizeof(int)) && - (error = copyin(params, (caddr_t)(&args.lmsg + 1), (u_int)i))) { + (error = copyin(params, (caddr_t)(&args.sysmsg + 1), (u_int)i))) { #ifdef KTRACE if (KTRPOINT(td, KTR_SYSCALL)) - ktrsyscall(p->p_tracep, code, narg, (void *)(&args.lmsg + 1)); + ktrsyscall(p->p_tracep, code, narg, (void *)(&args.sysmsg + 1)); #endif goto bad; } @@ -1277,11 +1277,11 @@ syscall2(struct trapframe frame) #ifdef KTRACE if (KTRPOINT(td, KTR_SYSCALL)) { - ktrsyscall(p->p_tracep, code, narg, (void *)(&args.lmsg + 1)); + ktrsyscall(p->p_tracep, code, narg, (void *)(&args.sysmsg + 1)); } #endif - args.lmsg.u.ms_fds[0] = 0; - args.lmsg.u.ms_fds[1] = frame.tf_edx; + args.sysmsg_fds[0] = 0; + args.sysmsg_fds[1] = frame.tf_edx; STOPEVENT(p, S_SCE, narg); /* MP aware */ @@ -1297,8 +1297,8 @@ syscall2(struct trapframe frame) * if this is a child returning from fork syscall. */ p = curproc; - frame.tf_eax = args.lmsg.u.ms_fds[0]; - frame.tf_edx = args.lmsg.u.ms_fds[1]; + frame.tf_eax = args.sysmsg_fds[0]; + frame.tf_edx = args.sysmsg_fds[1]; frame.tf_eflags &= ~PSL_C; break; @@ -1341,7 +1341,7 @@ bad: #ifdef KTRACE if (KTRPOINT(td, KTR_SYSRET)) { - ktrsysret(p->p_tracep, code, error, args.lmsg.u.ms_result); + ktrsysret(p->p_tracep, code, error, args.sysmsg_result); } #endif @@ -1411,6 +1411,9 @@ sendsys2(struct trapframe frame) /* * Extract the system call message. If msgsize is zero we are * blocking on a message and/or message port. YYY + * + * The userland system call message size includes the size of the + * userland lwkt_msg plus arguments. */ if ((msgsize = frame.tf_edx) == 0) { printf("waitport %08x msg %08x\n", frame.tf_eax, frame.tf_ecx); @@ -1421,7 +1424,8 @@ sendsys2(struct trapframe frame) /* * Bad message size */ - if (msgsize < sizeof(struct lwkt_msg) || msgsize > sizeof(*sysmsg)) { + if (msgsize < sizeof(struct lwkt_msg) || + msgsize > sizeof(struct lwkt_msg) + sizeof(union sysunion) - sizeof(union sysmsg)) { error = ENOSYS; goto bad2; } @@ -1431,15 +1435,18 @@ sendsys2(struct trapframe frame) * the opaque field to store the original (user) message pointer. * A critical section is necessary to interlock against interrupts * returning system messages to the thread cache. + * + * The sysmsg is actually larger (i.e. sizeof(union sysunion)), in + * order to hold the syscall arguments. */ gd = td->td_gd; crit_enter_quick(td); if ((sysmsg = gd->gd_freesysmsg) != NULL) { - gd->gd_freesysmsg = sysmsg->lmsg.opaque.ms_sysnext; - crit_exit_quick(td); + gd->gd_freesysmsg = sysmsg->sm_msg.opaque.ms_sysnext; + crit_exit_quick(td); } else { - crit_exit_quick(td); - sysmsg = malloc(sizeof(*sysmsg), M_SYSMSG, M_WAITOK); + crit_exit_quick(td); + sysmsg = malloc(sizeof(union sysunion), M_SYSMSG, M_WAITOK); } /* @@ -1448,21 +1455,28 @@ sendsys2(struct trapframe frame) * it. */ umsg = (void *)frame.tf_ecx; - if ((error = copyin(umsg, sysmsg, msgsize)) != 0) + error = copyin(umsg, &sysmsg->sm_msg, sizeof(struct lwkt_msg)); + if (error) goto bad1; + if (msgsize > sizeof(struct lwkt_msg)) { + int rsize = msgsize - sizeof(struct lwkt_msg); + error = copyin(umsg + 1, sysmsg + 1, rsize); + if (error) + goto bad1; + } /* * Initialize the parts of the message required for kernel sanity. */ - sysmsg->lmsg.opaque.ms_umsg = umsg; - sysmsg->lmsg.ms_reply_port = &td->td_msgport; - sysmsg->lmsg.ms_flags &= MSGF_ASYNC; + sysmsg->sm_msg.opaque.ms_umsg = umsg; + sysmsg->sm_msg.ms_reply_port = &td->td_msgport; + sysmsg->sm_msg.ms_flags &= MSGF_ASYNC; /* * Extract the system call number, lookup the system call, and * set the default return value. */ - code = (u_int)sysmsg->lmsg.ms_cmd; + code = (u_int)sysmsg->sm_msg.ms_cmd; if (code >= p->p_sysent->sv_size) { error = ENOSYS; goto bad1; @@ -1470,15 +1484,15 @@ sendsys2(struct trapframe frame) callp = &p->p_sysent->sv_table[code]; - narg = (msgsize - sizeof(sysmsg->lmsg)) / sizeof(register_t); + narg = (msgsize - sizeof(struct lwkt_msg)) / sizeof(register_t); #ifdef KTRACE if (KTRPOINT(td, KTR_SYSCALL)) { - ktrsyscall(p->p_tracep, code, narg, (void *)(&sysmsg->lmsg + 1)); + ktrsyscall(p->p_tracep, code, narg, (void *)(&sysmsg + 1)); } #endif - sysmsg->lmsg.u.ms_fds[0] = 0; - sysmsg->lmsg.u.ms_fds[1] = 0; + sysmsg->sm_msg.u.ms_fds[0] = 0; + sysmsg->sm_msg.u.ms_fds[1] = 0; STOPEVENT(p, S_SCE, narg); /* MP aware */ @@ -1503,13 +1517,13 @@ bad1: * YYY Don't writeback message if execve() YYY */ if (error != EASYNC) { - result = sysmsg->lmsg.u.ms_fds[0]; + result = sysmsg->sm_msg.u.ms_fds[0]; if (error == 0 && code != SYS_execve) { - error = suword(&umsg->u.ms_result32 + 0, sysmsg->lmsg.u.ms_fds[0]); - error = suword(&umsg->u.ms_result32 + 1, sysmsg->lmsg.u.ms_fds[1]); + error = suword(&umsg->u.ms_result32 + 0, sysmsg->sm_msg.u.ms_fds[0]); + error = suword(&umsg->u.ms_result32 + 1, sysmsg->sm_msg.u.ms_fds[1]); } crit_enter_quick(td); - sysmsg->lmsg.opaque.ms_sysnext = gd->gd_freesysmsg; + sysmsg->sm_msg.opaque.ms_sysnext = gd->gd_freesysmsg; gd->gd_freesysmsg = sysmsg; crit_exit_quick(td); } diff --git a/sys/sys/globaldata.h b/sys/sys/globaldata.h index 1a8ce01384..b0d698b4eb 100644 --- a/sys/sys/globaldata.h +++ b/sys/sys/globaldata.h @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/i386/include/globaldata.h,v 1.11.2.1 2000/05/16 06:58:10 dillon Exp $ - * $DragonFly: src/sys/sys/globaldata.h,v 1.13 2003/07/25 05:51:19 dillon Exp $ + * $DragonFly: src/sys/sys/globaldata.h,v 1.14 2003/07/30 00:19:16 dillon Exp $ */ #ifndef _SYS_GLOBALDATA_H_ @@ -62,6 +62,7 @@ * may then be scheduled to other cpus. */ +union sysmsg; struct privatespace; struct globaldata { @@ -69,7 +70,7 @@ struct globaldata { struct thread *gd_curthread; int gd_tdfreecount; /* new thread cache */ u_int32_t gd_reqflags; /* (see note above) */ - union sysunion *gd_freesysmsg; /* free syscall messages */ + union sysmsg *gd_freesysmsg; /* free syscall messages */ TAILQ_HEAD(,thread) gd_tdallq; /* all threads */ TAILQ_HEAD(,thread) gd_tdfreeq; /* new thread cache */ TAILQ_HEAD(,thread) gd_tdrunq[32]; /* runnable threads */ diff --git a/sys/sys/msgport.h b/sys/sys/msgport.h index 69198a6a67..5e50b11541 100644 --- a/sys/sys/msgport.h +++ b/sys/sys/msgport.h @@ -3,7 +3,7 @@ * * Implements LWKT messages and ports. * - * $DragonFly: src/sys/sys/msgport.h,v 1.5 2003/07/26 18:12:46 dillon Exp $ + * $DragonFly: src/sys/sys/msgport.h,v 1.6 2003/07/30 00:19:16 dillon Exp $ */ #ifndef _SYS_MSGPORT_H_ @@ -32,9 +32,9 @@ typedef TAILQ_HEAD(lwkt_msg_queue, lwkt_msg) lwkt_msg_queue; typedef struct lwkt_msg { TAILQ_ENTRY(lwkt_msg) ms_node; /* link node (not always used) */ union { - struct lwkt_msg *ms_next; /* chaining / cache */ - union sysunion *ms_sysnext; /* chaining / cache */ - struct lwkt_msg *ms_umsg; /* user message (UVA address) */ + struct lwkt_msg *ms_next; /* chaining / cache */ + union sysmsg *ms_sysnext; /* chaining / cache */ + struct lwkt_msg *ms_umsg; /* user message (UVA address) */ } opaque; lwkt_port_t ms_target_port; /* only used in certain situations */ lwkt_port_t ms_reply_port; /* asynch replies returned here */ diff --git a/sys/sys/syscall-hide.h b/sys/sys/syscall-hide.h index b099d82e92..a2e7137fc4 100644 --- a/sys/sys/syscall-hide.h +++ b/sys/sys/syscall-hide.h @@ -2,7 +2,7 @@ * System call hiders. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/sys/syscall-hide.h,v 1.5 2003/07/24 23:52:39 dillon Exp $ + * $DragonFly: src/sys/sys/syscall-hide.h,v 1.6 2003/07/30 00:19:16 dillon Exp $ * created from DragonFly: src/sys/kern/syscalls.master,v 1.2 2003/06/17 04:28:41 dillon Exp */ diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h index 3b292b278d..7de7d8f242 100644 --- a/sys/sys/syscall.h +++ b/sys/sys/syscall.h @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/sys/syscall.h,v 1.5 2003/07/24 23:52:39 dillon Exp $ + * $DragonFly: src/sys/sys/syscall.h,v 1.6 2003/07/30 00:19:16 dillon Exp $ * created from DragonFly: src/sys/kern/syscalls.master,v 1.2 2003/06/17 04:28:41 dillon Exp */ diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk index ea790faac7..cfb11f7f36 100644 --- a/sys/sys/syscall.mk +++ b/sys/sys/syscall.mk @@ -1,6 +1,6 @@ # DragonFly system call names. # DO NOT EDIT-- this file is automatically generated. -# $DragonFly: src/sys/sys/syscall.mk,v 1.5 2003/07/24 23:52:39 dillon Exp $ +# $DragonFly: src/sys/sys/syscall.mk,v 1.6 2003/07/30 00:19:16 dillon Exp $ # created from DragonFly: src/sys/kern/syscalls.master,v 1.2 2003/06/17 04:28:41 dillon Exp MIASM = \ syscall.o \ diff --git a/sys/sys/sysmsg.h b/sys/sys/sysmsg.h new file mode 100644 index 0000000000..8fc6e099d0 --- /dev/null +++ b/sys/sys/sysmsg.h @@ -0,0 +1,38 @@ +/* + * SYS/SYSMSG.H + * + * $DragonFly: src/sys/sys/sysmsg.h,v 1.1 2003/07/30 00:19:16 dillon Exp $ + */ + +#ifndef _SYS_SYSMSG_H_ +#define _SYS_SYSMSG_H_ + +#ifndef _SYS_CALLOUT_H_ +#include +#endif + +/* + * The sysmsg structure holds out-of-band information for a system call + * that userland is not aware of and does not have to supply. It typically + * preceeds the syscall arguments in sys/sysunion.h + */ +union sysmsg { + struct lwkt_msg sm_msg; + struct { + struct lwkt_msg msg; + struct callout timer; + } sm_sleep; +}; + +#define sysmsg_result sysmsg.sm_msg.u.ms_result +#define sysmsg_lresult sysmsg.sm_msg.u.ms_lresult +#define sysmsg_resultp sysmsg.sm_msg.u.ms_resultp +#define sysmsg_fds sysmsg.sm_msg.u.ms_fds +#define sysmsg_offset sysmsg.sm_msg.u.ms_offset +#define sysmsg_result32 sysmsg.sm_msg.u.ms_result32 +#define sysmsg_result64 sysmsg.sm_msg.u.ms_result64 + +typedef union sysmsg *sysmsg_t; + +#endif + diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h index 7d36afa396..402f20482a 100644 --- a/sys/sys/sysproto.h +++ b/sys/sys/sysproto.h @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/sys/sysproto.h,v 1.5 2003/07/24 23:52:39 dillon Exp $ + * $DragonFly: src/sys/sys/sysproto.h,v 1.6 2003/07/30 00:19:16 dillon Exp $ * created from DragonFly: src/sys/kern/syscalls.master,v 1.2 2003/06/17 04:28:41 dillon Exp */ @@ -15,143 +15,145 @@ #include +#include + #define PAD_(t) (sizeof(register_t) <= sizeof(t) ? \ 0 : sizeof(register_t) - sizeof(t)) struct nosys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct sys_exit_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int rval; char rval_[PAD_(int)]; }; struct fork_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct read_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; void * buf; char buf_[PAD_(void *)]; size_t nbyte; char nbyte_[PAD_(size_t)]; }; struct write_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; const void * buf; char buf_[PAD_(const void *)]; size_t nbyte; char nbyte_[PAD_(size_t)]; }; struct open_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int flags; char flags_[PAD_(int)]; int mode; char mode_[PAD_(int)]; }; struct close_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; }; struct wait_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int pid; char pid_[PAD_(int)]; int * status; char status_[PAD_(int *)]; int options; char options_[PAD_(int)]; struct rusage * rusage; char rusage_[PAD_(struct rusage *)]; }; struct link_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; char * link; char link_[PAD_(char *)]; }; struct unlink_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; }; struct chdir_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; }; struct fchdir_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; }; struct mknod_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int mode; char mode_[PAD_(int)]; int dev; char dev_[PAD_(int)]; }; struct chmod_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int mode; char mode_[PAD_(int)]; }; struct chown_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int uid; char uid_[PAD_(int)]; int gid; char gid_[PAD_(int)]; }; struct obreak_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * nsize; char nsize_[PAD_(char *)]; }; struct getfsstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct statfs * buf; char buf_[PAD_(struct statfs *)]; long bufsize; char bufsize_[PAD_(long)]; int flags; char flags_[PAD_(int)]; }; struct getpid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct mount_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * type; char type_[PAD_(char *)]; char * path; char path_[PAD_(char *)]; int flags; char flags_[PAD_(int)]; caddr_t data; char data_[PAD_(caddr_t)]; }; struct unmount_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int flags; char flags_[PAD_(int)]; }; struct setuid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; uid_t uid; char uid_[PAD_(uid_t)]; }; struct getuid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct geteuid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct ptrace_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int req; char req_[PAD_(int)]; pid_t pid; char pid_[PAD_(pid_t)]; caddr_t addr; char addr_[PAD_(caddr_t)]; int data; char data_[PAD_(int)]; }; struct recvmsg_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; struct msghdr * msg; char msg_[PAD_(struct msghdr *)]; int flags; char flags_[PAD_(int)]; }; struct sendmsg_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; caddr_t msg; char msg_[PAD_(caddr_t)]; int flags; char flags_[PAD_(int)]; }; struct recvfrom_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; caddr_t buf; char buf_[PAD_(caddr_t)]; size_t len; char len_[PAD_(size_t)]; @@ -160,246 +162,246 @@ struct recvfrom_args { int * fromlenaddr; char fromlenaddr_[PAD_(int *)]; }; struct accept_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; caddr_t name; char name_[PAD_(caddr_t)]; int * anamelen; char anamelen_[PAD_(int *)]; }; struct getpeername_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fdes; char fdes_[PAD_(int)]; caddr_t asa; char asa_[PAD_(caddr_t)]; int * alen; char alen_[PAD_(int *)]; }; struct getsockname_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fdes; char fdes_[PAD_(int)]; caddr_t asa; char asa_[PAD_(caddr_t)]; int * alen; char alen_[PAD_(int *)]; }; struct access_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int flags; char flags_[PAD_(int)]; }; struct chflags_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int flags; char flags_[PAD_(int)]; }; struct fchflags_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int flags; char flags_[PAD_(int)]; }; struct sync_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct kill_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int pid; char pid_[PAD_(int)]; int signum; char signum_[PAD_(int)]; }; struct getppid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct dup_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; u_int fd; char fd_[PAD_(u_int)]; }; struct pipe_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct getegid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct profil_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; caddr_t samples; char samples_[PAD_(caddr_t)]; size_t size; char size_[PAD_(size_t)]; size_t offset; char offset_[PAD_(size_t)]; u_int scale; char scale_[PAD_(u_int)]; }; struct ktrace_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const char * fname; char fname_[PAD_(const char *)]; int ops; char ops_[PAD_(int)]; int facs; char facs_[PAD_(int)]; int pid; char pid_[PAD_(int)]; }; struct getgid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct getlogin_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * namebuf; char namebuf_[PAD_(char *)]; u_int namelen; char namelen_[PAD_(u_int)]; }; struct setlogin_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * namebuf; char namebuf_[PAD_(char *)]; }; struct acct_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; }; struct osigpending_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct sigaltstack_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; stack_t * ss; char ss_[PAD_(stack_t *)]; stack_t * oss; char oss_[PAD_(stack_t *)]; }; struct ioctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; u_long com; char com_[PAD_(u_long)]; caddr_t data; char data_[PAD_(caddr_t)]; }; struct reboot_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int opt; char opt_[PAD_(int)]; }; struct revoke_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; }; struct symlink_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; char * link; char link_[PAD_(char *)]; }; struct readlink_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; char * buf; char buf_[PAD_(char *)]; int count; char count_[PAD_(int)]; }; struct execve_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * fname; char fname_[PAD_(char *)]; char ** argv; char argv_[PAD_(char **)]; char ** envv; char envv_[PAD_(char **)]; }; struct umask_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int newmask; char newmask_[PAD_(int)]; }; struct chroot_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; }; struct getpagesize_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct msync_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; void * addr; char addr_[PAD_(void *)]; size_t len; char len_[PAD_(size_t)]; int flags; char flags_[PAD_(int)]; }; struct vfork_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct sbrk_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int incr; char incr_[PAD_(int)]; }; struct sstk_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int incr; char incr_[PAD_(int)]; }; struct ovadvise_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int anom; char anom_[PAD_(int)]; }; struct munmap_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; void * addr; char addr_[PAD_(void *)]; size_t len; char len_[PAD_(size_t)]; }; struct mprotect_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const void * addr; char addr_[PAD_(const void *)]; size_t len; char len_[PAD_(size_t)]; int prot; char prot_[PAD_(int)]; }; struct madvise_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; void * addr; char addr_[PAD_(void *)]; size_t len; char len_[PAD_(size_t)]; int behav; char behav_[PAD_(int)]; }; struct mincore_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const void * addr; char addr_[PAD_(const void *)]; size_t len; char len_[PAD_(size_t)]; char * vec; char vec_[PAD_(char *)]; }; struct getgroups_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; u_int gidsetsize; char gidsetsize_[PAD_(u_int)]; gid_t * gidset; char gidset_[PAD_(gid_t *)]; }; struct setgroups_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; u_int gidsetsize; char gidsetsize_[PAD_(u_int)]; gid_t * gidset; char gidset_[PAD_(gid_t *)]; }; struct getpgrp_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct setpgid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int pid; char pid_[PAD_(int)]; int pgid; char pgid_[PAD_(int)]; }; struct setitimer_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; u_int which; char which_[PAD_(u_int)]; struct itimerval * itv; char itv_[PAD_(struct itimerval *)]; struct itimerval * oitv; char oitv_[PAD_(struct itimerval *)]; }; struct owait_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct swapon_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * name; char name_[PAD_(char *)]; }; struct getitimer_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; u_int which; char which_[PAD_(u_int)]; struct itimerval * itv; char itv_[PAD_(struct itimerval *)]; }; struct getdtablesize_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct dup2_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; u_int from; char from_[PAD_(u_int)]; u_int to; char to_[PAD_(u_int)]; }; struct fcntl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int cmd; char cmd_[PAD_(int)]; long arg; char arg_[PAD_(long)]; }; struct select_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int nd; char nd_[PAD_(int)]; fd_set * in; char in_[PAD_(fd_set *)]; fd_set * ou; char ou_[PAD_(fd_set *)]; @@ -407,40 +409,40 @@ struct select_args { struct timeval * tv; char tv_[PAD_(struct timeval *)]; }; struct fsync_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; }; struct setpriority_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int which; char which_[PAD_(int)]; int who; char who_[PAD_(int)]; int prio; char prio_[PAD_(int)]; }; struct socket_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int domain; char domain_[PAD_(int)]; int type; char type_[PAD_(int)]; int protocol; char protocol_[PAD_(int)]; }; struct connect_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; caddr_t name; char name_[PAD_(caddr_t)]; int namelen; char namelen_[PAD_(int)]; }; struct getpriority_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int which; char which_[PAD_(int)]; int who; char who_[PAD_(int)]; }; struct bind_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; caddr_t name; char name_[PAD_(caddr_t)]; int namelen; char namelen_[PAD_(int)]; }; struct setsockopt_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; int level; char level_[PAD_(int)]; int name; char name_[PAD_(int)]; @@ -448,22 +450,22 @@ struct setsockopt_args { int valsize; char valsize_[PAD_(int)]; }; struct listen_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; int backlog; char backlog_[PAD_(int)]; }; struct gettimeofday_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct timeval * tp; char tp_[PAD_(struct timeval *)]; struct timezone * tzp; char tzp_[PAD_(struct timezone *)]; }; struct getrusage_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int who; char who_[PAD_(int)]; struct rusage * rusage; char rusage_[PAD_(struct rusage *)]; }; struct getsockopt_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; int level; char level_[PAD_(int)]; int name; char name_[PAD_(int)]; @@ -471,60 +473,60 @@ struct getsockopt_args { int * avalsize; char avalsize_[PAD_(int *)]; }; struct readv_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct iovec * iovp; char iovp_[PAD_(struct iovec *)]; u_int iovcnt; char iovcnt_[PAD_(u_int)]; }; struct writev_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct iovec * iovp; char iovp_[PAD_(struct iovec *)]; u_int iovcnt; char iovcnt_[PAD_(u_int)]; }; struct settimeofday_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct timeval * tv; char tv_[PAD_(struct timeval *)]; struct timezone * tzp; char tzp_[PAD_(struct timezone *)]; }; struct fchown_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int uid; char uid_[PAD_(int)]; int gid; char gid_[PAD_(int)]; }; struct fchmod_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int mode; char mode_[PAD_(int)]; }; struct setreuid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int ruid; char ruid_[PAD_(int)]; int euid; char euid_[PAD_(int)]; }; struct setregid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int rgid; char rgid_[PAD_(int)]; int egid; char egid_[PAD_(int)]; }; struct rename_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * from; char from_[PAD_(char *)]; char * to; char to_[PAD_(char *)]; }; struct flock_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int how; char how_[PAD_(int)]; }; struct mkfifo_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int mode; char mode_[PAD_(int)]; }; struct sendto_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; caddr_t buf; char buf_[PAD_(caddr_t)]; size_t len; char len_[PAD_(size_t)]; @@ -533,102 +535,102 @@ struct sendto_args { int tolen; char tolen_[PAD_(int)]; }; struct shutdown_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; int how; char how_[PAD_(int)]; }; struct socketpair_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int domain; char domain_[PAD_(int)]; int type; char type_[PAD_(int)]; int protocol; char protocol_[PAD_(int)]; int * rsv; char rsv_[PAD_(int *)]; }; struct mkdir_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int mode; char mode_[PAD_(int)]; }; struct rmdir_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; }; struct utimes_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct timeval * tptr; char tptr_[PAD_(struct timeval *)]; }; struct adjtime_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct timeval * delta; char delta_[PAD_(struct timeval *)]; struct timeval * olddelta; char olddelta_[PAD_(struct timeval *)]; }; struct ogethostid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct setsid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct quotactl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int cmd; char cmd_[PAD_(int)]; int uid; char uid_[PAD_(int)]; caddr_t arg; char arg_[PAD_(caddr_t)]; }; struct oquota_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct nfssvc_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int flag; char flag_[PAD_(int)]; caddr_t argp; char argp_[PAD_(caddr_t)]; }; struct statfs_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct statfs * buf; char buf_[PAD_(struct statfs *)]; }; struct fstatfs_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct statfs * buf; char buf_[PAD_(struct statfs *)]; }; struct getfh_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * fname; char fname_[PAD_(char *)]; struct fhandle * fhp; char fhp_[PAD_(struct fhandle *)]; }; struct getdomainname_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * domainname; char domainname_[PAD_(char *)]; int len; char len_[PAD_(int)]; }; struct setdomainname_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * domainname; char domainname_[PAD_(char *)]; int len; char len_[PAD_(int)]; }; struct uname_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct utsname * name; char name_[PAD_(struct utsname *)]; }; struct sysarch_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int op; char op_[PAD_(int)]; char * parms; char parms_[PAD_(char *)]; }; struct rtprio_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int function; char function_[PAD_(int)]; pid_t pid; char pid_[PAD_(pid_t)]; struct rtprio * rtp; char rtp_[PAD_(struct rtprio *)]; }; struct semsys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int which; char which_[PAD_(int)]; int a2; char a2_[PAD_(int)]; int a3; char a3_[PAD_(int)]; @@ -636,7 +638,7 @@ struct semsys_args { int a5; char a5_[PAD_(int)]; }; struct msgsys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int which; char which_[PAD_(int)]; int a2; char a2_[PAD_(int)]; int a3; char a3_[PAD_(int)]; @@ -645,14 +647,14 @@ struct msgsys_args { int a6; char a6_[PAD_(int)]; }; struct shmsys_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int which; char which_[PAD_(int)]; int a2; char a2_[PAD_(int)]; int a3; char a3_[PAD_(int)]; int a4; char a4_[PAD_(int)]; }; struct pread_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; void * buf; char buf_[PAD_(void *)]; size_t nbyte; char nbyte_[PAD_(size_t)]; @@ -660,7 +662,7 @@ struct pread_args { off_t offset; char offset_[PAD_(off_t)]; }; struct pwrite_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; const void * buf; char buf_[PAD_(const void *)]; size_t nbyte; char nbyte_[PAD_(size_t)]; @@ -668,65 +670,65 @@ struct pwrite_args { off_t offset; char offset_[PAD_(off_t)]; }; struct ntp_adjtime_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct timex * tp; char tp_[PAD_(struct timex *)]; }; struct setgid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; gid_t gid; char gid_[PAD_(gid_t)]; }; struct setegid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; gid_t egid; char egid_[PAD_(gid_t)]; }; struct seteuid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; uid_t euid; char euid_[PAD_(uid_t)]; }; struct stat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct stat * ub; char ub_[PAD_(struct stat *)]; }; struct fstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct stat * sb; char sb_[PAD_(struct stat *)]; }; struct lstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct stat * ub; char ub_[PAD_(struct stat *)]; }; struct pathconf_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int name; char name_[PAD_(int)]; }; struct fpathconf_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int name; char name_[PAD_(int)]; }; struct __getrlimit_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; u_int which; char which_[PAD_(u_int)]; struct rlimit * rlp; char rlp_[PAD_(struct rlimit *)]; }; struct __setrlimit_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; u_int which; char which_[PAD_(u_int)]; struct rlimit * rlp; char rlp_[PAD_(struct rlimit *)]; }; struct getdirentries_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; char * buf; char buf_[PAD_(char *)]; u_int count; char count_[PAD_(u_int)]; long * basep; char basep_[PAD_(long *)]; }; struct mmap_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; caddr_t addr; char addr_[PAD_(caddr_t)]; size_t len; char len_[PAD_(size_t)]; int prot; char prot_[PAD_(int)]; @@ -736,26 +738,26 @@ struct mmap_args { off_t pos; char pos_[PAD_(off_t)]; }; struct lseek_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int pad; char pad_[PAD_(int)]; off_t offset; char offset_[PAD_(off_t)]; int whence; char whence_[PAD_(int)]; }; struct truncate_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int pad; char pad_[PAD_(int)]; off_t length; char length_[PAD_(off_t)]; }; struct ftruncate_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int pad; char pad_[PAD_(int)]; off_t length; char length_[PAD_(off_t)]; }; struct sysctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int * name; char name_[PAD_(int *)]; u_int namelen; char namelen_[PAD_(u_int)]; void * old; char old_[PAD_(void *)]; @@ -764,73 +766,73 @@ struct sysctl_args { size_t newlen; char newlen_[PAD_(size_t)]; }; struct mlock_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const void * addr; char addr_[PAD_(const void *)]; size_t len; char len_[PAD_(size_t)]; }; struct munlock_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const void * addr; char addr_[PAD_(const void *)]; size_t len; char len_[PAD_(size_t)]; }; struct undelete_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; }; struct futimes_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct timeval * tptr; char tptr_[PAD_(struct timeval *)]; }; struct getpgid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; pid_t pid; char pid_[PAD_(pid_t)]; }; struct poll_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct pollfd * fds; char fds_[PAD_(struct pollfd *)]; u_int nfds; char nfds_[PAD_(u_int)]; int timeout; char timeout_[PAD_(int)]; }; struct __semctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int semid; char semid_[PAD_(int)]; int semnum; char semnum_[PAD_(int)]; int cmd; char cmd_[PAD_(int)]; union semun * arg; char arg_[PAD_(union semun *)]; }; struct semget_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; key_t key; char key_[PAD_(key_t)]; int nsems; char nsems_[PAD_(int)]; int semflg; char semflg_[PAD_(int)]; }; struct semop_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int semid; char semid_[PAD_(int)]; struct sembuf * sops; char sops_[PAD_(struct sembuf *)]; u_int nsops; char nsops_[PAD_(u_int)]; }; struct msgctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int msqid; char msqid_[PAD_(int)]; int cmd; char cmd_[PAD_(int)]; struct msqid_ds * buf; char buf_[PAD_(struct msqid_ds *)]; }; struct msgget_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; key_t key; char key_[PAD_(key_t)]; int msgflg; char msgflg_[PAD_(int)]; }; struct msgsnd_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int msqid; char msqid_[PAD_(int)]; void * msgp; char msgp_[PAD_(void *)]; size_t msgsz; char msgsz_[PAD_(size_t)]; int msgflg; char msgflg_[PAD_(int)]; }; struct msgrcv_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int msqid; char msqid_[PAD_(int)]; void * msgp; char msgp_[PAD_(void *)]; size_t msgsz; char msgsz_[PAD_(size_t)]; @@ -838,407 +840,407 @@ struct msgrcv_args { int msgflg; char msgflg_[PAD_(int)]; }; struct shmat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int shmid; char shmid_[PAD_(int)]; void * shmaddr; char shmaddr_[PAD_(void *)]; int shmflg; char shmflg_[PAD_(int)]; }; struct shmctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int shmid; char shmid_[PAD_(int)]; int cmd; char cmd_[PAD_(int)]; struct shmid_ds * buf; char buf_[PAD_(struct shmid_ds *)]; }; struct shmdt_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; void * shmaddr; char shmaddr_[PAD_(void *)]; }; struct shmget_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; key_t key; char key_[PAD_(key_t)]; int size; char size_[PAD_(int)]; int shmflg; char shmflg_[PAD_(int)]; }; struct clock_gettime_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; clockid_t clock_id; char clock_id_[PAD_(clockid_t)]; struct timespec * tp; char tp_[PAD_(struct timespec *)]; }; struct clock_settime_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; clockid_t clock_id; char clock_id_[PAD_(clockid_t)]; const struct timespec * tp; char tp_[PAD_(const struct timespec *)]; }; struct clock_getres_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; clockid_t clock_id; char clock_id_[PAD_(clockid_t)]; struct timespec * tp; char tp_[PAD_(struct timespec *)]; }; struct nanosleep_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const struct timespec * rqtp; char rqtp_[PAD_(const struct timespec *)]; struct timespec * rmtp; char rmtp_[PAD_(struct timespec *)]; }; struct minherit_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; void * addr; char addr_[PAD_(void *)]; size_t len; char len_[PAD_(size_t)]; int inherit; char inherit_[PAD_(int)]; }; struct rfork_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int flags; char flags_[PAD_(int)]; }; struct openbsd_poll_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct pollfd * fds; char fds_[PAD_(struct pollfd *)]; u_int nfds; char nfds_[PAD_(u_int)]; int timeout; char timeout_[PAD_(int)]; }; struct issetugid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct lchown_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int uid; char uid_[PAD_(int)]; int gid; char gid_[PAD_(int)]; }; struct getdents_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; char * buf; char buf_[PAD_(char *)]; size_t count; char count_[PAD_(size_t)]; }; struct lchmod_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; mode_t mode; char mode_[PAD_(mode_t)]; }; struct lutimes_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct timeval * tptr; char tptr_[PAD_(struct timeval *)]; }; struct nstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct nstat * ub; char ub_[PAD_(struct nstat *)]; }; struct nfstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct nstat * sb; char sb_[PAD_(struct nstat *)]; }; struct nlstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct nstat * ub; char ub_[PAD_(struct nstat *)]; }; struct fhstatfs_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const struct fhandle * u_fhp; char u_fhp_[PAD_(const struct fhandle *)]; struct statfs * buf; char buf_[PAD_(struct statfs *)]; }; struct fhopen_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const struct fhandle * u_fhp; char u_fhp_[PAD_(const struct fhandle *)]; int flags; char flags_[PAD_(int)]; }; struct fhstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const struct fhandle * u_fhp; char u_fhp_[PAD_(const struct fhandle *)]; struct stat * sb; char sb_[PAD_(struct stat *)]; }; struct modnext_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int modid; char modid_[PAD_(int)]; }; struct modstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int modid; char modid_[PAD_(int)]; struct module_stat * stat; char stat_[PAD_(struct module_stat *)]; }; struct modfnext_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int modid; char modid_[PAD_(int)]; }; struct modfind_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const char * name; char name_[PAD_(const char *)]; }; struct kldload_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const char * file; char file_[PAD_(const char *)]; }; struct kldunload_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fileid; char fileid_[PAD_(int)]; }; struct kldfind_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const char * file; char file_[PAD_(const char *)]; }; struct kldnext_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fileid; char fileid_[PAD_(int)]; }; struct kldstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fileid; char fileid_[PAD_(int)]; struct kld_file_stat * stat; char stat_[PAD_(struct kld_file_stat *)]; }; struct kldfirstmod_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fileid; char fileid_[PAD_(int)]; }; struct getsid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; pid_t pid; char pid_[PAD_(pid_t)]; }; struct setresuid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; uid_t ruid; char ruid_[PAD_(uid_t)]; uid_t euid; char euid_[PAD_(uid_t)]; uid_t suid; char suid_[PAD_(uid_t)]; }; struct setresgid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; gid_t rgid; char rgid_[PAD_(gid_t)]; gid_t egid; char egid_[PAD_(gid_t)]; gid_t sgid; char sgid_[PAD_(gid_t)]; }; struct aio_return_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct aiocb * aiocbp; char aiocbp_[PAD_(struct aiocb *)]; }; struct aio_suspend_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct aiocb *const * aiocbp; char aiocbp_[PAD_(struct aiocb *const *)]; int nent; char nent_[PAD_(int)]; const struct timespec * timeout; char timeout_[PAD_(const struct timespec *)]; }; struct aio_cancel_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct aiocb * aiocbp; char aiocbp_[PAD_(struct aiocb *)]; }; struct aio_error_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct aiocb * aiocbp; char aiocbp_[PAD_(struct aiocb *)]; }; struct aio_read_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct aiocb * aiocbp; char aiocbp_[PAD_(struct aiocb *)]; }; struct aio_write_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct aiocb * aiocbp; char aiocbp_[PAD_(struct aiocb *)]; }; struct lio_listio_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int mode; char mode_[PAD_(int)]; struct aiocb *const * acb_list; char acb_list_[PAD_(struct aiocb *const *)]; int nent; char nent_[PAD_(int)]; struct sigevent * sig; char sig_[PAD_(struct sigevent *)]; }; struct yield_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct thr_sleep_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const struct timespec * timeout; char timeout_[PAD_(const struct timespec *)]; }; struct thr_wakeup_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; pid_t pid; char pid_[PAD_(pid_t)]; }; struct mlockall_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int how; char how_[PAD_(int)]; }; struct munlockall_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct __getcwd_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; u_char * buf; char buf_[PAD_(u_char *)]; u_int buflen; char buflen_[PAD_(u_int)]; }; struct sched_setparam_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; pid_t pid; char pid_[PAD_(pid_t)]; const struct sched_param * param; char param_[PAD_(const struct sched_param *)]; }; struct sched_getparam_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; pid_t pid; char pid_[PAD_(pid_t)]; struct sched_param * param; char param_[PAD_(struct sched_param *)]; }; struct sched_setscheduler_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; pid_t pid; char pid_[PAD_(pid_t)]; int policy; char policy_[PAD_(int)]; const struct sched_param * param; char param_[PAD_(const struct sched_param *)]; }; struct sched_getscheduler_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; pid_t pid; char pid_[PAD_(pid_t)]; }; struct sched_yield_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct sched_get_priority_max_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int policy; char policy_[PAD_(int)]; }; struct sched_get_priority_min_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int policy; char policy_[PAD_(int)]; }; struct sched_rr_get_interval_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; pid_t pid; char pid_[PAD_(pid_t)]; struct timespec * interval; char interval_[PAD_(struct timespec *)]; }; struct utrace_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const void * addr; char addr_[PAD_(const void *)]; size_t len; char len_[PAD_(size_t)]; }; struct kldsym_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fileid; char fileid_[PAD_(int)]; int cmd; char cmd_[PAD_(int)]; void * data; char data_[PAD_(void *)]; }; struct jail_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct jail * jail; char jail_[PAD_(struct jail *)]; }; struct sigprocmask_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int how; char how_[PAD_(int)]; const sigset_t * set; char set_[PAD_(const sigset_t *)]; sigset_t * oset; char oset_[PAD_(sigset_t *)]; }; struct sigsuspend_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const sigset_t * sigmask; char sigmask_[PAD_(const sigset_t *)]; }; struct sigaction_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int sig; char sig_[PAD_(int)]; const struct sigaction * act; char act_[PAD_(const struct sigaction *)]; struct sigaction * oact; char oact_[PAD_(struct sigaction *)]; }; struct sigpending_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; sigset_t * set; char set_[PAD_(sigset_t *)]; }; struct sigreturn_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; ucontext_t * sigcntxp; char sigcntxp_[PAD_(ucontext_t *)]; }; struct __acl_get_file_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const char * path; char path_[PAD_(const char *)]; acl_type_t type; char type_[PAD_(acl_type_t)]; struct acl * aclp; char aclp_[PAD_(struct acl *)]; }; struct __acl_set_file_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const char * path; char path_[PAD_(const char *)]; acl_type_t type; char type_[PAD_(acl_type_t)]; struct acl * aclp; char aclp_[PAD_(struct acl *)]; }; struct __acl_get_fd_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int filedes; char filedes_[PAD_(int)]; acl_type_t type; char type_[PAD_(acl_type_t)]; struct acl * aclp; char aclp_[PAD_(struct acl *)]; }; struct __acl_set_fd_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int filedes; char filedes_[PAD_(int)]; acl_type_t type; char type_[PAD_(acl_type_t)]; struct acl * aclp; char aclp_[PAD_(struct acl *)]; }; struct __acl_delete_file_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const char * path; char path_[PAD_(const char *)]; acl_type_t type; char type_[PAD_(acl_type_t)]; }; struct __acl_delete_fd_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int filedes; char filedes_[PAD_(int)]; acl_type_t type; char type_[PAD_(acl_type_t)]; }; struct __acl_aclcheck_file_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const char * path; char path_[PAD_(const char *)]; acl_type_t type; char type_[PAD_(acl_type_t)]; struct acl * aclp; char aclp_[PAD_(struct acl *)]; }; struct __acl_aclcheck_fd_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int filedes; char filedes_[PAD_(int)]; acl_type_t type; char type_[PAD_(acl_type_t)]; struct acl * aclp; char aclp_[PAD_(struct acl *)]; }; struct extattrctl_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const char * path; char path_[PAD_(const char *)]; int cmd; char cmd_[PAD_(int)]; const char * attrname; char attrname_[PAD_(const char *)]; char * arg; char arg_[PAD_(char *)]; }; struct extattr_set_file_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const char * path; char path_[PAD_(const char *)]; const char * attrname; char attrname_[PAD_(const char *)]; struct iovec * iovp; char iovp_[PAD_(struct iovec *)]; unsigned iovcnt; char iovcnt_[PAD_(unsigned)]; }; struct extattr_get_file_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const char * path; char path_[PAD_(const char *)]; const char * attrname; char attrname_[PAD_(const char *)]; struct iovec * iovp; char iovp_[PAD_(struct iovec *)]; unsigned iovcnt; char iovcnt_[PAD_(unsigned)]; }; struct extattr_delete_file_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; const char * path; char path_[PAD_(const char *)]; const char * attrname; char attrname_[PAD_(const char *)]; }; struct aio_waitcomplete_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct aiocb ** aiocbp; char aiocbp_[PAD_(struct aiocb **)]; struct timespec * timeout; char timeout_[PAD_(struct timespec *)]; }; struct getresuid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; uid_t * ruid; char ruid_[PAD_(uid_t *)]; uid_t * euid; char euid_[PAD_(uid_t *)]; uid_t * suid; char suid_[PAD_(uid_t *)]; }; struct getresgid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; gid_t * rgid; char rgid_[PAD_(gid_t *)]; gid_t * egid; char egid_[PAD_(gid_t *)]; gid_t * sgid; char sgid_[PAD_(gid_t *)]; }; struct kqueue_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; register_t dummy; }; struct kevent_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; const struct kevent * changelist; char changelist_[PAD_(const struct kevent *)]; int nchanges; char nchanges_[PAD_(int)]; @@ -1247,7 +1249,7 @@ struct kevent_args { const struct timespec * timeout; char timeout_[PAD_(const struct timespec *)]; }; struct sendfile_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int s; char s_[PAD_(int)]; off_t offset; char offset_[PAD_(off_t)]; @@ -1496,51 +1498,51 @@ int sendfile __P((struct sendfile_args *)); #ifdef COMPAT_43 struct ocreat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; int mode; char mode_[PAD_(int)]; }; struct olseek_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; long offset; char offset_[PAD_(long)]; int whence; char whence_[PAD_(int)]; }; struct ostat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct ostat * ub; char ub_[PAD_(struct ostat *)]; }; struct olstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; struct ostat * ub; char ub_[PAD_(struct ostat *)]; }; struct osigaction_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int signum; char signum_[PAD_(int)]; struct osigaction * nsa; char nsa_[PAD_(struct osigaction *)]; struct osigaction * osa; char osa_[PAD_(struct osigaction *)]; }; struct osigprocmask_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int how; char how_[PAD_(int)]; osigset_t mask; char mask_[PAD_(osigset_t)]; }; struct ofstat_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; struct ostat * sb; char sb_[PAD_(struct ostat *)]; }; struct getkerninfo_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int op; char op_[PAD_(int)]; char * where; char where_[PAD_(char *)]; size_t * size; char size_[PAD_(size_t *)]; int arg; char arg_[PAD_(int)]; }; struct ommap_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; void * addr; char addr_[PAD_(void *)]; int len; char len_[PAD_(int)]; int prot; char prot_[PAD_(int)]; @@ -1549,112 +1551,112 @@ struct ommap_args { long pos; char pos_[PAD_(long)]; }; struct gethostname_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * hostname; char hostname_[PAD_(char *)]; u_int len; char len_[PAD_(u_int)]; }; struct sethostname_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * hostname; char hostname_[PAD_(char *)]; u_int len; char len_[PAD_(u_int)]; }; struct osend_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; caddr_t buf; char buf_[PAD_(caddr_t)]; int len; char len_[PAD_(int)]; int flags; char flags_[PAD_(int)]; }; struct orecv_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; caddr_t buf; char buf_[PAD_(caddr_t)]; int len; char len_[PAD_(int)]; int flags; char flags_[PAD_(int)]; }; struct osigreturn_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct osigcontext * sigcntxp; char sigcntxp_[PAD_(struct osigcontext *)]; }; struct osigvec_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int signum; char signum_[PAD_(int)]; struct sigvec * nsv; char nsv_[PAD_(struct sigvec *)]; struct sigvec * osv; char osv_[PAD_(struct sigvec *)]; }; struct osigblock_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int mask; char mask_[PAD_(int)]; }; struct osigsetmask_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int mask; char mask_[PAD_(int)]; }; struct osigsuspend_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; osigset_t mask; char mask_[PAD_(osigset_t)]; }; struct osigstack_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; struct sigstack * nss; char nss_[PAD_(struct sigstack *)]; struct sigstack * oss; char oss_[PAD_(struct sigstack *)]; }; struct orecvmsg_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; struct omsghdr * msg; char msg_[PAD_(struct omsghdr *)]; int flags; char flags_[PAD_(int)]; }; struct osendmsg_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int s; char s_[PAD_(int)]; caddr_t msg; char msg_[PAD_(caddr_t)]; int flags; char flags_[PAD_(int)]; }; struct otruncate_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; char * path; char path_[PAD_(char *)]; long length; char length_[PAD_(long)]; }; struct oftruncate_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; long length; char length_[PAD_(long)]; }; struct ogetpeername_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fdes; char fdes_[PAD_(int)]; caddr_t asa; char asa_[PAD_(caddr_t)]; int * alen; char alen_[PAD_(int *)]; }; struct osethostid_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; long hostid; char hostid_[PAD_(long)]; }; struct ogetrlimit_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; u_int which; char which_[PAD_(u_int)]; struct orlimit * rlp; char rlp_[PAD_(struct orlimit *)]; }; struct osetrlimit_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; u_int which; char which_[PAD_(u_int)]; struct orlimit * rlp; char rlp_[PAD_(struct orlimit *)]; }; struct okillpg_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int pgid; char pgid_[PAD_(int)]; int signum; char signum_[PAD_(int)]; }; struct ogetdirentries_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; char * buf; char buf_[PAD_(char *)]; u_int count; char count_[PAD_(u_int)]; long * basep; char basep_[PAD_(long *)]; }; struct osendfile_args { - struct lwkt_msg lmsg; + union sysmsg sysmsg; int fd; char fd_[PAD_(int)]; int s; char s_[PAD_(int)]; off_t offset; char offset_[PAD_(off_t)]; diff --git a/sys/sys/sysunion.h b/sys/sys/sysunion.h index 3fb2ff3151..af69d3dce8 100644 --- a/sys/sys/sysunion.h +++ b/sys/sys/sysunion.h @@ -2,12 +2,13 @@ * Union of syscall args for messaging. * * DO NOT EDIT-- this file is automatically generated. - * $DragonFly: src/sys/sys/sysunion.h,v 1.2 2003/07/24 23:52:39 dillon Exp $ + * $DragonFly: src/sys/sys/sysunion.h,v 1.3 2003/07/30 00:19:16 dillon Exp $ * created from DragonFly: src/sys/kern/syscalls.master,v 1.2 2003/06/17 04:28:41 dillon Exp */ union sysunion { - struct lwkt_msg lmsg; + struct lwkt_msg lmsg; + union sysmsg sysmsg; struct nosys_args nosys; struct sys_exit_args sys_exit; struct fork_args fork; @@ -334,5 +335,3 @@ union sysunion { struct kevent_args kevent; struct sendfile_args sendfile; }; - -typedef union sysunion *sysmsg_t; diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index 697e4dea2d..463e1b4c43 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -39,7 +39,7 @@ * * @(#)vm_mmap.c 8.4 (Berkeley) 1/12/94 * $FreeBSD: src/sys/vm/vm_mmap.c,v 1.108.2.6 2002/07/02 20:06:19 dillon Exp $ - * $DragonFly: src/sys/vm/vm_mmap.c,v 1.9 2003/07/26 22:10:02 rob Exp $ + * $DragonFly: src/sys/vm/vm_mmap.c,v 1.10 2003/07/30 00:19:16 dillon Exp $ */ /* @@ -131,7 +131,7 @@ sstk(struct sstk_args *uap) int ogetpagesize(struct getpagesize_args *uap) { - uap->lmsg.u.ms_result = PAGE_SIZE; + uap->sysmsg_result = PAGE_SIZE; return (0); } #endif /* COMPAT_43 || COMPAT_SUNOS */ @@ -384,7 +384,7 @@ mmap(struct mmap_args *uap) error = vm_mmap(&vms->vm_map, &addr, size, prot, maxprot, flags, handle, pos); if (error == 0) - uap->lmsg.u.ms_resultp = (void *)(addr + pageoff); + uap->sysmsg_resultp = (void *)(addr + pageoff); done: if (fp) fdrop(fp, td);