This is a major cleanup of the LWKT message port code. The messaging code
authorMatthew Dillon <dillon@dragonflybsd.org>
Thu, 20 Nov 2003 06:05:31 +0000 (06:05 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Thu, 20 Nov 2003 06:05:31 +0000 (06:05 +0000)
is getting closer to being directly useable by userland.  With these changes
message/port operations are now far better abstracted then they were before.

    * Stale fields have been removed from struct lwkt_msg.
    * lwkt_abortmsg() has been revamped to make it easier to support.
    * lwkt_waitmsg has been converted to a port function.
    * mp_*port() function fields have been renamed for better readability.
    * ms_cleanupmsg has been removed from struct lwkt_msg.
    * Union sysmsg is now struct sysmsg.
    * A copyout function has been added to struct sysmsg.
    * The system calls have been regenerated.

45 files changed:
sys/checkpt/checkpt.h
sys/emulation/ibcs2/i386/ibcs2_isc_syscall.h
sys/emulation/ibcs2/i386/ibcs2_isc_sysent.c
sys/emulation/ibcs2/i386/ibcs2_proto.h
sys/emulation/ibcs2/i386/ibcs2_syscall.h
sys/emulation/ibcs2/i386/ibcs2_sysent.c
sys/emulation/ibcs2/i386/ibcs2_union.h
sys/emulation/ibcs2/i386/ibcs2_xenix.h
sys/emulation/ibcs2/i386/ibcs2_xenix_syscall.h
sys/emulation/ibcs2/i386/ibcs2_xenix_sysent.c
sys/emulation/linux/i386/linux_proto.h
sys/emulation/linux/i386/linux_syscall.h
sys/emulation/linux/i386/linux_sysent.c
sys/emulation/linux/i386/linux_union.h
sys/emulation/linux/linux_ipc.h
sys/emulation/svr4/svr4_proto.h
sys/emulation/svr4/svr4_stat.c
sys/emulation/svr4/svr4_syscall.h
sys/emulation/svr4/svr4_syscallnames.c
sys/emulation/svr4/svr4_sysent.c
sys/emulation/svr4/svr4_union.h
sys/i386/i386/trap.c
sys/kern/init_sysent.c
sys/kern/kern_device.c
sys/kern/kern_time.c
sys/kern/lwkt_msgport.c
sys/kern/makesyscalls.sh
sys/kern/subr_disk.c
sys/kern/syscalls.c
sys/kern/sysv_shm.c
sys/kern/tty_cons.c
sys/net/netisr.c
sys/netinet/ip_demux.c
sys/netproto/ncp/ncp_mod.c
sys/platform/pc32/i386/trap.c
sys/sys/globaldata.h
sys/sys/msgport.h
sys/sys/msgport2.h
sys/sys/syscall-hide.h
sys/sys/syscall.h
sys/sys/syscall.mk
sys/sys/sysent.h
sys/sys/sysmsg.h
sys/sys/sysproto.h
sys/sys/sysunion.h

index f47509b..6c6a04a 100644 (file)
@@ -22,7 +22,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $DragonFly: src/sys/checkpt/Attic/checkpt.h,v 1.1 2003/10/20 04:48:42 dillon Exp $
+ * $DragonFly: src/sys/checkpt/Attic/checkpt.h,v 1.2 2003/11/20 06:05:27 dillon Exp $
  */
 
 #ifndef PRIVATE_CKPT_H_
@@ -61,7 +61,7 @@ struct ckpt_thaw_bin_args {
 };
 
 struct ckpt_args {
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
        union usrmsg usrmsg;
        union {
                struct ckpt_generic_args gen;
index 2555276..bf1691d 100644 (file)
@@ -2,7 +2,7 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_isc_syscall.h,v 1.7 2003/08/27 06:30:03 rob Exp $
+ * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_isc_syscall.h,v 1.8 2003/11/20 06:05:29 dillon Exp $
  * created from DragonFly: src/sys/emulation/ibcs2/i386/syscalls.isc,v 1.3 2003/08/07 21:17:17 dillon Exp 
  */
 
index 59537e8..31f3c04 100644 (file)
@@ -2,7 +2,7 @@
  * 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.7 2003/08/27 06:30:03 rob Exp $
+ * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_isc_sysent.c,v 1.8 2003/11/20 06:05:29 dillon Exp $
  * created from DragonFly: src/sys/emulation/ibcs2/i386/syscalls.isc,v 1.3 2003/08/07 21:17:17 dillon Exp 
  */
 
@@ -14,7 +14,7 @@
 #include "ibcs2_proto.h"
 #include "ibcs2_xenix.h"
 
-#define AS(name) ((sizeof(struct name) - sizeof(union sysmsg) - sizeof(union usrmsg)) / sizeof(register_t))
+#define AS(name) ((sizeof(struct name) - sizeof(struct sysmsg) - sizeof(union usrmsg)) / sizeof(register_t))
 
 /* The casts are bogus but will do for now. */
 struct sysent isc_sysent[] = {
index 043b50c..769a715 100644 (file)
@@ -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.9 2003/08/27 06:30:03 rob Exp $
+ * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_proto.h,v 1.10 2003/11/20 06:05:29 dillon Exp $
  * created from DragonFly: src/sys/emulation/ibcs2/i386/syscalls.master,v 1.3 2003/08/07 21:17:17 dillon Exp 
  */
 
@@ -22,7 +22,7 @@
 
 struct ibcs2_read_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -31,7 +31,7 @@ struct        ibcs2_read_args {
 };
 struct ibcs2_open_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -40,7 +40,7 @@ struct        ibcs2_open_args {
 };
 struct ibcs2_wait_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     a1;     char a1_[PAD_(int)];
@@ -49,7 +49,7 @@ struct        ibcs2_wait_args {
 };
 struct ibcs2_creat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -57,14 +57,14 @@ struct      ibcs2_creat_args {
 };
 struct ibcs2_unlink_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
 };
 struct ibcs2_execv_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -72,21 +72,21 @@ struct      ibcs2_execv_args {
 };
 struct ibcs2_chdir_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
 };
 struct ibcs2_time_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        ibcs2_time_t *  tp;     char tp_[PAD_(ibcs2_time_t *)];
 };
 struct ibcs2_mknod_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -95,7 +95,7 @@ struct        ibcs2_mknod_args {
 };
 struct ibcs2_chmod_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -103,7 +103,7 @@ struct      ibcs2_chmod_args {
 };
 struct ibcs2_chown_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -112,7 +112,7 @@ struct      ibcs2_chown_args {
 };
 struct ibcs2_stat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -120,7 +120,7 @@ struct      ibcs2_stat_args {
 };
 struct ibcs2_lseek_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -129,7 +129,7 @@ struct      ibcs2_lseek_args {
 };
 struct ibcs2_mount_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  special;        char special_[PAD_(char *)];
@@ -141,35 +141,35 @@ struct    ibcs2_mount_args {
 };
 struct ibcs2_umount_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  name;   char name_[PAD_(char *)];
 };
 struct ibcs2_setuid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     uid;    char uid_[PAD_(int)];
 };
 struct ibcs2_stime_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        long *  timep;  char timep_[PAD_(long *)];
 };
 struct ibcs2_alarm_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        unsigned        sec;    char sec_[PAD_(unsigned)];
 };
 struct ibcs2_fstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -177,14 +177,14 @@ struct    ibcs2_fstat_args {
 };
 struct ibcs2_pause_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct ibcs2_utime_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -192,7 +192,7 @@ struct      ibcs2_utime_args {
 };
 struct ibcs2_stty_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -200,7 +200,7 @@ struct      ibcs2_stty_args {
 };
 struct ibcs2_gtty_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -208,7 +208,7 @@ struct      ibcs2_gtty_args {
 };
 struct ibcs2_access_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -216,14 +216,14 @@ struct    ibcs2_access_args {
 };
 struct ibcs2_nice_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     incr;   char incr_[PAD_(int)];
 };
 struct ibcs2_statfs_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -233,7 +233,7 @@ struct      ibcs2_statfs_args {
 };
 struct ibcs2_kill_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     pid;    char pid_[PAD_(int)];
@@ -241,7 +241,7 @@ struct      ibcs2_kill_args {
 };
 struct ibcs2_fstatfs_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -251,7 +251,7 @@ struct      ibcs2_fstatfs_args {
 };
 struct ibcs2_pgrpsys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     type;   char type_[PAD_(int)];
@@ -261,7 +261,7 @@ struct      ibcs2_pgrpsys_args {
 };
 struct ibcs2_xenix_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     a1;     char a1_[PAD_(int)];
@@ -272,28 +272,28 @@ struct    ibcs2_xenix_args {
 };
 struct ibcs2_times_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct tms *    tp;     char tp_[PAD_(struct tms *)];
 };
 struct ibcs2_plock_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     cmd;    char cmd_[PAD_(int)];
 };
 struct ibcs2_setgid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     gid;    char gid_[PAD_(int)];
 };
 struct ibcs2_sigsys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     sig;    char sig_[PAD_(int)];
@@ -301,7 +301,7 @@ struct      ibcs2_sigsys_args {
 };
 struct ibcs2_msgsys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     which;  char which_[PAD_(int)];
@@ -313,7 +313,7 @@ struct      ibcs2_msgsys_args {
 };
 struct ibcs2_sysi86_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     cmd;    char cmd_[PAD_(int)];
@@ -321,7 +321,7 @@ struct      ibcs2_sysi86_args {
 };
 struct ibcs2_shmsys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     which;  char which_[PAD_(int)];
@@ -331,7 +331,7 @@ struct      ibcs2_shmsys_args {
 };
 struct ibcs2_semsys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     which;  char which_[PAD_(int)];
@@ -342,7 +342,7 @@ struct      ibcs2_semsys_args {
 };
 struct ibcs2_ioctl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -351,7 +351,7 @@ struct      ibcs2_ioctl_args {
 };
 struct ibcs2_uadmin_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     cmd;    char cmd_[PAD_(int)];
@@ -360,7 +360,7 @@ struct      ibcs2_uadmin_args {
 };
 struct ibcs2_utssys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     a1;     char a1_[PAD_(int)];
@@ -369,7 +369,7 @@ struct      ibcs2_utssys_args {
 };
 struct ibcs2_execve_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -378,7 +378,7 @@ struct      ibcs2_execve_args {
 };
 struct ibcs2_fcntl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -387,7 +387,7 @@ struct      ibcs2_fcntl_args {
 };
 struct ibcs2_ulimit_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     cmd;    char cmd_[PAD_(int)];
@@ -395,14 +395,14 @@ struct    ibcs2_ulimit_args {
 };
 struct ibcs2_rmdir_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
 };
 struct ibcs2_mkdir_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -410,7 +410,7 @@ struct      ibcs2_mkdir_args {
 };
 struct ibcs2_getdents_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -419,7 +419,7 @@ struct      ibcs2_getdents_args {
 };
 struct ibcs2_sysfs_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     cmd;    char cmd_[PAD_(int)];
@@ -428,7 +428,7 @@ struct      ibcs2_sysfs_args {
 };
 struct ibcs2_getmsg_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -438,7 +438,7 @@ struct      ibcs2_getmsg_args {
 };
 struct ibcs2_putmsg_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -448,7 +448,7 @@ struct      ibcs2_putmsg_args {
 };
 struct ibcs2_poll_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct ibcs2_poll *     fds;    char fds_[PAD_(struct ibcs2_poll *)];
@@ -457,7 +457,7 @@ struct      ibcs2_poll_args {
 };
 struct ibcs2_secure_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     cmd;    char cmd_[PAD_(int)];
@@ -469,7 +469,7 @@ struct      ibcs2_secure_args {
 };
 struct ibcs2_symlink_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -477,7 +477,7 @@ struct      ibcs2_symlink_args {
 };
 struct ibcs2_lstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -485,7 +485,7 @@ struct      ibcs2_lstat_args {
 };
 struct ibcs2_readlink_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -494,7 +494,7 @@ struct      ibcs2_readlink_args {
 };
 struct ibcs2_isc_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
index 975e424..8168ab2 100644 (file)
@@ -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.9 2003/08/27 06:30:03 rob Exp $
+ * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_syscall.h,v 1.10 2003/11/20 06:05:29 dillon Exp $
  * created from DragonFly: src/sys/emulation/ibcs2/i386/syscalls.master,v 1.3 2003/08/07 21:17:17 dillon Exp 
  */
 
index 624d54c..13717e0 100644 (file)
@@ -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.9 2003/08/27 06:30:03 rob Exp $
+ * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_sysent.c,v 1.10 2003/11/20 06:05:29 dillon Exp $
  * created from DragonFly: src/sys/emulation/ibcs2/i386/syscalls.master,v 1.3 2003/08/07 21:17:17 dillon Exp 
  */
 
@@ -13,7 +13,7 @@
 #include "ibcs2_signal.h"
 #include "ibcs2_proto.h"
 
-#define AS(name) ((sizeof(struct name) - sizeof(union sysmsg) - sizeof(union usrmsg)) / sizeof(register_t))
+#define AS(name) ((sizeof(struct name) - sizeof(struct sysmsg) - sizeof(union usrmsg)) / sizeof(register_t))
 
 /* The casts are bogus but will do for now. */
 struct sysent ibcs2_sysent[] = {
index 3ab52bc..33e971b 100644 (file)
@@ -2,14 +2,14 @@
  * 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.5 2003/08/27 06:30:03 rob Exp $
+ * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_union.h,v 1.6 2003/11/20 06:05:29 dillon Exp $
  * created from DragonFly: src/sys/emulation/ibcs2/i386/syscalls.master,v 1.3 2003/08/07 21:17:17 dillon Exp 
  */
 
 union sysunion {
 #ifdef _KERNEL /* header only applies in kernel */
        struct  lwkt_msg lmsg;
-       union   sysmsg sysmsg;
+       struct  sysmsg sysmsg;
 #endif
        struct  ibcs2_read_args ibcs2_read;
        struct  ibcs2_open_args ibcs2_open;
index 4d7bf5f..ba63de1 100644 (file)
@@ -2,7 +2,7 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_xenix.h,v 1.8 2003/08/27 06:30:03 rob Exp $
+ * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_xenix.h,v 1.9 2003/11/20 06:05:29 dillon Exp $
  * created from DragonFly: src/sys/emulation/ibcs2/i386/syscalls.xenix,v 1.3 2003/08/07 21:17:17 dillon Exp 
  */
 
 
 struct xenix_rdchk_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
 };
 struct xenix_chsize_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -37,28 +37,28 @@ struct      xenix_chsize_args {
 };
 struct xenix_ftime_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct timeb *  tp;     char tp_[PAD_(struct timeb *)];
 };
 struct xenix_nap_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     millisec;       char millisec_[PAD_(int)];
 };
 struct xenix_scoinfo_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct xenix_eaccess_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -66,7 +66,7 @@ struct        xenix_eaccess_args {
 };
 struct ibcs2_sigaction_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     sig;    char sig_[PAD_(int)];
@@ -75,7 +75,7 @@ struct        ibcs2_sigaction_args {
 };
 struct ibcs2_sigprocmask_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     how;    char how_[PAD_(int)];
@@ -84,21 +84,21 @@ struct      ibcs2_sigprocmask_args {
 };
 struct ibcs2_sigpending_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        ibcs2_sigset_t *        mask;   char mask_[PAD_(ibcs2_sigset_t *)];
 };
 struct ibcs2_sigsuspend_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        ibcs2_sigset_t *        mask;   char mask_[PAD_(ibcs2_sigset_t *)];
 };
 struct ibcs2_getgroups_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     gidsetsize;     char gidsetsize_[PAD_(int)];
@@ -106,7 +106,7 @@ struct      ibcs2_getgroups_args {
 };
 struct ibcs2_setgroups_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     gidsetsize;     char gidsetsize_[PAD_(int)];
@@ -114,14 +114,14 @@ struct    ibcs2_setgroups_args {
 };
 struct ibcs2_sysconf_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     name;   char name_[PAD_(int)];
 };
 struct ibcs2_pathconf_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -129,7 +129,7 @@ struct      ibcs2_pathconf_args {
 };
 struct ibcs2_fpathconf_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -137,7 +137,7 @@ struct      ibcs2_fpathconf_args {
 };
 struct ibcs2_rename_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  from;   char from_[PAD_(char *)];
