+#ifdef MACH_KERNEL_PRIVATE
+/* The options that the kernel honors when passed from user space */
+#define MACH_SEND_USER (MACH_SEND_MSG | MACH_SEND_TIMEOUT | \
+ MACH_SEND_NOTIFY | MACH_SEND_OVERRIDE | \
+ MACH_SEND_TRAILER | MACH_SEND_NOIMPORTANCE | \
+ MACH_SEND_SYNC_OVERRIDE)
+
+#define MACH_RCV_USER (MACH_RCV_MSG | MACH_RCV_TIMEOUT | \
+ MACH_RCV_LARGE | MACH_RCV_LARGE_IDENTITY | \
+ MACH_RCV_VOUCHER | MACH_RCV_TRAILER_MASK | \
+ MACH_RCV_SYNC_WAIT)
+
+#define MACH_MSG_OPTION_USER (MACH_SEND_USER | MACH_RCV_USER)
+
+/* The options implemented by the library interface to mach_msg et. al. */
+#define MACH_MSG_OPTION_LIB (MACH_SEND_INTERRUPT | MACH_RCV_INTERRUPT)
+
+/*
+ * Default options to use when sending from the kernel.
+ *
+ * Until we are sure of its effects, we are disabling
+ * importance donation from the kernel-side of user
+ * threads in importance-donating tasks.
+ * (11938665 & 23925818)
+ */
+#define MACH_SEND_KERNEL_DEFAULT (MACH_SEND_MSG | \
+ MACH_SEND_ALWAYS | MACH_SEND_NOIMPORTANCE)
+
+#endif /* MACH_KERNEL_PRIVATE */
+