summaryrefslogtreecommitdiff
path: root/i386/i386/copy_user.h
diff options
context:
space:
mode:
Diffstat (limited to 'i386/i386/copy_user.h')
-rw-r--r--i386/i386/copy_user.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/i386/i386/copy_user.h b/i386/i386/copy_user.h
index 3d1c7278..5cdbfa80 100644
--- a/i386/i386/copy_user.h
+++ b/i386/i386/copy_user.h
@@ -87,14 +87,16 @@ static inline int copyout_port(const mach_port_t *kaddr, mach_port_name_t *uaddr
#endif /* __x86_64__ */
}
-#if defined(__x86_64__) && defined(USER32)
-/* For 32 bit userland, kernel and user land messages are not the same size. */
-size_t msg_usize(const mach_msg_header_t *kmsg);
-#else
+// XXX we could add another field to kmsg to store the user-side size, but then we
+// should check if we can obtain it for rpc and notifications originating from
+// the kernel
+#ifndef __x86_64__
static inline size_t msg_usize(const mach_msg_header_t *kmsg)
{
return kmsg->msgh_size;
}
-#endif /* __x86_64__ && USER32 */
+#else /* __x86_64__ */
+size_t msg_usize(const mach_msg_header_t *kmsg);
+#endif /* __x86_64__ */
#endif /* COPY_USER_H */