@@ -145,7 +145,7 @@ struct      ibcs2_rename_args {
 };
 struct xenix_utsname_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        long    addr;   char addr_[PAD_(long)];
index 99db175..6245a2a 100644 (file)
@@ -2,7 +2,7 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_xenix_syscall.h,v 1.7 2003/08/27 06:30:03 rob Exp $
+ * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_xenix_syscall.h,v 1.8 2003/11/20 06:05:29 dillon Exp $
  * created from DragonFly: src/sys/emulation/ibcs2/i386/syscalls.xenix,v 1.3 2003/08/07 21:17:17 dillon Exp 
  */
 
index 2af472c..2bd04b7 100644 (file)
@@ -2,7 +2,7 @@
  * 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.7 2003/08/27 06:30:03 rob Exp $
+ * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_xenix_sysent.c,v 1.8 2003/11/20 06:05:29 dillon Exp $
  * created from DragonFly: src/sys/emulation/ibcs2/i386/syscalls.xenix,v 1.3 2003/08/07 21:17:17 dillon Exp 
  */
 
@@ -13,7 +13,7 @@
 #include "ibcs2_signal.h"
 #include "ibcs2_xenix.h"
 
-#define AS(name) ((sizeof(struct name) - sizeof(union sysmsg) - sizeof(union usrmsg)) / sizeof(register_t))
+#define AS(name) ((sizeof(struct name) - sizeof(struct sysmsg) - sizeof(union usrmsg)) / sizeof(register_t))
 
 /* The casts are bogus but will do for now. */
 struct sysent xenix_sysent[] = {
index 97d6708..f0c8af1 100644 (file)
@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $DragonFly: src/sys/emulation/linux/i386/linux_proto.h,v 1.10 2003/10/21 01:05:09 daver Exp $
- * created from DragonFly: src/sys/emulation/linux/i386/syscalls.master,v 1.3 2003/08/07 21:17:18 dillon Exp 
+ * $DragonFly: src/sys/emulation/linux/i386/linux_proto.h,v 1.11 2003/11/20 06:05:30 dillon Exp $
+ * created from DragonFly: src/sys/emulation/linux/i386/syscalls.master,v 1.4 2003/10/21 01:05:09 daver Exp 
  */
 
 #ifndef _LINUX_SYSPROTO_H_
 
 struct linux_fork_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_open_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -38,7 +38,7 @@ struct        linux_open_args {
 };
 struct linux_waitpid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_pid_t pid;    char pid_[PAD_(l_pid_t)];
@@ -47,7 +47,7 @@ struct        linux_waitpid_args {
 };
 struct linux_creat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -55,7 +55,7 @@ struct        linux_creat_args {
 };
 struct linux_link_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -63,14 +63,14 @@ struct      linux_link_args {
 };
 struct linux_unlink_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
 };
 struct linux_execve_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -79,21 +79,21 @@ struct      linux_execve_args {
 };
 struct linux_chdir_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
 };
 struct linux_time_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_time_t *      tm;     char tm_[PAD_(l_time_t *)];
 };
 struct linux_mknod_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -102,7 +102,7 @@ struct      linux_mknod_args {
 };
 struct linux_chmod_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -110,7 +110,7 @@ struct      linux_chmod_args {
 };
 struct linux_lchown16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -119,7 +119,7 @@ struct      linux_lchown16_args {
 };
 struct linux_stat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -127,7 +127,7 @@ struct      linux_stat_args {
 };
 struct linux_lseek_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  fdes;   char fdes_[PAD_(l_uint)];
@@ -136,14 +136,14 @@ struct    linux_lseek_args {
 };
 struct linux_getpid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_mount_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  specialfile;    char specialfile_[PAD_(char *)];
@@ -154,35 +154,35 @@ struct    linux_mount_args {
 };
 struct linux_oldumount_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
 };
 struct linux_setuid16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uid16_t       uid;    char uid_[PAD_(l_uid16_t)];
 };
 struct linux_getuid16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_stime_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_ptrace_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_long  req;    char req_[PAD_(l_long)];
@@ -192,14 +192,14 @@ struct    linux_ptrace_args {
 };
 struct linux_alarm_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  secs;   char secs_[PAD_(l_uint)];
 };
 struct linux_fstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  fd;     char fd_[PAD_(l_uint)];
@@ -207,14 +207,14 @@ struct    linux_fstat_args {
 };
 struct linux_pause_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_utime_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  fname;  char fname_[PAD_(char *)];
@@ -222,7 +222,7 @@ struct      linux_utime_args {
 };
 struct linux_access_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -230,14 +230,14 @@ struct    linux_access_args {
 };
 struct linux_nice_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   inc;    char inc_[PAD_(l_int)];
 };
 struct linux_kill_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   pid;    char pid_[PAD_(l_int)];
@@ -245,7 +245,7 @@ struct      linux_kill_args {
 };
 struct linux_rename_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  from;   char from_[PAD_(char *)];
@@ -253,7 +253,7 @@ struct      linux_rename_args {
 };
 struct linux_mkdir_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -261,49 +261,49 @@ struct    linux_mkdir_args {
 };
 struct linux_rmdir_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
 };
 struct linux_pipe_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_ulong *       pipefds;        char pipefds_[PAD_(l_ulong *)];
 };
 struct linux_times_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct l_times_argv *   buf;    char buf_[PAD_(struct l_times_argv *)];
 };
 struct linux_brk_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_ulong dsend;  char dsend_[PAD_(l_ulong)];
 };
 struct linux_setgid16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_gid16_t       gid;    char gid_[PAD_(l_gid16_t)];
 };
 struct linux_getgid16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_signal_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   sig;    char sig_[PAD_(l_int)];
@@ -311,21 +311,21 @@ struct    linux_signal_args {
 };
 struct linux_geteuid16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_getegid16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_umount_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -333,7 +333,7 @@ struct      linux_umount_args {
 };
 struct linux_ioctl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  fd;     char fd_[PAD_(l_uint)];
@@ -342,7 +342,7 @@ struct      linux_ioctl_args {
 };
 struct linux_fcntl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  fd;     char fd_[PAD_(l_uint)];
@@ -351,14 +351,14 @@ struct    linux_fcntl_args {
 };
 struct linux_olduname_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_ustat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_dev_t dev;    char dev_[PAD_(l_dev_t)];
@@ -366,7 +366,7 @@ struct      linux_ustat_args {
 };
 struct linux_sigaction_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   sig;    char sig_[PAD_(l_int)];
@@ -375,21 +375,21 @@ struct    linux_sigaction_args {
 };
 struct linux_sgetmask_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_ssetmask_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_osigset_t     mask;   char mask_[PAD_(l_osigset_t)];
 };
 struct linux_setreuid16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uid16_t       ruid;   char ruid_[PAD_(l_uid16_t)];
@@ -397,7 +397,7 @@ struct      linux_setreuid16_args {
 };
 struct linux_setregid16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_gid16_t       rgid;   char rgid_[PAD_(l_gid16_t)];
@@ -405,7 +405,7 @@ struct      linux_setregid16_args {
 };
 struct linux_sigsuspend_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   hist0;  char hist0_[PAD_(l_int)];
@@ -414,14 +414,14 @@ struct    linux_sigsuspend_args {
 };
 struct linux_sigpending_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_osigset_t *   mask;   char mask_[PAD_(l_osigset_t *)];
 };
 struct linux_setrlimit_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  resource;       char resource_[PAD_(l_uint)];
@@ -429,7 +429,7 @@ struct      linux_setrlimit_args {
 };
 struct linux_old_getrlimit_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  resource;       char resource_[PAD_(l_uint)];
@@ -437,7 +437,7 @@ struct      linux_old_getrlimit_args {
 };
 struct linux_getgroups16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  gidsetsize;     char gidsetsize_[PAD_(l_uint)];
@@ -445,7 +445,7 @@ struct      linux_getgroups16_args {
 };
 struct linux_setgroups16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  gidsetsize;     char gidsetsize_[PAD_(l_uint)];
@@ -453,14 +453,14 @@ struct    linux_setgroups16_args {
 };
 struct linux_old_select_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct l_old_select_argv *      ptr;    char ptr_[PAD_(struct l_old_select_argv *)];
 };
 struct linux_symlink_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -468,7 +468,7 @@ struct      linux_symlink_args {
 };
 struct linux_readlink_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  name;   char name_[PAD_(char *)];
@@ -477,14 +477,14 @@ struct    linux_readlink_args {
 };
 struct linux_uselib_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  library;        char library_[PAD_(char *)];
 };
 struct linux_reboot_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   magic1; char magic1_[PAD_(l_int)];
@@ -494,7 +494,7 @@ struct      linux_reboot_args {
 };
 struct linux_readdir_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  fd;     char fd_[PAD_(l_uint)];
@@ -503,14 +503,14 @@ struct    linux_readdir_args {
 };
 struct linux_mmap_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct l_mmap_argv *    ptr;    char ptr_[PAD_(struct l_mmap_argv *)];
 };
 struct linux_truncate_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -518,7 +518,7 @@ struct      linux_truncate_args {
 };
 struct linux_ftruncate_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -526,7 +526,7 @@ struct      linux_ftruncate_args {
 };
 struct linux_statfs_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -534,7 +534,7 @@ struct      linux_statfs_args {
 };
 struct linux_fstatfs_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  fd;     char fd_[PAD_(l_uint)];
@@ -542,7 +542,7 @@ struct      linux_fstatfs_args {
 };
 struct linux_ioperm_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_ulong start;  char start_[PAD_(l_ulong)];
@@ -551,7 +551,7 @@ struct      linux_ioperm_args {
 };
 struct linux_socketcall_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   what;   char what_[PAD_(l_int)];
@@ -559,7 +559,7 @@ struct      linux_socketcall_args {
 };
 struct linux_syslog_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   type;   char type_[PAD_(l_int)];
@@ -568,7 +568,7 @@ struct      linux_syslog_args {
 };
 struct linux_setitimer_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   which;  char which_[PAD_(l_int)];
@@ -577,7 +577,7 @@ struct      linux_setitimer_args {
 };
 struct linux_getitimer_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   which;  char which_[PAD_(l_int)];
@@ -585,7 +585,7 @@ struct      linux_getitimer_args {
 };
 struct linux_newstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -593,7 +593,7 @@ struct      linux_newstat_args {
 };
 struct linux_newlstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -601,7 +601,7 @@ struct      linux_newlstat_args {
 };
 struct linux_newfstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  fd;     char fd_[PAD_(l_uint)];
@@ -609,35 +609,35 @@ struct    linux_newfstat_args {
 };
 struct linux_uname_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_iopl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_ulong level;  char level_[PAD_(l_ulong)];
 };
 struct linux_vhangup_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_vm86old_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_wait4_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_pid_t pid;    char pid_[PAD_(l_pid_t)];
@@ -647,21 +647,21 @@ struct    linux_wait4_args {
 };
 struct linux_swapoff_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_sysinfo_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct l_sysinfo *      info;   char info_[PAD_(struct l_sysinfo *)];
 };
 struct linux_ipc_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  what;   char what_[PAD_(l_uint)];
@@ -673,14 +673,14 @@ struct    linux_ipc_args {
 };
 struct linux_sigreturn_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct l_sigframe *     sfp;    char sfp_[PAD_(struct l_sigframe *)];
 };
 struct linux_clone_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   flags;  char flags_[PAD_(l_int)];
@@ -688,14 +688,14 @@ struct    linux_clone_args {
 };
 struct linux_newuname_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct l_new_utsname *  buf;    char buf_[PAD_(struct l_new_utsname *)];
 };
 struct linux_modify_ldt_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   func;   char func_[PAD_(l_int)];
@@ -704,14 +704,14 @@ struct    linux_modify_ldt_args {
 };
 struct linux_adjtimex_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_sigprocmask_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   how;    char how_[PAD_(l_int)];
@@ -720,49 +720,49 @@ struct    linux_sigprocmask_args {
 };
 struct linux_create_module_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_init_module_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_delete_module_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_get_kernel_syms_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_quotactl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_bdflush_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_sysfs_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   option; char option_[PAD_(l_int)];
@@ -771,28 +771,28 @@ struct    linux_sysfs_args {
 };
 struct linux_personality_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_ulong per;    char per_[PAD_(l_ulong)];
 };
 struct linux_setfsuid16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uid16_t       uid;    char uid_[PAD_(l_uid16_t)];
 };
 struct linux_setfsgid16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_gid16_t       gid;    char gid_[PAD_(l_gid16_t)];
 };
 struct linux_llseek_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   fd;     char fd_[PAD_(l_int)];
@@ -803,7 +803,7 @@ struct      linux_llseek_args {
 };
 struct linux_getdents_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  fd;     char fd_[PAD_(l_uint)];
@@ -812,7 +812,7 @@ struct      linux_getdents_args {
 };
 struct linux_select_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   nfds;   char nfds_[PAD_(l_int)];
@@ -823,7 +823,7 @@ struct      linux_select_args {
 };
 struct linux_msync_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_ulong addr;   char addr_[PAD_(l_ulong)];
@@ -832,28 +832,28 @@ struct    linux_msync_args {
 };
 struct linux_getsid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_pid_t pid;    char pid_[PAD_(l_pid_t)];
 };
 struct linux_fdatasync_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  fd;     char fd_[PAD_(l_uint)];
 };
 struct linux_sysctl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct l___sysctl_args *        args;   char args_[PAD_(struct l___sysctl_args *)];
 };
 struct linux_sched_setscheduler_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_pid_t pid;    char pid_[PAD_(l_pid_t)];
@@ -862,28 +862,28 @@ struct    linux_sched_setscheduler_args {
 };
 struct linux_sched_getscheduler_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_pid_t pid;    char pid_[PAD_(l_pid_t)];
 };
 struct linux_sched_get_priority_max_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   policy; char policy_[PAD_(l_int)];
 };
 struct linux_sched_get_priority_min_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   policy; char policy_[PAD_(l_int)];
 };
 struct linux_mremap_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_ulong addr;   char addr_[PAD_(l_ulong)];
@@ -894,7 +894,7 @@ struct      linux_mremap_args {
 };
 struct linux_setresuid16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uid16_t       ruid;   char ruid_[PAD_(l_uid16_t)];
@@ -903,7 +903,7 @@ struct      linux_setresuid16_args {
 };
 struct linux_getresuid16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uid16_t *     ruid;   char ruid_[PAD_(l_uid16_t *)];
@@ -912,28 +912,28 @@ struct    linux_getresuid16_args {
 };
 struct linux_vm86_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_query_module_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_nfsservctl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_setresgid16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_gid16_t       rgid;   char rgid_[PAD_(l_gid16_t)];
@@ -942,7 +942,7 @@ struct      linux_setresgid16_args {
 };
 struct linux_getresgid16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_gid16_t *     rgid;   char rgid_[PAD_(l_gid16_t *)];
@@ -951,21 +951,21 @@ struct    linux_getresgid16_args {
 };
 struct linux_prctl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_rt_sigreturn_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct l_ucontext *     ucp;    char ucp_[PAD_(struct l_ucontext *)];
 };
 struct linux_rt_sigaction_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   sig;    char sig_[PAD_(l_int)];
@@ -975,7 +975,7 @@ struct      linux_rt_sigaction_args {
 };
 struct linux_rt_sigprocmask_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   how;    char how_[PAD_(l_int)];
@@ -985,28 +985,28 @@ struct    linux_rt_sigprocmask_args {
 };
 struct linux_rt_sigpending_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_rt_sigtimedwait_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_rt_sigqueueinfo_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_rt_sigsuspend_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_sigset_t *    newset; char newset_[PAD_(l_sigset_t *)];
@@ -1014,7 +1014,7 @@ struct    linux_rt_sigsuspend_args {
 };
 struct linux_pread_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  fd;     char fd_[PAD_(l_uint)];
@@ -1024,7 +1024,7 @@ struct    linux_pread_args {
 };
 struct linux_pwrite_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  fd;     char fd_[PAD_(l_uint)];
@@ -1034,7 +1034,7 @@ struct    linux_pwrite_args {
 };
 struct linux_chown16_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -1043,7 +1043,7 @@ struct    linux_chown16_args {
 };
 struct linux_getcwd_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  buf;    char buf_[PAD_(char *)];
