summaryrefslogtreecommitdiff
path: root/sys/compat/freebsd/freebsd_syscallargs.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/compat/freebsd/freebsd_syscallargs.h')
-rw-r--r--sys/compat/freebsd/freebsd_syscallargs.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/sys/compat/freebsd/freebsd_syscallargs.h b/sys/compat/freebsd/freebsd_syscallargs.h
index 1a3bf596100..5cb9693afa0 100644
--- a/sys/compat/freebsd/freebsd_syscallargs.h
+++ b/sys/compat/freebsd/freebsd_syscallargs.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: freebsd_syscallargs.h,v 1.16 2001/02/02 19:46:38 tholo Exp $ */
+/* $OpenBSD: freebsd_syscallargs.h,v 1.17 2001/08/26 04:14:26 deraadt Exp $ */
/*
* System call argument lists.
@@ -7,7 +7,21 @@
* created from OpenBSD: syscalls.master,v 1.15 2001/02/02 19:45:09 tholo Exp
*/
-#define syscallarg(x) union { x datum; register_t pad; }
+#ifdef syscallarg
+#undef syscallarg
+#endif
+
+#define syscallarg(x) \
+ union { \
+ register_t pad; \
+ struct { x datum; } le; \
+ struct { \
+ int8_t pad[ (sizeof (register_t) < sizeof (x)) \
+ ? 0 \
+ : sizeof (register_t) - sizeof (x)]; \
+ x datum; \
+ } be; \
+ }
struct freebsd_sys_open_args {
syscallarg(char *) path;