@@ -1051,21 +1051,21 @@ struct  linux_getcwd_args {
 };
 struct linux_capget_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_capset_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_sigaltstack_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_stack_t *     uss;    char uss_[PAD_(l_stack_t *)];
@@ -1073,21 +1073,21 @@ struct  linux_sigaltstack_args {
 };
 struct linux_sendfile_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_vfork_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_getrlimit_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  resource;       char resource_[PAD_(l_uint)];
@@ -1095,7 +1095,7 @@ struct    linux_getrlimit_args {
 };
 struct linux_mmap2_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_ulong addr;   char addr_[PAD_(l_ulong)];
@@ -1107,7 +1107,7 @@ struct    linux_mmap2_args {
 };
 struct linux_truncate64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -1115,7 +1115,7 @@ struct    linux_truncate64_args {
 };
 struct linux_ftruncate64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  fd;     char fd_[PAD_(l_uint)];
@@ -1123,7 +1123,7 @@ struct    linux_ftruncate64_args {
 };
 struct linux_stat64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  filename;       char filename_[PAD_(char *)];
@@ -1132,7 +1132,7 @@ struct    linux_stat64_args {
 };
 struct linux_lstat64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  filename;       char filename_[PAD_(char *)];
@@ -1141,7 +1141,7 @@ struct    linux_lstat64_args {
 };
 struct linux_fstat64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_ulong fd;     char fd_[PAD_(l_ulong)];
@@ -1150,7 +1150,7 @@ struct    linux_fstat64_args {
 };
 struct linux_lchown_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -1159,21 +1159,21 @@ struct  linux_lchown_args {
 };
 struct linux_getuid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_getgid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_getgroups_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   gidsetsize;     char gidsetsize_[PAD_(l_int)];
@@ -1181,7 +1181,7 @@ struct    linux_getgroups_args {
 };
 struct linux_setgroups_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_int   gidsetsize;     char gidsetsize_[PAD_(l_int)];
@@ -1189,7 +1189,7 @@ struct    linux_setgroups_args {
 };
 struct linux_chown_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -1198,21 +1198,21 @@ struct  linux_chown_args {
 };
 struct linux_setfsuid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uid_t uid;    char uid_[PAD_(l_uid_t)];
 };
 struct linux_setfsgid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_gid_t gid;    char gid_[PAD_(l_gid_t)];
 };
 struct linux_pivot_root_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  new_root;       char new_root_[PAD_(char *)];
@@ -1220,7 +1220,7 @@ struct    linux_pivot_root_args {
 };
 struct linux_mincore_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_ulong start;  char start_[PAD_(l_ulong)];
@@ -1229,14 +1229,14 @@ struct  linux_mincore_args {
 };
 struct linux_madvise_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct linux_getdents64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  fd;     char fd_[PAD_(l_uint)];
@@ -1245,7 +1245,7 @@ struct    linux_getdents64_args {
 };
 struct linux_fcntl64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        l_uint  fd;     char fd_[PAD_(l_uint)];
index 7314778..ea5393f 100644 (file)
@@ -2,8 +2,8 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $DragonFly: src/sys/emulation/linux/i386/linux_syscall.h,v 1.10 2003/10/21 01:05:09 daver Exp $
- * created from DragonFly: src/sys/emulation/linux/i386/syscalls.master,v 1.3 2003/08/07 21:17:18 dillon Exp 
+ * $DragonFly: src/sys/emulation/linux/i386/linux_syscall.h,v 1.11 2003/11/20 06:05:30 dillon Exp $
+ * created from DragonFly: src/sys/emulation/linux/i386/syscalls.master,v 1.4 2003/10/21 01:05:09 daver Exp 
  */
 
 #define        LINUX_SYS_exit  1
index 238bdfc..752fc79 100644 (file)
@@ -2,8 +2,8 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $DragonFly: src/sys/emulation/linux/i386/linux_sysent.c,v 1.10 2003/10/21 01:05:09 daver Exp $
- * created from DragonFly: src/sys/emulation/linux/i386/syscalls.master,v 1.3 2003/08/07 21:17:18 dillon Exp 
+ * $DragonFly: src/sys/emulation/linux/i386/linux_sysent.c,v 1.11 2003/11/20 06:05:30 dillon Exp $
+ * created from DragonFly: src/sys/emulation/linux/i386/syscalls.master,v 1.4 2003/10/21 01:05:09 daver Exp 
  */
 
 #include "opt_compat.h"
@@ -13,7 +13,7 @@
 #include "linux.h"
 #include "linux_proto.h"
 
-#define AS(name) ((sizeof(struct name) - sizeof(union sysmsg) - sizeof(union usrmsg)) / sizeof(register_t))
+#define AS(name) ((sizeof(struct name) - sizeof(struct sysmsg) - sizeof(union usrmsg)) / sizeof(register_t))
 
 /* The casts are bogus but will do for now. */
 struct sysent linux_sysent[] = {
index 400ea6f..8a124cb 100644 (file)
@@ -2,14 +2,14 @@
  * 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.6 2003/10/21 01:05:09 daver Exp $
- * created from DragonFly: src/sys/emulation/linux/i386/syscalls.master,v 1.3 2003/08/07 21:17:18 dillon Exp 
+ * $DragonFly: src/sys/emulation/linux/i386/linux_union.h,v 1.7 2003/11/20 06:05:30 dillon Exp $
+ * created from DragonFly: src/sys/emulation/linux/i386/syscalls.master,v 1.4 2003/10/21 01:05:09 daver Exp 
  */
 
 union sysunion {
 #ifdef _KERNEL /* header only applies in kernel */
        struct  lwkt_msg lmsg;
-       union   sysmsg sysmsg;
+       struct  sysmsg sysmsg;
 #endif
        struct  linux_fork_args linux_fork;
        struct  linux_open_args linux_open;
index 323c6bc..b7db664 100644 (file)
@@ -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.6 2003/08/27 06:30:03 rob Exp $
+ * $DragonFly: src/sys/emulation/linux/linux_ipc.h,v 1.7 2003/11/20 06:05:29 dillon Exp $
  */
 
 #ifndef _LINUX_IPC_H_
@@ -36,7 +36,7 @@
 
 struct linux_msgctl_args 
 {
-       union sysmsg    sysmsg;
+       struct 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
 {
-       union sysmsg    sysmsg;
+       struct sysmsg   sysmsg;
        l_key_t         key;
        l_int           msgflg;
 };
 
 struct linux_msgrcv_args
 {
-       union sysmsg    sysmsg;
+       struct 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
 {
-       union sysmsg    sysmsg;
+       struct 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
 {
-       union sysmsg    sysmsg;
+       struct sysmsg   sysmsg;
        l_int           semid;
        l_int           semnum;
        l_int           cmd;
@@ -79,7 +79,7 @@ struct linux_semctl_args
 
 struct linux_semget_args
 {
-       union sysmsg    sysmsg;
+       struct sysmsg   sysmsg;
        l_key_t         key;
        l_int           nsems;
        l_int           semflg;
@@ -87,7 +87,7 @@ struct linux_semget_args
 
 struct linux_semop_args
 {
-       union sysmsg    sysmsg;
+       struct sysmsg   sysmsg;
        l_int           semid;
        struct l_sembuf *tsops;
        l_uint          nsops;
@@ -95,7 +95,7 @@ struct linux_semop_args
 
 struct linux_shmat_args
 {
-       union sysmsg    sysmsg;
+       struct sysmsg   sysmsg;
        l_int           shmid;
        char            *shmaddr;
        l_int           shmflg;
@@ -104,7 +104,7 @@ struct linux_shmat_args
 
 struct linux_shmctl_args
 {
-       union sysmsg    sysmsg;
+       struct 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
 {
-       union sysmsg    sysmsg;
+       struct sysmsg   sysmsg;
        char *shmaddr;
 };
 
 struct linux_shmget_args
 {
-       union sysmsg    sysmsg;
+       struct sysmsg   sysmsg;
        l_key_t         key;
        l_size_t        size;
        l_int           shmflg;
index d66d13b..dbe5993 100644 (file)
@@ -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.9 2003/08/27 06:07:10 rob Exp $
+ * $DragonFly: src/sys/emulation/svr4/Attic/svr4_proto.h,v 1.10 2003/11/20 06:05:30 dillon Exp $
  * created from DragonFly: src/sys/emulation/svr4/syscalls.master,v 1.3 2003/08/07 21:17:19 dillon Exp 
  */
 
@@ -22,7 +22,7 @@
 
 struct svr4_sys_open_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -31,14 +31,14 @@ struct      svr4_sys_open_args {
 };
 struct svr4_sys_wait_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int *   status; char status_[PAD_(int *)];
 };
 struct svr4_sys_creat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -46,7 +46,7 @@ struct        svr4_sys_creat_args {
 };
 struct svr4_sys_execv_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -54,14 +54,14 @@ struct      svr4_sys_execv_args {
 };
 struct svr4_sys_time_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        time_t *        t;      char t_[PAD_(time_t *)];
 };
 struct svr4_sys_mknod_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -70,14 +70,14 @@ struct      svr4_sys_mknod_args {
 };
 struct svr4_sys_break_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        caddr_t nsize;  char nsize_[PAD_(caddr_t)];
 };
 struct svr4_sys_stat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -85,14 +85,14 @@ struct      svr4_sys_stat_args {
 };
 struct svr4_sys_alarm_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        unsigned        sec;    char sec_[PAD_(unsigned)];
 };
 struct svr4_sys_fstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -100,14 +100,14 @@ struct    svr4_sys_fstat_args {
 };
 struct svr4_sys_pause_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct svr4_sys_utime_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -115,7 +115,7 @@ struct      svr4_sys_utime_args {
 };
 struct svr4_sys_access_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -123,14 +123,14 @@ struct    svr4_sys_access_args {
 };
 struct svr4_sys_nice_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     prio;   char prio_[PAD_(int)];
 };
 struct svr4_sys_kill_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     pid;    char pid_[PAD_(int)];
@@ -138,7 +138,7 @@ struct      svr4_sys_kill_args {
 };
 struct svr4_sys_pgrpsys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     cmd;    char cmd_[PAD_(int)];
@@ -147,14 +147,14 @@ struct    svr4_sys_pgrpsys_args {
 };
 struct svr4_sys_times_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct tms *    tp;     char tp_[PAD_(struct tms *)];
 };
 struct svr4_sys_signal_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     signum; char signum_[PAD_(int)];
@@ -163,7 +163,7 @@ struct      svr4_sys_signal_args {
 #if defined(NOTYET)
 struct svr4_sys_msgsys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     what;   char what_[PAD_(int)];
@@ -176,7 +176,7 @@ struct      svr4_sys_msgsys_args {
 #endif
 struct svr4_sys_sysarch_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     op;     char op_[PAD_(int)];
@@ -184,7 +184,7 @@ struct      svr4_sys_sysarch_args {
 };
 struct svr4_sys_ioctl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -193,7 +193,7 @@ struct      svr4_sys_ioctl_args {
 };
 struct svr4_sys_utssys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        void *  a1;     char a1_[PAD_(void *)];
@@ -203,7 +203,7 @@ struct      svr4_sys_utssys_args {
 };
 struct svr4_sys_execve_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -212,7 +212,7 @@ struct      svr4_sys_execve_args {
 };
 struct svr4_sys_fcntl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -221,7 +221,7 @@ struct      svr4_sys_fcntl_args {
 };
 struct svr4_sys_ulimit_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     cmd;    char cmd_[PAD_(int)];
@@ -229,7 +229,7 @@ struct      svr4_sys_ulimit_args {
 };
 struct svr4_sys_getdents_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -238,7 +238,7 @@ struct      svr4_sys_getdents_args {
 };
 struct svr4_sys_getmsg_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -248,7 +248,7 @@ struct      svr4_sys_getmsg_args {
 };
 struct svr4_sys_putmsg_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -258,7 +258,7 @@ struct      svr4_sys_putmsg_args {
 };
 struct svr4_sys_poll_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct pollfd * fds;    char fds_[PAD_(struct pollfd *)];
@@ -267,7 +267,7 @@ struct      svr4_sys_poll_args {
 };
 struct svr4_sys_lstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -275,7 +275,7 @@ struct      svr4_sys_lstat_args {
 };
 struct svr4_sys_sigprocmask_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     how;    char how_[PAD_(int)];
@@ -284,14 +284,14 @@ struct    svr4_sys_sigprocmask_args {
 };
 struct svr4_sys_sigsuspend_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        svr4_sigset_t * ss;     char ss_[PAD_(svr4_sigset_t *)];
 };
 struct svr4_sys_sigaltstack_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct svr4_sigaltstack *       nss;    char nss_[PAD_(struct svr4_sigaltstack *)];
@@ -299,7 +299,7 @@ struct      svr4_sys_sigaltstack_args {
 };
 struct svr4_sys_sigaction_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     signum; char signum_[PAD_(int)];
@@ -308,7 +308,7 @@ struct      svr4_sys_sigaction_args {
 };
 struct svr4_sys_sigpending_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     what;   char what_[PAD_(int)];
@@ -316,7 +316,7 @@ struct      svr4_sys_sigpending_args {
 };
 struct svr4_sys_context_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     func;   char func_[PAD_(int)];
@@ -324,7 +324,7 @@ struct      svr4_sys_context_args {
 };
 struct svr4_sys_statvfs_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -332,7 +332,7 @@ struct      svr4_sys_statvfs_args {
 };
 struct svr4_sys_fstatvfs_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -340,7 +340,7 @@ struct      svr4_sys_fstatvfs_args {
 };
 struct svr4_sys_waitsys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     grp;    char grp_[PAD_(int)];
@@ -350,7 +350,7 @@ struct      svr4_sys_waitsys_args {
 };
 struct svr4_sys_hrtsys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     cmd;    char cmd_[PAD_(int)];
@@ -361,7 +361,7 @@ struct      svr4_sys_hrtsys_args {
 };
 struct svr4_sys_pathconf_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -369,7 +369,7 @@ struct      svr4_sys_pathconf_args {
 };
 struct svr4_sys_mmap_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        caddr_t addr;   char addr_[PAD_(caddr_t)];
@@ -381,7 +381,7 @@ struct      svr4_sys_mmap_args {
 };
 struct svr4_sys_fpathconf_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -389,7 +389,7 @@ struct      svr4_sys_fpathconf_args {
 };
 struct svr4_sys_xstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     two;    char two_[PAD_(int)];
@@ -398,7 +398,7 @@ struct      svr4_sys_xstat_args {
 };
 struct svr4_sys_lxstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     two;    char two_[PAD_(int)];
@@ -407,7 +407,7 @@ struct      svr4_sys_lxstat_args {
 };
 struct svr4_sys_fxstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     two;    char two_[PAD_(int)];
@@ -416,7 +416,7 @@ struct      svr4_sys_fxstat_args {
 };
 struct svr4_sys_xmknod_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     two;    char two_[PAD_(int)];
@@ -426,7 +426,7 @@ struct      svr4_sys_xmknod_args {
 };
 struct svr4_sys_setrlimit_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     which;  char which_[PAD_(int)];
@@ -434,7 +434,7 @@ struct      svr4_sys_setrlimit_args {
 };
 struct svr4_sys_getrlimit_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     which;  char which_[PAD_(int)];
@@ -442,7 +442,7 @@ struct      svr4_sys_getrlimit_args {
 };
 struct svr4_sys_memcntl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        void *  addr;   char addr_[PAD_(void *)];
@@ -454,7 +454,7 @@ struct      svr4_sys_memcntl_args {
 };
 struct svr4_sys_uname_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct svr4_utsname *   name;   char name_[PAD_(struct svr4_utsname *)];
@@ -462,14 +462,14 @@ struct    svr4_sys_uname_args {
 };
 struct svr4_sys_sysconfig_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     name;   char name_[PAD_(int)];
 };
 struct svr4_sys_systeminfo_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     what;   char what_[PAD_(int)];
@@ -478,14 +478,14 @@ struct    svr4_sys_systeminfo_args {
 };
 struct svr4_sys_fchroot_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
 };
 struct svr4_sys_utimes_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -493,21 +493,21 @@ struct    svr4_sys_utimes_args {
 };
 struct svr4_sys_vhangup_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct svr4_sys_gettimeofday_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct timeval *        tp;     char tp_[PAD_(struct timeval *)];
 };
 struct svr4_sys_llseek_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -517,7 +517,7 @@ struct      svr4_sys_llseek_args {
 };
 struct svr4_sys_acl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -527,7 +527,7 @@ struct      svr4_sys_acl_args {
 };
 struct svr4_sys_auditsys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     code;   char code_[PAD_(int)];
@@ -539,7 +539,7 @@ struct      svr4_sys_auditsys_args {
 };
 struct svr4_sys_facl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -549,7 +549,7 @@ struct      svr4_sys_facl_args {
 };
 struct svr4_sys_resolvepath_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const char *    path;   char path_[PAD_(const char *)];
@@ -558,7 +558,7 @@ struct      svr4_sys_resolvepath_args {
 };
 struct svr4_sys_getdents64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -567,7 +567,7 @@ struct      svr4_sys_getdents64_args {
 };
 struct svr4_sys_mmap64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        void *  addr;   char addr_[PAD_(void *)];
@@ -579,7 +579,7 @@ struct      svr4_sys_mmap64_args {
 };
 struct svr4_sys_stat64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -587,7 +587,7 @@ struct      svr4_sys_stat64_args {
 };
 struct svr4_sys_lstat64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -595,7 +595,7 @@ struct      svr4_sys_lstat64_args {
 };
 struct svr4_sys_fstat64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -603,7 +603,7 @@ struct      svr4_sys_fstat64_args {
 };
 struct svr4_sys_statvfs64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -611,7 +611,7 @@ struct      svr4_sys_statvfs64_args {
 };
 struct svr4_sys_fstatvfs64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -619,7 +619,7 @@ struct      svr4_sys_fstatvfs64_args {
 };
 struct svr4_sys_setrlimit64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     which;  char which_[PAD_(int)];
@@ -627,7 +627,7 @@ struct      svr4_sys_setrlimit64_args {
 };
 struct svr4_sys_getrlimit64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     which;  char which_[PAD_(int)];
@@ -635,7 +635,7 @@ struct      svr4_sys_getrlimit64_args {
 };
 struct svr4_sys_creat64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -643,7 +643,7 @@ struct      svr4_sys_creat64_args {
 };
 struct svr4_sys_open64_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -652,7 +652,7 @@ struct      svr4_sys_open64_args {
 };
 struct svr4_sys_socket_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     domain; char domain_[PAD_(int)];
@@ -661,7 +661,7 @@ struct      svr4_sys_socket_args {
 };
 struct svr4_sys_recv_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -671,7 +671,7 @@ struct      svr4_sys_recv_args {
 };
 struct svr4_sys_send_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -681,7 +681,7 @@ struct      svr4_sys_send_args {
 };
 struct svr4_sys_sendto_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
index b0af176..c789e03 100644 (file)
@@ -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.8 2003/08/27 06:07:10 rob Exp $
+ * $DragonFly: src/sys/emulation/svr4/Attic/svr4_stat.c,v 1.9 2003/11/20 06:05:30 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -68,7 +68,7 @@
 #endif
 
 struct svr4_ustat_args {
-       union sysmsg            sysmsg;
+       struct sysmsg           sysmsg;
        svr4_dev_t              dev;
        struct svr4_ustat * name;
 };
index bb5bfcf..9156ece 100644 (file)
@@ -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.9 2003/08/27 06:07:10 rob Exp $
+ * $DragonFly: src/sys/emulation/svr4/Attic/svr4_syscall.h,v 1.10 2003/11/20 06:05:30 dillon Exp $
  * created from DragonFly: src/sys/emulation/svr4/syscalls.master,v 1.3 2003/08/07 21:17:19 dillon Exp 
  */
 
index f90a27a..527da16 100644 (file)
@@ -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.10 2003/08/27 11:39:32 rob Exp $
+ * $DragonFly: src/sys/emulation/svr4/Attic/svr4_syscallnames.c,v 1.11 2003/11/20 06:05:30 dillon Exp $
  * created from DragonFly: src/sys/emulation/svr4/syscalls.master,v 1.3 2003/08/07 21:17:19 dillon Exp 
  */
 
index 0aa5603..49bcd61 100644 (file)
@@ -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.10 2003/08/27 11:39:32 rob Exp $
+ * $DragonFly: src/sys/emulation/svr4/Attic/svr4_sysent.c,v 1.11 2003/11/20 06:05:30 dillon Exp $
  * created from DragonFly: src/sys/emulation/svr4/syscalls.master,v 1.3 2003/08/07 21:17:19 dillon Exp 
  */
 
@@ -15,7 +15,7 @@
 #include "svr4_signal.h"
 #include "svr4_proto.h"
 
-#define AS(name) ((sizeof(struct name) - sizeof(union sysmsg) - sizeof(union usrmsg)) / sizeof(register_t))
+#define AS(name) ((sizeof(struct name) - sizeof(struct sysmsg) - sizeof(union usrmsg)) / sizeof(register_t))
 
 /* The casts are bogus but will do for now. */
 struct sysent svr4_sysent[] = {
index f755d05..8eeef0c 100644 (file)
@@ -2,14 +2,14 @@
  * 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.6 2003/08/27 11:39:32 rob Exp $
+ * $DragonFly: src/sys/emulation/svr4/Attic/svr4_union.h,v 1.7 2003/11/20 06:05:30 dillon Exp $
  * created from DragonFly: src/sys/emulation/svr4/syscalls.master,v 1.3 2003/08/07 21:17:19 dillon Exp 
  */
 
 union sysunion {
 #ifdef _KERNEL /* header only applies in kernel */
        struct  lwkt_msg lmsg;
-       union   sysmsg sysmsg;
+       struct  sysmsg sysmsg;
 #endif
        struct  svr4_sys_open_args svr4_sys_open;
        struct  svr4_sys_wait_args svr4_sys_wait;
index a40db39..363d14e 100644 (file)
@@ -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.41 2003/11/10 18:29:33 dillon Exp $
+ * $DragonFly: src/sys/i386/i386/Attic/trap.c,v 1.42 2003/11/20 06:05:30 dillon Exp $
  */
 
 /*
@@ -1317,6 +1317,7 @@ syscall2(struct trapframe frame)
         * system call returns we pre-set it here.
         */
        lwkt_initmsg(&args.lmsg, &td->td_msgport, code);
+       args.sysmsg_copyout = NULL;
        args.sysmsg_fds[0] = 0;
        args.sysmsg_fds[1] = frame.tf_edx;
 
@@ -1484,8 +1485,8 @@ sendsys2(struct trapframe frame)
                        gd = td->td_gd;
                        umsg = sysun->lmsg.opaque.ms_umsg;
                        frame.tf_eax = (register_t)umsg;
-                       if (sysun->lmsg.ms_cleanupmsg)
-                               sysun->lmsg.ms_cleanupmsg(&td->td_msgport, &sysun->lmsg);
+                       if (sysun->sysmsg_copyout)
+                               sysun->sysmsg_copyout(sysun);
                        atomic_add_int_nonlocked(&td->td_msgport.mp_refs, -1);
                        sysun->nosys.usrmsg.umsg.u.ms_fds[0] = sysun->lmsg.u.ms_fds[0];
                        sysun->nosys.usrmsg.umsg.u.ms_fds[1] = sysun->lmsg.u.ms_fds[1];
@@ -1527,7 +1528,7 @@ sendsys2(struct trapframe frame)
         * Bad message size
         */
        if (msgsize < sizeof(struct lwkt_msg) ||
-           msgsize > sizeof(union sysunion) - sizeof(union sysmsg)
+           msgsize > sizeof(union sysunion) - sizeof(struct sysmsg)
        ) {
                error = ENOSYS;
                goto bad2;
@@ -1569,6 +1570,7 @@ sendsys2(struct trapframe frame)
         */
        lwkt_initmsg(&sysun->lmsg, &td->td_msgport, 
            sysun->nosys.usrmsg.umsg.ms_cmd);
+       sysun->sysmsg_copyout = NULL;
        sysun->lmsg.opaque.ms_umsg = umsg;
        sysun->lmsg.ms_flags |= sysun->nosys.usrmsg.umsg.ms_flags & MSGF_ASYNC;
 
index 09e3850..b8f4310 100644 (file)
@@ -2,8 +2,8 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $DragonFly: src/sys/kern/init_sysent.c,v 1.11 2003/11/10 23:58:57 dillon Exp $
- * created from DragonFly: src/sys/kern/syscalls.master,v 1.7 2003/11/05 23:26:20 dillon Exp 
+ * $DragonFly: src/sys/kern/init_sysent.c,v 1.12 2003/11/20 06:05:30 dillon Exp $
+ * created from DragonFly: src/sys/kern/syscalls.master,v 1.8 2003/11/10 23:58:57 dillon Exp 
  */
 
 #include "opt_compat.h"
@@ -12,7 +12,7 @@
 #include <sys/sysent.h>
 #include <sys/sysproto.h>
 
-#define AS(name) ((sizeof(struct name) - sizeof(union sysmsg) - sizeof(union usrmsg)) / sizeof(register_t))
+#define AS(name) ((sizeof(struct name) - sizeof(struct sysmsg) - sizeof(union usrmsg)) / sizeof(register_t))
 
 #ifdef COMPAT_43
 #define compat(n, name) n, (sy_call_t *)__CONCAT(o,name)
index a22cfa9..9537271 100644 (file)
@@ -25,7 +25,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $DragonFly: src/sys/kern/kern_device.c,v 1.5 2003/08/23 16:58:36 dillon Exp $
+ * $DragonFly: src/sys/kern/kern_device.c,v 1.6 2003/11/20 06:05:30 dillon Exp $
  */
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -66,7 +66,7 @@ static void
 init_default_cdevsw_port(lwkt_port_t port)
 {
     lwkt_init_port(port, NULL);
-    port->mp_beginmsg = cdevsw_putport;
+    port->mp_putport = cdevsw_putport;
 }
 
 static
@@ -586,7 +586,7 @@ compile_devsw(struct cdevsw *devsw)
 {
     static lwkt_port devsw_compat_port;
 
-    if (devsw_compat_port.mp_beginmsg == NULL)
+    if (devsw_compat_port.mp_putport == NULL)
        init_default_cdevsw_port(&devsw_compat_port);
     
     if (devsw->old_open == NULL)
index 34e606d..ccb2341 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)kern_time.c 8.1 (Berkeley) 6/10/93
  * $FreeBSD: src/sys/kern/kern_time.c,v 1.68.2.1 2002/10/01 08:00:41 bde Exp $
- * $DragonFly: src/sys/kern/kern_time.c,v 1.10 2003/08/26 21:09:02 rob Exp $
+ * $DragonFly: src/sys/kern/kern_time.c,v 1.11 2003/11/20 06:05:30 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -44,6 +44,7 @@
 #include <sys/kernel.h>
 #include <sys/systm.h>
 #include <sys/sysent.h>
+#include <sys/sysunion.h>
 #include <sys/proc.h>
 #include <sys/time.h>
 #include <sys/vnode.h>
@@ -236,37 +237,37 @@ nanosleep1(struct timespec *rqt, struct timespec *rmt)
 }
 
 static void nanosleep_done(void *arg);
-static void nanosleep_return(lwkt_port_t port, lwkt_msg_t msg);
+static void nanosleep_copyout(union sysunion *sysun);
 
 /* ARGSUSED */
 int
 nanosleep(struct nanosleep_args *uap)
 {
        int error;
-       struct sysmsg_sleep *sysmsg = &uap->sysmsg.sm_sleep;
+       struct sysmsg_sleep *smsleep = &uap->sysmsg.sm.sleep;
 
-       error = copyin(uap->rqtp, &sysmsg->rqt, sizeof(sysmsg->rqt));
+       error = copyin(uap->rqtp, &smsleep->rqt, sizeof(smsleep->rqt));
        if (error)
                return (error);
        /*
         * YYY clean this up to always use the callout, note that an abort
         * implementation should record the residual in the async case.
         */
-       if (sysmsg->lmsg.ms_flags & MSGF_ASYNC) {
+       if (uap->sysmsg.lmsg.ms_flags & MSGF_ASYNC) {
                quad_t ticks;
 
-               ticks = (quad_t)sysmsg->rqt.tv_nsec * hz / 1000000000LL;
-               if (sysmsg->rqt.tv_sec)
-                       ticks += (quad_t)sysmsg->rqt.tv_sec * hz;
+               ticks = (quad_t)smsleep->rqt.tv_nsec * hz / 1000000000LL;
+               if (smsleep->rqt.tv_sec)
+                       ticks += (quad_t)smsleep->rqt.tv_sec * hz;
                if (ticks <= 0) {
                        if (ticks == 0)
                                error = 0;
                        else
                                error = EINVAL;
                } else {
-                       sysmsg->lmsg.ms_cleanupmsg = nanosleep_return;
-                       callout_init(&sysmsg->timer);
-                       callout_reset(&sysmsg->timer, ticks, nanosleep_done, uap);
+                       uap->sysmsg.copyout = nanosleep_copyout;
+                       callout_init(&smsleep->timer);
+                       callout_reset(&smsleep->timer, ticks, nanosleep_done, uap);
                        error = EASYNC;
                }
        } else {
@@ -274,9 +275,9 @@ nanosleep(struct nanosleep_args *uap)
                 * Old synchronous sleep code, copyout the residual if
                 * nanosleep was interrupted.
                 */
-               error = nanosleep1(&sysmsg->rqt, &sysmsg->rmt);
+               error = nanosleep1(&smsleep->rqt, &smsleep->rmt);
                if (error && SCARG(uap, rmtp))
-                       error = copyout(&sysmsg->rmt, SCARG(uap, rmtp), sizeof(sysmsg->rmt));
+                       error = copyout(&smsleep->rmt, SCARG(uap, rmtp), sizeof(smsleep->rmt));
        }
        return (error);
 }
@@ -305,14 +306,14 @@ nanosleep_done(void *arg)
  * function.
  */
 static void
-nanosleep_return(lwkt_port_t port, lwkt_msg_t msg)
+nanosleep_copyout(union sysunion *sysun)
 {
-       struct nanosleep_args *uap = (void *)msg;
-       struct sysmsg_sleep *sysmsg = &uap->sysmsg.sm_sleep;
+       struct nanosleep_args *uap = &sysun->nanosleep;
+       struct sysmsg_sleep *smsleep = &uap->sysmsg.sm.sleep;
 
-       if (sysmsg->lmsg.ms_error && uap->rmtp) {
-               sysmsg->lmsg.ms_error = 
-                   copyout(&sysmsg->rmt, uap->rmtp, sizeof(sysmsg->rmt));
+       if (sysun->lmsg.ms_error && uap->rmtp) {
+               sysun->lmsg.ms_error = 
+                   copyout(&smsleep->rmt, uap->rmtp, sizeof(smsleep->rmt));
        }
 }
 
index 698ce28..d8e1001 100644 (file)
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $DragonFly: src/sys/kern/lwkt_msgport.c,v 1.7 2003/11/08 05:38:58 dillon Exp $
+ * NOTE! This file may be compiled for userland libraries as well as for
+ * the kernel.
+ *
+ * $DragonFly: src/sys/kern/lwkt_msgport.c,v 1.8 2003/11/20 06:05:30 dillon Exp $
  */
 
+#ifdef _KERNEL
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
 #include <machine/smp.h>
 #endif
 
+#else
+
+#include <sys/msgport.h>
+#include <sys/msgport2.h>
+
+#endif /* _KERNEL */
+
 
 /************************************************************************
  *                             MESSAGE FUNCTIONS                       *
@@ -63,7 +75,6 @@
 
 static void lwkt_replyport_remote(lwkt_msg_t msg);
 static void lwkt_putport_remote(lwkt_msg_t msg);
-static void lwkt_abortport_remote(lwkt_port_t port);
 
 void
 lwkt_initmsg_td(lwkt_msg_t msg, thread_t td)
@@ -92,7 +103,6 @@ lwkt_sendmsg(lwkt_port_t port, lwkt_msg_t msg)
     msg->ms_flags |= MSGF_ASYNC;
     msg->ms_flags &= ~(MSGF_REPLY | MSGF_QUEUED);
     msg->ms_reply_port = &curthread->td_msgport;
-    msg->ms_abortreq = 0;
     if ((error = lwkt_beginmsg(port, msg)) != EASYNC) {
        lwkt_replymsg(msg, error);
     }
@@ -121,66 +131,12 @@ lwkt_domsg(lwkt_port_t port, lwkt_msg_t msg)
 
     msg->ms_flags &= ~(MSGF_ASYNC | MSGF_REPLY | MSGF_QUEUED);
     msg->ms_reply_port = &curthread->td_msgport;
-    msg->ms_abortreq = 0;
     if ((error = lwkt_beginmsg(port, msg)) == EASYNC) {
        error = lwkt_waitmsg(msg);
     }
     return(error);
 }
 
-/*
- * lwkt_waitmsg()
- *
- *     Wait for a message that we originated to complete, remove it from
- *     the reply queue if necessary, and return its error code.
- *
- *     This call may be used in virtually any situation, including for the
- *     case where you used lwkt_sendmsg() to initiate the message.
- *
- *     Note that we don't own the message any more so we cannot safely 
- *     modify ms_flags, meaning we can't clear MSGF_ASYNC as an optimization.
- *     However, since any remote cpu replying to the message will IPI the
- *     message over to us for action, a critical section is sufficient to
- *     protect td_msgq.
- */
-int
-lwkt_waitmsg(lwkt_msg_t msg)
-{
-    lwkt_port_t port;
-
-    /*
-     * Done but not queued case (message was originally a synchronous request)
-     */
-    if ((msg->ms_flags & (MSGF_DONE|MSGF_REPLY)) == MSGF_DONE)
-       return(msg->ms_error);
-
-    /*
-     * We must own the reply port to safely mess with it's contents.
-     */
-    port = msg->ms_reply_port;
-    KKASSERT(port->mp_td == curthread);
-
-    crit_enter();
-    if ((msg->ms_flags & MSGF_DONE) == 0) {
-       port->mp_flags |= MSGPORTF_WAITING;
-       do {
-           lwkt_deschedule_self();
-           lwkt_switch();
-       } while ((msg->ms_flags & MSGF_DONE) == 0);
-       port->mp_flags &= ~MSGPORTF_WAITING;
-    }
-    /*
-     * We own the message now.
-     */
-    if (msg->ms_flags & MSGF_QUEUED) {
-       msg->ms_flags &= ~MSGF_QUEUED;
-       TAILQ_REMOVE(&port->mp_msgq, msg, ms_node);
-    }
-    crit_exit();
-    return(msg->ms_error);
-}
-
-
 /************************************************************************
  *                             PORT FUNCTIONS                          *
  ************************************************************************/
@@ -196,15 +152,23 @@ lwkt_init_port(lwkt_port_t port, thread_t td)
     bzero(port, sizeof(*port));
     TAILQ_INIT(&port->mp_msgq);
     port->mp_td = td;
-    port->mp_beginmsg = lwkt_putport;
-    port->mp_abortmsg =  lwkt_abortport;
-    port->mp_returnmsg = lwkt_replyport;
+    port->mp_putport = lwkt_putport;
+    port->mp_waitport =  lwkt_waitport;
+    port->mp_replyport = lwkt_replyport;
+    port->mp_abortport = lwkt_abortport;
 }
 
+/*
+ * The rest of the procedures implement the kernel's port functions.  Userland
+ * will have a different set of these
+ */
+
+#ifdef _KERNEL
+
 /*
  * lwkt_replyport()
  *
- *     This function is typically assigned to the mp_replymsg port vector.
+ *     This function is typically assigned to the mp_replyport port vector.
  *
  *     The message is being returned to the specified port.  The port is
  *     owned by the mp_td thread.  If we are on the same cpu as the mp_td
@@ -259,11 +223,11 @@ lwkt_replyport(lwkt_port_t port, lwkt_msg_t msg)
 /*
  * lwkt_putport()
  *
- *     This function is typically assigned to the mp_beginmsg port vector.
+ *     This function is typically assigned to the mp_putport port vector.
  *
  *     Queue a message to the target port and wakeup the thread owning it.
  *     This function always returns EASYNC and may be assigned to a
- *     message port's mp_beginmsg function vector.
+ *     message port's mp_putport function vector.
  *
  *     You must already be in a critical section when calling
  *     the inline function.  The _remote function will be in a critical
@@ -308,57 +272,22 @@ lwkt_putport(lwkt_port_t port, lwkt_msg_t msg)
 /*
  * lwkt_abortport()
  *
- *     This function is typically assigned to the mp_abortmsg port vector.
+ *     This function is typically assigned to the mp_abortport port vector.
  *
- *     This function attempts to abort a message.  Aborts are always 
- *     optional, so we could just do nothing if we wanted.  We get onto the
- *     cpu owning the port, check to see if the message is queued on the 
- *     port's message queue, and remove and abort it if it is.  Otherwise
- *     we do nothing.  
+ *     This vector is typically called via the message's ms_target_port
+ *     pointer.  It should be noted that ms_target_port may race against
+ *     a forwarding operation run on a different cpu.  Any implementation
+ *     of lwkt_abortport() must deal with potential races by following
+ *     the message to the next appropriate port.
  *
- *     Note that we cannot safely use ms_target_port because the port might
- *     have forwarded the message on to some other port and we could race
- *     against that use of ms_target_port.
+ *     This function is a NOP.  by defaults message ports have no abort
+ *     capabilities.  Remember that aborts are always optional so doing 
+ *     nothing is perfectly reasonable.
  */
-static
-__inline
-void
-_lwkt_abortport(lwkt_port_t port)
-{
-    thread_t td = port->mp_td;
-    lwkt_msg_t msg;
-
-    if (td->td_gd == mycpu) {
-again:
-       msg = TAILQ_FIRST(&port->mp_msgq);
-       while (msg) {
-           if (msg->ms_abortreq) {
-               TAILQ_REMOVE(&port->mp_msgq, msg, ms_node);
-               msg->ms_flags &= ~MSGF_QUEUED;
-               lwkt_replymsg(msg, ECONNABORTED); /* YYY dangerous from IPI? */
-               goto again;
-           }
-           msg = TAILQ_NEXT(msg, ms_node);
-       }
-    } else {
-       lwkt_send_ipiq(td->td_gd->gd_cpuid, (ipifunc_t)lwkt_abortport_remote, port);
-    }
-}
-
-static
-void
-lwkt_abortport_remote(lwkt_port_t port)
-{
-    _lwkt_abortport(port);
-}
-
 void
 lwkt_abortport(lwkt_port_t port, lwkt_msg_t msg)
 {
-    msg->ms_abortreq = 1;
-    crit_enter();
-    _lwkt_abortport(port);
-    crit_exit();
+    /* NOP */
 }
 
 /*
@@ -388,32 +317,70 @@ lwkt_getport(lwkt_port_t port)
 /*
  * lwkt_waitport()
  *
- *     Retrieve the next message from the port's message queue, block until
- *     a message is ready.  This function never returns NULL.
+ *     If msg is NULL, dequeue the next message from the port's message
+ *     queue, block until a message is ready.  This function never
+ *     returns NULL.
+ *
+ *     If msg is non-NULL, block until the requested message has been returned
+ *     to the port then dequeue and return it.
  *
  *     Note that the API does not currently support multiple threads waiting
  *     on a port.  By virtue of owning the port it is controlled by our
  *     cpu and we can safely manipulate it's contents.
  */
 void *
-lwkt_waitport(lwkt_port_t port)
+lwkt_waitport(lwkt_port_t port, lwkt_msg_t msg)
 {
-    lwkt_msg_t msg;
-
     KKASSERT(port->mp_td == curthread);
 
     crit_enter();
-    if ((msg = TAILQ_FIRST(&port->mp_msgq)) == NULL) {
-       port->mp_flags |= MSGPORTF_WAITING;
-       do {
-           lwkt_deschedule_self();
-           lwkt_switch();
-       } while ((msg = TAILQ_FIRST(&port->mp_msgq)) == NULL);
-       port->mp_flags &= ~MSGPORTF_WAITING;
+    if (msg == NULL) {
+       if ((msg = TAILQ_FIRST(&port->mp_msgq)) == NULL) {
+           port->mp_flags |= MSGPORTF_WAITING;
+           do {
+               lwkt_deschedule_self();
+               lwkt_switch();
+           } while ((msg = TAILQ_FIRST(&port->mp_msgq)) == NULL);
+           port->mp_flags &= ~MSGPORTF_WAITING;
+       }
+       TAILQ_REMOVE(&port->mp_msgq, msg, ms_node);
+       msg->ms_flags &= ~MSGF_QUEUED;
+    } else {
+       /*
+        * If the message is marked done by not queued it has already been
+        * pulled off the port and returned and we do not have to do anything.
+        * Otherwise we do not own the message have to wait for message
+        * completion.  Beware of cpu races if MSGF_DONE is not foudn to be
+        * set!
+        */
+       if ((msg->ms_flags & (MSGF_DONE|MSGF_REPLY)) != MSGF_DONE) {
+           /*
+            * We must own the reply port to safely mess with it's contents.
+            */
+           port = msg->ms_reply_port;
+           KKASSERT(port->mp_td == curthread);
+
+           crit_enter();
+           if ((msg->ms_flags & MSGF_DONE) == 0) {
+               port->mp_flags |= MSGPORTF_WAITING; /* saved by the BGL */
+               do {
+                   lwkt_deschedule_self();
+                   lwkt_switch();
+               } while ((msg->ms_flags & MSGF_DONE) == 0);
+               port->mp_flags &= ~MSGPORTF_WAITING; /* saved by the BGL */
+           }
+           /*
+            * We own the message now.
+            */
+           if (msg->ms_flags & MSGF_QUEUED) {
+               msg->ms_flags &= ~MSGF_QUEUED;
+               TAILQ_REMOVE(&port->mp_msgq, msg, ms_node);
+           }
+       }
     }
-    TAILQ_REMOVE(&port->mp_msgq, msg, ms_node);
-    msg->ms_flags &= ~MSGF_QUEUED;
     crit_exit();
     return(msg);
 }
 
+#endif
+
index 3f02135..d543765 100644 (file)
@@ -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.9 2003/08/20 07:37:54 rob Exp $
+# $DragonFly: src/sys/kern/makesyscalls.sh,v 1.10 2003/11/20 06:05:30 dillon Exp $
 
 set -e
 
@@ -140,7 +140,7 @@ s/\$//g
                printf "union sysunion {\n" > sysun
                printf "#ifdef _KERNEL /* header only applies in kernel */\n" > sysun
                printf "\tstruct\tlwkt_msg lmsg;\n" > sysun
-               printf "\tunion\tsysmsg sysmsg;\n" > sysun
+               printf "\tstruct\tsysmsg sysmsg;\n" > sysun
                printf "#endif\n" > sysun
                next
        }
@@ -302,7 +302,7 @@ s/\$//g
                                printf("\tstruct\t%s %s;\n", argalias, usefuncname) > sysun
                                printf("struct\t%s {\n", argalias) > sysarg
                                printf("#ifdef _KERNEL\n") > sysarg
-                               printf("\tunion sysmsg sysmsg;\n") > sysarg
+                               printf("\tstruct sysmsg sysmsg;\n") > sysarg
                                printf("#endif\n") > sysarg
                                printf("\tunion usrmsg usrmsg;\n") > sysarg
                                for (i = 1; i <= argc; i++)
@@ -316,7 +316,7 @@ s/\$//g
                                printf("\tstruct\t%s %s;\n", argalias, usefuncname) > sysun
                                printf("struct\t%s {\n", argalias) > sysarg
                                printf("#ifdef _KERNEL\n") > sysarg
-                               printf("\tunion sysmsg sysmsg;\n") > sysarg
+                               printf("\tstruct sysmsg sysmsg;\n") > sysarg
                                printf("#endif\n") > sysarg
                                printf("\tunion usrmsg usrmsg;\n") > sysarg
                                printf("\tregister_t dummy;\n") > sysarg
@@ -367,7 +367,7 @@ s/\$//g
                        printf("#endif\n") > sysun
                        printf("struct\t%s {\n", argalias) > syscompat
                        printf("#ifdef _KERNEL\n") > syscompat
-                       printf("\tunion sysmsg sysmsg;\n") > syscompat
+                       printf("\tstruct sysmsg sysmsg;\n") > syscompat
                        printf("#endif\n") > syscompat
                        printf("\tunion usrmsg usrmsg;\n") > syscompat
                        for (i = 1; i <= argc; i++)
@@ -380,7 +380,7 @@ s/\$//g
                        printf("\tstruct\t%s %s;\n", argalias, usefuncname) > sysun
                        printf("struct\t%s {\n", argalias) > sysarg
                        printf("#ifdef _KERNEL\n") > sysarg
-                       printf("\tunion sysmsg sysmsg;\n") > sysarg
+                       printf("\tstruct sysmsg sysmsg;\n") > sysarg
                        printf("#endif\n") > sysarg
                        printf("\tunion usrmsg usrmsg;\n") > sysarg
                        printf("\tregister_t dummy;\n") > sysarg
@@ -449,7 +449,7 @@ s/\$//g
                exit 1
        }
        END {
-               printf "\n#define AS(name) ((sizeof(struct name) - sizeof(union sysmsg) - sizeof(union usrmsg)) / sizeof(register_t))\n" > sysinc
+               printf "\n#define AS(name) ((sizeof(struct name) - sizeof(struct sysmsg) - sizeof(union usrmsg)) / sizeof(register_t))\n" > sysinc
                if (ncompat != 0) {
                        printf "#include \"opt_compat.h\"\n\n" > syssw
                        printf "\n#ifdef %s\n", compat > sysinc
index fb5d752..f2476ab 100644 (file)
@@ -7,7 +7,7 @@
  * ----------------------------------------------------------------------------
  *
  * $FreeBSD: src/sys/kern/subr_disk.c,v 1.20.2.6 2001/10/05 07:14:57 peter Exp $
- * $DragonFly: src/sys/kern/subr_disk.c,v 1.5 2003/07/22 17:03:33 dillon Exp $
+ * $DragonFly: src/sys/kern/subr_disk.c,v 1.6 2003/11/20 06:05:30 dillon Exp $
  *
  */
 
@@ -60,7 +60,7 @@ disk_create(int unit, struct disk *dp, int flags, struct cdevsw *cdevsw)
 
        bzero(dp, sizeof(*dp));
        lwkt_init_port(&dp->d_port, NULL);      /* intercept port */
-       dp->d_port.mp_beginmsg = disk_putport;
+       dp->d_port.mp_putport = disk_putport;
 
        dev = makedev(cdevsw->d_maj, 0);        /* base device */
        dev->si_disk = dp;
index 2768e11..b55fff5 100644 (file)
@@ -2,8 +2,8 @@
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $DragonFly: src/sys/kern/syscalls.c,v 1.11 2003/11/10 23:58:57 dillon Exp $
- * created from DragonFly: src/sys/kern/syscalls.master,v 1.7 2003/11/05 23:26:20 dillon Exp 
+ * $DragonFly: src/sys/kern/syscalls.c,v 1.12 2003/11/20 06:05:30 dillon Exp $
+ * created from DragonFly: src/sys/kern/syscalls.master,v 1.8 2003/11/10 23:58:57 dillon Exp 
  */
 
 char *syscallnames[] = {
index a83e6c9..68a7d9d 100644 (file)
@@ -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.11 2003/08/26 21:09:02 rob Exp $ */
+/* $DragonFly: src/sys/kern/sysv_shm.c,v 1.12 2003/11/20 06:05:30 dillon Exp $ */
 /*     $NetBSD: sysv_shm.c,v 1.23 1994/07/04 23:25:12 glass Exp $      */
 
 /*
@@ -328,7 +328,7 @@ struct oshmid_ds {
 };
 
 struct oshmctl_args {
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
        int shmid;
        int cmd;
        struct oshmid_ds *ubuf;
index e3e3ab9..0ee53ee 100644 (file)
@@ -37,7 +37,7 @@
  *
  *     from: @(#)cons.c        7.2 (Berkeley) 5/9/91
  * $FreeBSD: src/sys/kern/tty_cons.c,v 1.81.2.4 2001/12/17 18:44:41 guido Exp $
- * $DragonFly: src/sys/kern/tty_cons.c,v 1.8 2003/11/10 06:12:13 dillon Exp $
+ * $DragonFly: src/sys/kern/tty_cons.c,v 1.9 2003/11/20 06:05:30 dillon Exp $
  */
 
 #include "opt_ddb.h"
@@ -127,7 +127,7 @@ cninit()
         * Our port intercept
         */
        lwkt_init_port(&cn_port, NULL);
-       cn_port.mp_beginmsg = console_putport;
+       cn_port.mp_putport = console_putport;
 
        /*
         * Find the first console with the highest priority.
index 8bb41bb..a48ebc5 100644 (file)
@@ -3,7 +3,7 @@
  * Copyright (c) 2003 Jonathan Lemon
  * Copyright (c) 2003 Matthew Dillon
  *
- * $DragonFly: src/sys/net/netisr.c,v 1.5 2003/11/14 00:45:20 dillon Exp $
+ * $DragonFly: src/sys/net/netisr.c,v 1.6 2003/11/20 06:05:31 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -53,7 +53,7 @@ netmsg_service_loop(void *arg)
 {
     struct netmsg *msg;
 
-    while ((msg = lwkt_waitport(&curthread->td_msgport))) {
+    while ((msg = lwkt_waitport(&curthread->td_msgport, NULL))) {
        struct mbuf *m = msg->nm_packet;
        netisr_fn_t handler = msg->nm_handler;
 
index b9cb4ed..376b2a8 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (c) 2003 Jeffrey Hsu
  * All rights reserved.
  *
- * $DragonFly: src/sys/netinet/ip_demux.c,v 1.2 2003/11/10 18:32:59 dillon Exp $
+ * $DragonFly: src/sys/netinet/ip_demux.c,v 1.3 2003/11/20 06:05:31 dillon Exp $
  */
 
 #include "opt_inet.h"
@@ -105,7 +105,7 @@ ip_mport(struct mbuf *m)
                port = &netisr_cpu[0].td_msgport;
                break;
        }
-       KKASSERT(port->mp_beginmsg != NULL);
+       KKASSERT(port->mp_putport != NULL);
 
        return (port);
 }
index a871d1f..b15799f 100644 (file)
@@ -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.7 2003/08/07 21:17:38 dillon Exp $
+ * $DragonFly: src/sys/netproto/ncp/ncp_mod.c,v 1.8 2003/11/20 06:05:31 dillon Exp $
  */
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -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 {
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
        struct ncp_conn_args *li;
        int *connHandle;
 };
@@ -102,7 +102,7 @@ bad:
 }
 
 struct sncp_request_args {
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
        int connHandle;
        int fn;
        struct ncp_buf *ncpbuf;
@@ -313,7 +313,7 @@ ncp_conn_handler(struct thread *td, struct sncp_request_args *uap,
 }
 
 struct sncp_conn_scan_args {
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
        struct ncp_conn_args *li;
        int *connHandle;
 };
@@ -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 {
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
        u_long  com;
        caddr_t data;
 };
index d7372d6..34915cd 100644 (file)
@@ -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.41 2003/11/10 18:29:33 dillon Exp $
+ * $DragonFly: src/sys/platform/pc32/i386/trap.c,v 1.42 2003/11/20 06:05:30 dillon Exp $
  */
 
 /*
@@ -1317,6 +1317,7 @@ syscall2(struct trapframe frame)
         * system call returns we pre-set it here.
         */
        lwkt_initmsg(&args.lmsg, &td->td_msgport, code);
+       args.sysmsg_copyout = NULL;
        args.sysmsg_fds[0] = 0;
        args.sysmsg_fds[1] = frame.tf_edx;
 
@@ -1484,8 +1485,8 @@ sendsys2(struct trapframe frame)
                        gd = td->td_gd;
                        umsg = sysun->lmsg.opaque.ms_umsg;
                        frame.tf_eax = (register_t)umsg;
-                       if (sysun->lmsg.ms_cleanupmsg)
-                               sysun->lmsg.ms_cleanupmsg(&td->td_msgport, &sysun->lmsg);
+                       if (sysun->sysmsg_copyout)
+                               sysun->sysmsg_copyout(sysun);
                        atomic_add_int_nonlocked(&td->td_msgport.mp_refs, -1);
                        sysun->nosys.usrmsg.umsg.u.ms_fds[0] = sysun->lmsg.u.ms_fds[0];
                        sysun->nosys.usrmsg.umsg.u.ms_fds[1] = sysun->lmsg.u.ms_fds[1];
@@ -1527,7 +1528,7 @@ sendsys2(struct trapframe frame)
         * Bad message size
         */
        if (msgsize < sizeof(struct lwkt_msg) ||
-           msgsize > sizeof(union sysunion) - sizeof(union sysmsg)
+           msgsize > sizeof(union sysunion) - sizeof(struct sysmsg)
        ) {
                error = ENOSYS;
                goto bad2;
@@ -1569,6 +1570,7 @@ sendsys2(struct trapframe frame)
         */
        lwkt_initmsg(&sysun->lmsg, &td->td_msgport, 
            sysun->nosys.usrmsg.umsg.ms_cmd);
+       sysun->sysmsg_copyout = NULL;
        sysun->lmsg.opaque.ms_umsg = umsg;
        sysun->lmsg.ms_flags |= sysun->nosys.usrmsg.umsg.ms_flags & MSGF_ASYNC;
 
index 21ce786..de1f14a 100644 (file)
@@ -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.18 2003/10/17 07:30:40 dillon Exp $
+ * $DragonFly: src/sys/sys/globaldata.h,v 1.19 2003/11/20 06:05:31 dillon Exp $
  */
 
 #ifndef _SYS_GLOBALDATA_H_
@@ -72,7 +72,7 @@
  * of unreserved structures in the cache.  See vm_map_entry_reserve().
  */
 
-union sysmsg;
+struct sysmsg;
 struct privatespace;
 struct vm_map_entry;
 
index a83ec73..75d973c 100644 (file)
@@ -3,7 +3,7 @@
  *
  *     Implements LWKT messages and ports.
  * 
- * $DragonFly: src/sys/sys/msgport.h,v 1.8 2003/11/08 07:57:43 dillon Exp $
+ * $DragonFly: src/sys/sys/msgport.h,v 1.9 2003/11/20 06:05:31 dillon Exp $
  */
 
 #ifndef _SYS_MSGPORT_H_
@@ -27,10 +27,6 @@ typedef TAILQ_HEAD(lwkt_msg_queue, lwkt_msg) lwkt_msg_queue;
  * threads.  See kern/lwkt_msgport.c for documentation on how messages and
  * ports work.
  *
- * NOTE: ms_cleanupmsg() is typically used to finish up the handling of a
- * message in the context of the caller.  For example, so a sycall can 
- * copyout() information to userland.
- *
  * NOTE! 64-bit-align this structure.
  */
 typedef struct lwkt_msg {
@@ -40,17 +36,16 @@ typedef struct lwkt_msg {
        union sysunion  *ms_sysunnext;  /* 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_target_port;                /* current target or relay port */
     lwkt_port_t        ms_reply_port;          /* asynch replies returned here */
-    void       (*ms_cleanupmsg)(lwkt_port_t port, lwkt_msg_t msg);
-    void       *ms_unused;             /* (alignment) */
-    int                ms_abortreq;            /* set asynchronously */
-    int                ms_cmd;
-    int                ms_flags;
-#define ms_copyout_start       ms_error
-    int                ms_error;
+    int                ms_maxsize;             /* maximum returned message size */
+    int                ms_cmd;                 /* message command */
+    int                ms_flags;               /* message flags */
+#define ms_copyout_start       ms_msgsize
+    int                ms_msgsize;             /* sent/returned size of message */
+    int                ms_error;               /* positive error code or 0 */
     union {
-       void    *ms_resultp;            /* misc pointer result */
+       void    *ms_resultp;            /* misc pointer data or result */
        int     ms_result;              /* standard 'int'eger result */
        long    ms_lresult;             /* long result */
        int     ms_fds[2];              /* two int bit results */
@@ -68,6 +63,7 @@ typedef struct lwkt_msg {
 #define MSGF_REPLY     0x0002          /* asynch message has been returned */
 #define MSGF_QUEUED    0x0004          /* message has been queued sanitychk */
 #define MSGF_ASYNC     0x0008          /* sync/async hint */
+#define MSGF_ABORTED   0x0010          /* message was aborted flag */
 
 #define MSG_CMD_CDEV   0x00010000
 #define MSG_CMD_VFS    0x00020000
@@ -80,26 +76,28 @@ typedef struct lwkt_port {
     int                        mp_flags;
     int                        mp_refs;        /* references to port structure */
     struct thread      *mp_td;
-    int                        (*mp_beginmsg)(lwkt_port_t port, lwkt_msg_t msg);
-    void               (*mp_abortmsg)(lwkt_port_t port, lwkt_msg_t msg);
-    void               (*mp_returnmsg)(lwkt_port_t port, lwkt_msg_t msg);
+    int                        (*mp_putport)(lwkt_port_t, lwkt_msg_t);
+    void *             (*mp_waitport)(lwkt_port_t, lwkt_msg_t);
+    void               (*mp_replyport)(lwkt_port_t, lwkt_msg_t);
+    void               (*mp_abortport)(lwkt_port_t, lwkt_msg_t);
 } lwkt_port;
 
 #define MSGPORTF_WAITING       0x0001
 
-#ifdef _KERNEL
-
-extern void lwkt_init_port(lwkt_port_t port, struct thread *td);
-extern void lwkt_initmsg_td(lwkt_msg_t msg, struct thread *td);
-extern void lwkt_sendmsg(lwkt_port_t port, lwkt_msg_t msg);
-extern int lwkt_domsg(lwkt_port_t port, lwkt_msg_t msg);
-extern int lwkt_waitmsg(lwkt_msg_t msg);
-extern void lwkt_replyport(lwkt_port_t port, lwkt_msg_t msg);
-extern void lwkt_abortport(lwkt_port_t port, lwkt_msg_t msg);
-extern int lwkt_putport(lwkt_port_t port, lwkt_msg_t msg);
-extern void *lwkt_getport(lwkt_port_t port);
-extern void *lwkt_waitport(lwkt_port_t port);
+/*
+ * These functions are good for userland as well as the kernel.  The 
+ * messaging function support for userland is provided by the kernel's
+ * kern/lwkt_msgport.c.  The port functions are provided by userland.
+ */
+extern void lwkt_init_port(lwkt_port_t, struct thread *);
+extern void lwkt_initmsg_td(lwkt_msg_t, struct thread *);
+extern void lwkt_sendmsg(lwkt_port_t, lwkt_msg_t);
+extern int lwkt_domsg(lwkt_port_t, lwkt_msg_t);
+extern void *lwkt_getport(lwkt_port_t);
 
-#endif
+extern int lwkt_putport(lwkt_port_t, lwkt_msg_t);
+extern void *lwkt_waitport(lwkt_port_t, lwkt_msg_t);
+extern void lwkt_replyport(lwkt_port_t, lwkt_msg_t);
+extern void lwkt_abortport(lwkt_port_t, lwkt_msg_t);
 
 #endif
index 6e0bc85..7cfd08b 100644 (file)
@@ -3,7 +3,7 @@
  *
  *     Implements Inlines for LWKT messages and ports.
  * 
- * $DragonFly: src/sys/sys/msgport2.h,v 1.3 2003/08/12 02:36:15 dillon Exp $
+ * $DragonFly: src/sys/sys/msgport2.h,v 1.4 2003/11/20 06:05:31 dillon Exp $
  */
 
 #ifndef _SYS_MSGPORT2_H_
@@ -16,7 +16,8 @@ lwkt_initmsg(lwkt_msg_t msg, lwkt_port_t rport, int cmd)
     msg->ms_cmd = cmd;
     msg->ms_flags = MSGF_DONE;
     msg->ms_reply_port = rport;
-    msg->ms_cleanupmsg = NULL;
+    msg->ms_msgsize = 0;
+    msg->ms_maxsize = 0;
 }
 
 static __inline
@@ -25,30 +26,36 @@ lwkt_reinitmsg(lwkt_msg_t msg, lwkt_port_t rport)
 {
     msg->ms_flags = (msg->ms_flags & MSGF_ASYNC) | MSGF_DONE;
     msg->ms_reply_port = rport;
-    msg->ms_cleanupmsg = NULL;
 }
 
-#ifdef _KERNEL
-
 static __inline
 int
 lwkt_beginmsg(lwkt_port_t port, lwkt_msg_t msg)
 {
-    return(port->mp_beginmsg(port, msg));
+    return(port->mp_putport(port, msg));
 }
 
 static __inline
 int
 lwkt_forwardmsg(lwkt_port_t port, lwkt_msg_t msg)
 {
-    return(port->mp_beginmsg(port, msg));
+    return(port->mp_putport(port, msg));
+}
+
+static __inline
+int
+lwkt_waitmsg(lwkt_msg_t msg)
+{
+    lwkt_port_t port = msg->ms_reply_port;
+    return(((lwkt_msg_t)port->mp_waitport(port, msg))->ms_error);
 }
 
 static __inline
 void
-lwkt_abortmsg(lwkt_port_t port, lwkt_msg_t msg)
+lwkt_abortmsg(lwkt_msg_t msg)
 {
-    port->mp_abortmsg(port, msg);
+    lwkt_port_t port = msg->ms_target_port;
+    port->mp_abortport(port, msg);
 }
 
 static __inline
@@ -57,9 +64,8 @@ lwkt_replymsg(lwkt_msg_t msg, int error)
 {
     lwkt_port_t port = msg->ms_reply_port;
     msg->ms_error = error;
-    port->mp_returnmsg(port, msg);
+    port->mp_replyport(port, msg);
 }
 
 #endif
 
-#endif
index 1d5a11e..e8b6b54 100644 (file)
@@ -2,8 +2,8 @@
  * System call hiders.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $DragonFly: src/sys/sys/syscall-hide.h,v 1.12 2003/11/10 23:58:58 dillon Exp $
- * created from DragonFly: src/sys/kern/syscalls.master,v 1.7 2003/11/05 23:26:20 dillon Exp 
+ * $DragonFly: src/sys/sys/syscall-hide.h,v 1.13 2003/11/20 06:05:31 dillon Exp $
+ * created from DragonFly: src/sys/kern/syscalls.master,v 1.8 2003/11/10 23:58:57 dillon Exp 
  */
 
 HIDE_POSIX(fork)
index 2ef3a78..0d8fc39 100644 (file)
@@ -2,8 +2,8 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $DragonFly: src/sys/sys/syscall.h,v 1.12 2003/11/10 23:58:58 dillon Exp $
- * created from DragonFly: src/sys/kern/syscalls.master,v 1.7 2003/11/05 23:26:20 dillon Exp 
+ * $DragonFly: src/sys/sys/syscall.h,v 1.13 2003/11/20 06:05:31 dillon Exp $
+ * created from DragonFly: src/sys/kern/syscalls.master,v 1.8 2003/11/10 23:58:57 dillon Exp 
  */
 
 #define        SYS_syscall     0
index 0b7c68c..e82802b 100644 (file)
@@ -1,7 +1,7 @@
 # DragonFly system call names.
 # DO NOT EDIT-- this file is automatically generated.
-# $DragonFly: src/sys/sys/syscall.mk,v 1.12 2003/11/10 23:58:58 dillon Exp $
-# created from DragonFly: src/sys/kern/syscalls.master,v 1.7 2003/11/05 23:26:20 dillon Exp 
+# $DragonFly: src/sys/sys/syscall.mk,v 1.13 2003/11/20 06:05:31 dillon Exp $
+# created from DragonFly: src/sys/kern/syscalls.master,v 1.8 2003/11/10 23:58:57 dillon Exp 
 MIASM =  \
        syscall.o \
        exit.o \
index 72d8e57..a806b32 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/sys/sysent.h,v 1.27.2.5 2002/03/17 11:08:38 alfred Exp $
- * $DragonFly: src/sys/sys/sysent.h,v 1.5 2003/08/20 07:31:21 rob Exp $
+ * $DragonFly: src/sys/sys/sysent.h,v 1.6 2003/11/20 06:05:31 dillon Exp $
  */
 
 #ifndef _SYS_SYSENT_H_
@@ -115,7 +115,7 @@ DECLARE_MODULE(name, name##_mod, SI_SUB_DRIVERS, SI_ORDER_MIDDLE)
 #define SYSCALL_MODULE_HELPER(syscallname)              \
 static int syscallname##_syscall = SYS_##syscallname;   \
 static struct sysent syscallname##_sysent = {           \
-    ((sizeof(struct syscallname ## _args ) - sizeof(union sysmsg) - \
+    ((sizeof(struct syscallname ## _args ) - sizeof(struct sysmsg) - \
        sizeof(union usrmsg)) / sizeof(register_t)),    \
     (sy_call_t *)& syscallname                          \
 };                                                      \
index 637891a..fcc9eed 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * SYS/SYSMSG.H
  *
- * $DragonFly: src/sys/sys/sysmsg.h,v 1.3 2003/08/12 04:58:23 dillon Exp $
+ * $DragonFly: src/sys/sys/sysmsg.h,v 1.4 2003/11/20 06:05:31 dillon Exp $
  */
 
 #ifndef _SYS_SYSMSG_H_
  * It typically preceeds the usrmsg and syscall arguments in sysunion
  * (see sys/sysunion.h)
  */
-union sysmsg {
+union sysunion;
+
+struct sysmsg {
        struct lwkt_msg lmsg;
-       struct sysmsg_sleep {
-           struct lwkt_msg lmsg;
-           struct timespec rmt;
-           struct timespec rqt;
-           struct callout  timer;
-       } sm_sleep;
+       void            (*copyout)(union sysunion *sysun);
+       union {
+           struct sysmsg_sleep {
+               struct lwkt_msg lmsg;
+               struct timespec rmt;
+               struct timespec rqt;
+               struct callout  timer;
+           } sleep;
+       } sm;
 };
 
 #endif
@@ -44,7 +49,9 @@ union usrmsg {
 };
 
 #ifdef _KERNEL
-typedef union sysmsg *sysmsg_t;
+typedef struct sysmsg *sysmsg_t;
+#define sysmsg_copyout sysmsg.copyout
+#define sysmsg_lmsg    sysmsg.lmsg
 #define sysmsg_result  sysmsg.lmsg.u.ms_result
 #define sysmsg_lresult sysmsg.lmsg.u.ms_lresult
 #define sysmsg_resultp sysmsg.lmsg.u.ms_resultp
index 7ff2e4f..527bb84 100644 (file)
@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $DragonFly: src/sys/sys/sysproto.h,v 1.12 2003/11/10 23:58:58 dillon Exp $
- * created from DragonFly: src/sys/kern/syscalls.master,v 1.7 2003/11/05 23:26:20 dillon Exp 
+ * $DragonFly: src/sys/sys/sysproto.h,v 1.13 2003/11/20 06:05:31 dillon Exp $
+ * created from DragonFly: src/sys/kern/syscalls.master,v 1.8 2003/11/10 23:58:57 dillon Exp 
  */
 
 #ifndef _SYS_SYSPROTO_H_
 
 struct nosys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct sys_exit_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     rval;   char rval_[PAD_(int)];
 };
 struct fork_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct read_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -52,7 +52,7 @@ struct        read_args {
 };
 struct write_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -61,7 +61,7 @@ struct        write_args {
 };
 struct open_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -70,14 +70,14 @@ struct      open_args {
 };
 struct close_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
 };
 struct wait_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     pid;    char pid_[PAD_(int)];
@@ -87,7 +87,7 @@ struct        wait_args {
 };
 struct link_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -95,28 +95,28 @@ struct      link_args {
 };
 struct unlink_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
 };
 struct chdir_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
 };
 struct fchdir_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
 };
 struct mknod_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -125,7 +125,7 @@ struct      mknod_args {
 };
 struct chmod_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -133,7 +133,7 @@ struct      chmod_args {
 };
 struct chown_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -142,14 +142,14 @@ struct    chown_args {
 };
 struct obreak_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  nsize;  char nsize_[PAD_(char *)];
 };
 struct getfsstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct statfs * buf;    char buf_[PAD_(struct statfs *)];
@@ -158,14 +158,14 @@ struct    getfsstat_args {
 };
 struct getpid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct mount_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  type;   char type_[PAD_(char *)];
@@ -175,7 +175,7 @@ struct      mount_args {
 };
 struct unmount_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -183,28 +183,28 @@ struct    unmount_args {
 };
 struct setuid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        uid_t   uid;    char uid_[PAD_(uid_t)];
 };
 struct getuid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct geteuid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct ptrace_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     req;    char req_[PAD_(int)];
@@ -214,7 +214,7 @@ struct      ptrace_args {
 };
 struct recvmsg_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -223,7 +223,7 @@ struct      recvmsg_args {
 };
 struct sendmsg_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -232,7 +232,7 @@ struct      sendmsg_args {
 };
 struct recvfrom_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -244,7 +244,7 @@ struct      recvfrom_args {
 };
 struct accept_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -253,7 +253,7 @@ struct      accept_args {
 };
 struct getpeername_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fdes;   char fdes_[PAD_(int)];
@@ -262,7 +262,7 @@ struct      getpeername_args {
 };
 struct getsockname_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fdes;   char fdes_[PAD_(int)];
@@ -271,7 +271,7 @@ struct      getsockname_args {
 };
 struct access_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -279,7 +279,7 @@ struct      access_args {
 };
 struct chflags_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -287,7 +287,7 @@ struct      chflags_args {
 };
 struct fchflags_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -295,14 +295,14 @@ struct    fchflags_args {
 };
 struct sync_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct kill_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     pid;    char pid_[PAD_(int)];
@@ -310,35 +310,35 @@ struct    kill_args {
 };
 struct getppid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct dup_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        u_int   fd;     char fd_[PAD_(u_int)];
 };
 struct pipe_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct getegid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct profil_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        caddr_t samples;        char samples_[PAD_(caddr_t)];
@@ -348,7 +348,7 @@ struct      profil_args {
 };
 struct ktrace_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const char *    fname;  char fname_[PAD_(const char *)];
@@ -358,14 +358,14 @@ struct    ktrace_args {
 };
 struct getgid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct getlogin_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  namebuf;        char namebuf_[PAD_(char *)];
@@ -373,21 +373,21 @@ struct    getlogin_args {
 };
 struct setlogin_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  namebuf;        char namebuf_[PAD_(char *)];
 };
 struct acct_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
 };
 struct sigaltstack_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        stack_t *       ss;     char ss_[PAD_(stack_t *)];
@@ -395,7 +395,7 @@ struct      sigaltstack_args {
 };
 struct ioctl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -404,21 +404,21 @@ struct    ioctl_args {
 };
 struct reboot_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     opt;    char opt_[PAD_(int)];
 };
 struct revoke_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
 };
 struct symlink_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -426,7 +426,7 @@ struct      symlink_args {
 };
 struct readlink_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -435,7 +435,7 @@ struct      readlink_args {
 };
 struct execve_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  fname;  char fname_[PAD_(char *)];
@@ -444,28 +444,28 @@ struct    execve_args {
 };
 struct umask_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     newmask;        char newmask_[PAD_(int)];
 };
 struct chroot_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
 };
 struct getpagesize_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct msync_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        void *  addr;   char addr_[PAD_(void *)];
@@ -474,35 +474,35 @@ struct    msync_args {
 };
 struct vfork_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct sbrk_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     incr;   char incr_[PAD_(int)];
 };
 struct sstk_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     incr;   char incr_[PAD_(int)];
 };
 struct ovadvise_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     anom;   char anom_[PAD_(int)];
 };
 struct munmap_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        void *  addr;   char addr_[PAD_(void *)];
@@ -510,7 +510,7 @@ struct      munmap_args {
 };
 struct mprotect_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const void *    addr;   char addr_[PAD_(const void *)];
@@ -519,7 +519,7 @@ struct      mprotect_args {
 };
 struct madvise_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        void *  addr;   char addr_[PAD_(void *)];
@@ -528,7 +528,7 @@ struct      madvise_args {
 };
 struct mincore_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const void *    addr;   char addr_[PAD_(const void *)];
@@ -537,7 +537,7 @@ struct      mincore_args {
 };
 struct getgroups_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        u_int   gidsetsize;     char gidsetsize_[PAD_(u_int)];
@@ -545,7 +545,7 @@ struct      getgroups_args {
 };
 struct setgroups_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        u_int   gidsetsize;     char gidsetsize_[PAD_(u_int)];
@@ -553,14 +553,14 @@ struct    setgroups_args {
 };
 struct getpgrp_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct setpgid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     pid;    char pid_[PAD_(int)];
@@ -568,7 +568,7 @@ struct      setpgid_args {
 };
 struct setitimer_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        u_int   which;  char which_[PAD_(u_int)];
@@ -577,21 +577,21 @@ struct    setitimer_args {
 };
 struct owait_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct swapon_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  name;   char name_[PAD_(char *)];
 };
 struct getitimer_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        u_int   which;  char which_[PAD_(u_int)];
@@ -599,14 +599,14 @@ struct    getitimer_args {
 };
 struct getdtablesize_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct dup2_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        u_int   from;   char from_[PAD_(u_int)];
@@ -614,7 +614,7 @@ struct      dup2_args {
 };
 struct fcntl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -623,7 +623,7 @@ struct      fcntl_args {
 };
 struct select_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     nd;     char nd_[PAD_(int)];
@@ -634,14 +634,14 @@ struct    select_args {
 };
 struct fsync_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
 };
 struct setpriority_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     which;  char which_[PAD_(int)];
@@ -650,7 +650,7 @@ struct      setpriority_args {
 };
 struct socket_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     domain; char domain_[PAD_(int)];
@@ -659,7 +659,7 @@ struct      socket_args {
 };
 struct connect_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -668,7 +668,7 @@ struct      connect_args {
 };
 struct getpriority_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     which;  char which_[PAD_(int)];
@@ -676,7 +676,7 @@ struct      getpriority_args {
 };
 struct bind_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -685,7 +685,7 @@ struct      bind_args {
 };
 struct setsockopt_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -696,7 +696,7 @@ struct      setsockopt_args {
 };
 struct listen_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -704,7 +704,7 @@ struct      listen_args {
 };
 struct gettimeofday_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct timeval *        tp;     char tp_[PAD_(struct timeval *)];
@@ -712,7 +712,7 @@ struct      gettimeofday_args {
 };
 struct getrusage_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     who;    char who_[PAD_(int)];
@@ -720,7 +720,7 @@ struct      getrusage_args {
 };
 struct getsockopt_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -731,7 +731,7 @@ struct      getsockopt_args {
 };
 struct readv_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -740,7 +740,7 @@ struct      readv_args {
 };
 struct writev_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -749,7 +749,7 @@ struct      writev_args {
 };
 struct settimeofday_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct timeval *        tv;     char tv_[PAD_(struct timeval *)];
@@ -757,7 +757,7 @@ struct      settimeofday_args {
 };
 struct fchown_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -766,7 +766,7 @@ struct      fchown_args {
 };
 struct fchmod_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -774,7 +774,7 @@ struct      fchmod_args {
 };
 struct setreuid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     ruid;   char ruid_[PAD_(int)];
@@ -782,7 +782,7 @@ struct      setreuid_args {
 };
 struct setregid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     rgid;   char rgid_[PAD_(int)];
@@ -790,7 +790,7 @@ struct      setregid_args {
 };
 struct rename_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  from;   char from_[PAD_(char *)];
@@ -798,7 +798,7 @@ struct      rename_args {
 };
 struct flock_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -806,7 +806,7 @@ struct      flock_args {
 };
 struct mkfifo_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -814,7 +814,7 @@ struct      mkfifo_args {
 };
 struct sendto_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -826,7 +826,7 @@ struct      sendto_args {
 };
 struct shutdown_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -834,7 +834,7 @@ struct      shutdown_args {
 };
 struct socketpair_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     domain; char domain_[PAD_(int)];
@@ -844,7 +844,7 @@ struct      socketpair_args {
 };
 struct mkdir_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -852,14 +852,14 @@ struct    mkdir_args {
 };
 struct rmdir_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
 };
 struct utimes_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -867,7 +867,7 @@ struct      utimes_args {
 };
 struct adjtime_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct timeval *        delta;  char delta_[PAD_(struct timeval *)];
@@ -875,21 +875,21 @@ struct    adjtime_args {
 };
 struct ogethostid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct setsid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct quotactl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -899,14 +899,14 @@ struct    quotactl_args {
 };
 struct oquota_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct nfssvc_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     flag;   char flag_[PAD_(int)];
@@ -914,7 +914,7 @@ struct      nfssvc_args {
 };
 struct statfs_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -922,7 +922,7 @@ struct      statfs_args {
 };
 struct fstatfs_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -930,7 +930,7 @@ struct      fstatfs_args {
 };
 struct getfh_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  fname;  char fname_[PAD_(char *)];
@@ -938,7 +938,7 @@ struct      getfh_args {
 };
 struct getdomainname_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  domainname;     char domainname_[PAD_(char *)];
@@ -946,7 +946,7 @@ struct      getdomainname_args {
 };
 struct setdomainname_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  domainname;     char domainname_[PAD_(char *)];
@@ -954,14 +954,14 @@ struct    setdomainname_args {
 };
 struct uname_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct utsname *        name;   char name_[PAD_(struct utsname *)];
 };
 struct sysarch_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     op;     char op_[PAD_(int)];
@@ -969,7 +969,7 @@ struct      sysarch_args {
 };
 struct rtprio_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     function;       char function_[PAD_(int)];
@@ -978,7 +978,7 @@ struct      rtprio_args {
 };
 struct semsys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     which;  char which_[PAD_(int)];
@@ -989,7 +989,7 @@ struct      semsys_args {
 };
 struct msgsys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     which;  char which_[PAD_(int)];
@@ -1001,7 +1001,7 @@ struct    msgsys_args {
 };
 struct shmsys_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     which;  char which_[PAD_(int)];
@@ -1011,7 +1011,7 @@ struct    shmsys_args {
 };
 struct pread_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -1022,7 +1022,7 @@ struct    pread_args {
 };
 struct pwrite_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -1033,35 +1033,35 @@ struct  pwrite_args {
 };
 struct ntp_adjtime_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct timex *  tp;     char tp_[PAD_(struct timex *)];
 };
 struct setgid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        gid_t   gid;    char gid_[PAD_(gid_t)];
 };
 struct setegid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        gid_t   egid;   char egid_[PAD_(gid_t)];
 };
 struct seteuid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        uid_t   euid;   char euid_[PAD_(uid_t)];
 };
 struct stat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -1069,7 +1069,7 @@ struct    stat_args {
 };
 struct fstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -1077,7 +1077,7 @@ struct    fstat_args {
 };
 struct lstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -1085,7 +1085,7 @@ struct    lstat_args {
 };
 struct pathconf_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -1093,7 +1093,7 @@ struct    pathconf_args {
 };
 struct fpathconf_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -1101,7 +1101,7 @@ struct    fpathconf_args {
 };
 struct __getrlimit_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        u_int   which;  char which_[PAD_(u_int)];
@@ -1109,7 +1109,7 @@ struct    __getrlimit_args {
 };
 struct __setrlimit_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        u_int   which;  char which_[PAD_(u_int)];
@@ -1117,7 +1117,7 @@ struct    __setrlimit_args {
 };
 struct getdirentries_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -1127,7 +1127,7 @@ struct    getdirentries_args {
 };
 struct mmap_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        caddr_t addr;   char addr_[PAD_(caddr_t)];
@@ -1140,7 +1140,7 @@ struct    mmap_args {
 };
 struct lseek_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -1150,7 +1150,7 @@ struct    lseek_args {
 };
 struct truncate_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -1159,7 +1159,7 @@ struct    truncate_args {
 };
 struct ftruncate_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -1168,7 +1168,7 @@ struct    ftruncate_args {
 };
 struct sysctl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int *   name;   char name_[PAD_(int *)];
@@ -1180,7 +1180,7 @@ struct    sysctl_args {
 };
 struct mlock_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const void *    addr;   char addr_[PAD_(const void *)];
@@ -1188,7 +1188,7 @@ struct    mlock_args {
 };
 struct munlock_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const void *    addr;   char addr_[PAD_(const void *)];
@@ -1196,14 +1196,14 @@ struct  munlock_args {
 };
 struct undelete_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
 };
 struct futimes_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -1211,14 +1211,14 @@ struct  futimes_args {
 };
 struct getpgid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        pid_t   pid;    char pid_[PAD_(pid_t)];
 };
 struct poll_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct pollfd * fds;    char fds_[PAD_(struct pollfd *)];
@@ -1227,7 +1227,7 @@ struct    poll_args {
 };
 struct __semctl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     semid;  char semid_[PAD_(int)];
@@ -1237,7 +1237,7 @@ struct    __semctl_args {
 };
 struct semget_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        key_t   key;    char key_[PAD_(key_t)];
@@ -1246,7 +1246,7 @@ struct    semget_args {
 };
 struct semop_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     semid;  char semid_[PAD_(int)];
@@ -1255,7 +1255,7 @@ struct    semop_args {
 };
 struct msgctl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     msqid;  char msqid_[PAD_(int)];
@@ -1264,7 +1264,7 @@ struct    msgctl_args {
 };
 struct msgget_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        key_t   key;    char key_[PAD_(key_t)];
@@ -1272,7 +1272,7 @@ struct    msgget_args {
 };
 struct msgsnd_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     msqid;  char msqid_[PAD_(int)];
@@ -1282,7 +1282,7 @@ struct    msgsnd_args {
 };
 struct msgrcv_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     msqid;  char msqid_[PAD_(int)];
@@ -1293,7 +1293,7 @@ struct    msgrcv_args {
 };
 struct shmat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     shmid;  char shmid_[PAD_(int)];
@@ -1302,7 +1302,7 @@ struct    shmat_args {
 };
 struct shmctl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     shmid;  char shmid_[PAD_(int)];
@@ -1311,14 +1311,14 @@ struct  shmctl_args {
 };
 struct shmdt_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        void *  shmaddr;        char shmaddr_[PAD_(void *)];
 };
 struct shmget_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        key_t   key;    char key_[PAD_(key_t)];
@@ -1327,7 +1327,7 @@ struct    shmget_args {
 };
 struct clock_gettime_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        clockid_t       clock_id;       char clock_id_[PAD_(clockid_t)];
@@ -1335,7 +1335,7 @@ struct    clock_gettime_args {
 };
 struct clock_settime_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        clockid_t       clock_id;       char clock_id_[PAD_(clockid_t)];
@@ -1343,7 +1343,7 @@ struct    clock_settime_args {
 };
 struct clock_getres_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        clockid_t       clock_id;       char clock_id_[PAD_(clockid_t)];
@@ -1351,7 +1351,7 @@ struct    clock_getres_args {
 };
 struct nanosleep_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const struct timespec * rqtp;   char rqtp_[PAD_(const struct timespec *)];
@@ -1359,7 +1359,7 @@ struct    nanosleep_args {
 };
 struct minherit_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        void *  addr;   char addr_[PAD_(void *)];
@@ -1368,14 +1368,14 @@ struct  minherit_args {
 };
 struct rfork_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     flags;  char flags_[PAD_(int)];
 };
 struct openbsd_poll_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct pollfd * fds;    char fds_[PAD_(struct pollfd *)];
@@ -1384,14 +1384,14 @@ struct  openbsd_poll_args {
 };
 struct issetugid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct lchown_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -1400,7 +1400,7 @@ struct    lchown_args {
 };
 struct getdents_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -1409,7 +1409,7 @@ struct    getdents_args {
 };
 struct lchmod_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -1417,7 +1417,7 @@ struct    lchmod_args {
 };
 struct lutimes_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -1425,7 +1425,7 @@ struct    lutimes_args {
 };
 struct nstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -1433,7 +1433,7 @@ struct    nstat_args {
 };
 struct nfstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -1441,7 +1441,7 @@ struct    nfstat_args {
 };
 struct nlstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -1449,7 +1449,7 @@ struct    nlstat_args {
 };
 struct fhstatfs_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const struct fhandle *  u_fhp;  char u_fhp_[PAD_(const struct fhandle *)];
@@ -1457,7 +1457,7 @@ struct    fhstatfs_args {
 };
 struct fhopen_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const struct fhandle *  u_fhp;  char u_fhp_[PAD_(const struct fhandle *)];
@@ -1465,7 +1465,7 @@ struct    fhopen_args {
 };
 struct fhstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const struct fhandle *  u_fhp;  char u_fhp_[PAD_(const struct fhandle *)];
@@ -1473,14 +1473,14 @@ struct  fhstat_args {
 };
 struct modnext_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     modid;  char modid_[PAD_(int)];
 };
 struct modstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     modid;  char modid_[PAD_(int)];
@@ -1488,49 +1488,49 @@ struct  modstat_args {
 };
 struct modfnext_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     modid;  char modid_[PAD_(int)];
 };
 struct modfind_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const char *    name;   char name_[PAD_(const char *)];
 };
 struct kldload_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const char *    file;   char file_[PAD_(const char *)];
 };
 struct kldunload_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fileid; char fileid_[PAD_(int)];
 };
 struct kldfind_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const char *    file;   char file_[PAD_(const char *)];
 };
 struct kldnext_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fileid; char fileid_[PAD_(int)];
 };
 struct kldstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fileid; char fileid_[PAD_(int)];
@@ -1538,21 +1538,21 @@ struct  kldstat_args {
 };
 struct kldfirstmod_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fileid; char fileid_[PAD_(int)];
 };
 struct getsid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        pid_t   pid;    char pid_[PAD_(pid_t)];
 };
 struct setresuid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        uid_t   ruid;   char ruid_[PAD_(uid_t)];
@@ -1561,7 +1561,7 @@ struct    setresuid_args {
 };
 struct setresgid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        gid_t   rgid;   char rgid_[PAD_(gid_t)];
@@ -1570,14 +1570,14 @@ struct  setresgid_args {
 };
 struct aio_return_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct aiocb *  aiocbp; char aiocbp_[PAD_(struct aiocb *)];
 };
 struct aio_suspend_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct aiocb *const *   aiocbp; char aiocbp_[PAD_(struct aiocb *const *)];
@@ -1586,7 +1586,7 @@ struct    aio_suspend_args {
 };
 struct aio_cancel_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -1594,28 +1594,28 @@ struct  aio_cancel_args {
 };
 struct aio_error_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct aiocb *  aiocbp; char aiocbp_[PAD_(struct aiocb *)];
 };
 struct aio_read_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct aiocb *  aiocbp; char aiocbp_[PAD_(struct aiocb *)];
 };
 struct aio_write_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct aiocb *  aiocbp; char aiocbp_[PAD_(struct aiocb *)];
 };
 struct lio_listio_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     mode;   char mode_[PAD_(int)];
@@ -1625,42 +1625,42 @@ struct  lio_listio_args {
 };
 struct yield_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct thr_sleep_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const struct timespec * timeout;        char timeout_[PAD_(const struct timespec *)];
 };
 struct thr_wakeup_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        pid_t   pid;    char pid_[PAD_(pid_t)];
 };
 struct mlockall_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     how;    char how_[PAD_(int)];
 };
 struct munlockall_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct __getcwd_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        u_char *        buf;    char buf_[PAD_(u_char *)];
@@ -1668,7 +1668,7 @@ struct    __getcwd_args {
 };
 struct sched_setparam_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        pid_t   pid;    char pid_[PAD_(pid_t)];
@@ -1676,7 +1676,7 @@ struct    sched_setparam_args {
 };
 struct sched_getparam_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        pid_t   pid;    char pid_[PAD_(pid_t)];
@@ -1684,7 +1684,7 @@ struct    sched_getparam_args {
 };
 struct sched_setscheduler_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        pid_t   pid;    char pid_[PAD_(pid_t)];
@@ -1693,35 +1693,35 @@ struct  sched_setscheduler_args {
 };
 struct sched_getscheduler_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        pid_t   pid;    char pid_[PAD_(pid_t)];
 };
 struct sched_yield_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct sched_get_priority_max_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     policy; char policy_[PAD_(int)];
 };
 struct sched_get_priority_min_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     policy; char policy_[PAD_(int)];
 };
 struct sched_rr_get_interval_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        pid_t   pid;    char pid_[PAD_(pid_t)];
@@ -1729,7 +1729,7 @@ struct    sched_rr_get_interval_args {
 };
 struct utrace_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const void *    addr;   char addr_[PAD_(const void *)];
@@ -1737,7 +1737,7 @@ struct    utrace_args {
 };
 struct kldsym_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fileid; char fileid_[PAD_(int)];
@@ -1746,14 +1746,14 @@ struct  kldsym_args {
 };
 struct jail_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct jail *   jail;   char jail_[PAD_(struct jail *)];
 };
 struct sigprocmask_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     how;    char how_[PAD_(int)];
@@ -1762,14 +1762,14 @@ struct  sigprocmask_args {
 };
 struct sigsuspend_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const sigset_t *        sigmask;        char sigmask_[PAD_(const sigset_t *)];
 };
 struct sigaction_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     sig;    char sig_[PAD_(int)];
@@ -1778,21 +1778,21 @@ struct  sigaction_args {
 };
 struct sigpending_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        sigset_t *      set;    char set_[PAD_(sigset_t *)];
 };
 struct sigreturn_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        ucontext_t *    sigcntxp;       char sigcntxp_[PAD_(ucontext_t *)];
 };
 struct __acl_get_file_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const char *    path;   char path_[PAD_(const char *)];
@@ -1801,7 +1801,7 @@ struct    __acl_get_file_args {
 };
 struct __acl_set_file_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const char *    path;   char path_[PAD_(const char *)];
@@ -1810,7 +1810,7 @@ struct    __acl_set_file_args {
 };
 struct __acl_get_fd_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     filedes;        char filedes_[PAD_(int)];
@@ -1819,7 +1819,7 @@ struct    __acl_get_fd_args {
 };
 struct __acl_set_fd_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     filedes;        char filedes_[PAD_(int)];
@@ -1828,7 +1828,7 @@ struct    __acl_set_fd_args {
 };
 struct __acl_delete_file_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const char *    path;   char path_[PAD_(const char *)];
@@ -1836,7 +1836,7 @@ struct    __acl_delete_file_args {
 };
 struct __acl_delete_fd_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     filedes;        char filedes_[PAD_(int)];
@@ -1844,7 +1844,7 @@ struct    __acl_delete_fd_args {
 };
 struct __acl_aclcheck_file_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const char *    path;   char path_[PAD_(const char *)];
@@ -1853,7 +1853,7 @@ struct    __acl_aclcheck_file_args {
 };
 struct __acl_aclcheck_fd_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     filedes;        char filedes_[PAD_(int)];
@@ -1862,7 +1862,7 @@ struct    __acl_aclcheck_fd_args {
 };
 struct extattrctl_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const char *    path;   char path_[PAD_(const char *)];
@@ -1872,7 +1872,7 @@ struct    extattrctl_args {
 };
 struct extattr_set_file_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const char *    path;   char path_[PAD_(const char *)];
@@ -1882,7 +1882,7 @@ struct    extattr_set_file_args {
 };
 struct extattr_get_file_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const char *    path;   char path_[PAD_(const char *)];
@@ -1892,7 +1892,7 @@ struct    extattr_get_file_args {
 };
 struct extattr_delete_file_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        const char *    path;   char path_[PAD_(const char *)];
@@ -1900,7 +1900,7 @@ struct    extattr_delete_file_args {
 };
 struct aio_waitcomplete_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct aiocb ** aiocbp; char aiocbp_[PAD_(struct aiocb **)];
@@ -1908,7 +1908,7 @@ struct    aio_waitcomplete_args {
 };
 struct getresuid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        uid_t * ruid;   char ruid_[PAD_(uid_t *)];
@@ -1917,7 +1917,7 @@ struct    getresuid_args {
 };
 struct getresgid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        gid_t * rgid;   char rgid_[PAD_(gid_t *)];
@@ -1926,14 +1926,14 @@ struct  getresgid_args {
 };
 struct kqueue_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        register_t dummy;
 };
 struct kevent_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -1945,7 +1945,7 @@ struct    kevent_args {
 };
 struct sendfile_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -1958,7 +1958,7 @@ struct    sendfile_args {
 };
 struct varsym_set_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     level;  char level_[PAD_(int)];
@@ -1967,7 +1967,7 @@ struct    varsym_set_args {
 };
 struct varsym_get_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     mask;   char mask_[PAD_(int)];
@@ -1977,7 +1977,7 @@ struct    varsym_get_args {
 };
 struct varsym_list_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     level;  char level_[PAD_(int)];
@@ -2229,7 +2229,7 @@ int       varsym_list (struct varsym_list_args *);
 
 struct ocreat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -2237,7 +2237,7 @@ struct    ocreat_args {
 };
 struct olseek_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -2246,7 +2246,7 @@ struct    olseek_args {
 };
 struct ostat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -2254,7 +2254,7 @@ struct    ostat_args {
 };
 struct olstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -2262,7 +2262,7 @@ struct    olstat_args {
 };
 struct ofstat_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -2270,7 +2270,7 @@ struct    ofstat_args {
 };
 struct getkerninfo_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     op;     char op_[PAD_(int)];
@@ -2280,7 +2280,7 @@ struct    getkerninfo_args {
 };
 struct ommap_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        void *  addr;   char addr_[PAD_(void *)];
@@ -2292,7 +2292,7 @@ struct    ommap_args {
 };
 struct gethostname_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  hostname;       char hostname_[PAD_(char *)];
@@ -2300,7 +2300,7 @@ struct    gethostname_args {
 };
 struct sethostname_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  hostname;       char hostname_[PAD_(char *)];
@@ -2308,7 +2308,7 @@ struct    sethostname_args {
 };
 struct osend_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -2318,7 +2318,7 @@ struct    osend_args {
 };
 struct orecv_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -2328,7 +2328,7 @@ struct    orecv_args {
 };
 struct osigvec_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     signum; char signum_[PAD_(int)];
@@ -2337,21 +2337,21 @@ struct  osigvec_args {
 };
 struct osigblock_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     mask;   char mask_[PAD_(int)];
 };
 struct osigsetmask_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     mask;   char mask_[PAD_(int)];
 };
 struct osigstack_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        struct sigstack *       nss;    char nss_[PAD_(struct sigstack *)];
@@ -2359,7 +2359,7 @@ struct    osigstack_args {
 };
 struct orecvmsg_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -2368,7 +2368,7 @@ struct    orecvmsg_args {
 };
 struct osendmsg_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     s;      char s_[PAD_(int)];
@@ -2377,7 +2377,7 @@ struct    osendmsg_args {
 };
 struct otruncate_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        char *  path;   char path_[PAD_(char *)];
@@ -2385,7 +2385,7 @@ struct    otruncate_args {
 };
 struct oftruncate_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
@@ -2393,7 +2393,7 @@ struct    oftruncate_args {
 };
 struct ogetpeername_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fdes;   char fdes_[PAD_(int)];
@@ -2402,14 +2402,14 @@ struct  ogetpeername_args {
 };
 struct osethostid_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        long    hostid; char hostid_[PAD_(long)];
 };
 struct ogetrlimit_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        u_int   which;  char which_[PAD_(u_int)];
@@ -2417,7 +2417,7 @@ struct    ogetrlimit_args {
 };
 struct osetrlimit_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        u_int   which;  char which_[PAD_(u_int)];
@@ -2425,7 +2425,7 @@ struct    osetrlimit_args {
 };
 struct okillpg_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     pgid;   char pgid_[PAD_(int)];
@@ -2433,7 +2433,7 @@ struct    okillpg_args {
 };
 struct ogetdirentries_args {
 #ifdef _KERNEL
-       union sysmsg sysmsg;
+       struct sysmsg sysmsg;
 #endif
        union usrmsg usrmsg;
        int     fd;     char fd_[PAD_(int)];
index b4055e3..db024dd 100644 (file)
@@ -2,14 +2,14 @@
  * Union of syscall args for messaging.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $DragonFly: src/sys/sys/sysunion.h,v 1.9 2003/11/10 23:58:58 dillon Exp $
- * created from DragonFly: src/sys/kern/syscalls.master,v 1.7 2003/11/05 23:26:20 dillon Exp 
+ * $DragonFly: src/sys/sys/sysunion.h,v 1.10 2003/11/20 06:05:31 dillon Exp $
+ * created from DragonFly: src/sys/kern/syscalls.master,v 1.8 2003/11/10 23:58:57 dillon Exp 
  */
 
 union sysunion {
 #ifdef _KERNEL /* header only applies in kernel */
        struct  lwkt_msg lmsg;
-       union   sysmsg sysmsg;
+       struct  sysmsg sysmsg;
 #endif
        struct  nosys_args nosys;
        struct  sys_exit_args sys_exit;