+#endif /* !KERNEL */
+
+#endif /* defined(__x86_64__) */
+
+/*
+ * Syscall classes for 64-bit system call entry.
+ * For 64-bit users, the 32-bit syscall number is partitioned
+ * with the high-order bits representing the class and low-order
+ * bits being the syscall number within that class.
+ * The high-order 32-bits of the 64-bit syscall number are unused.
+ * All system classes enter the kernel via the syscall instruction.
+ *
+ * These are not #ifdef'd for x86-64 because they might be used for
+ * 32-bit someday and so the 64-bit comm page in a 32-bit kernel
+ * can use them.
+ */
+#define SYSCALL_CLASS_SHIFT 24
+#define SYSCALL_CLASS_MASK (0xFF << SYSCALL_CLASS_SHIFT)
+#define SYSCALL_NUMBER_MASK (~SYSCALL_CLASS_MASK)
+
+#define I386_SYSCALL_CLASS_MASK SYSCALL_CLASS_MASK
+#define I386_SYSCALL_ARG_BYTES_SHIFT (16)
+#define I386_SYSCALL_ARG_DWORDS_SHIFT (I386_SYSCALL_ARG_BYTES_SHIFT + 2)
+#define I386_SYSCALL_ARG_BYTES_NUM (64) /* Must be <= sizeof(uu_arg) */
+#define I386_SYSCALL_ARG_DWORDS_MASK ((I386_SYSCALL_ARG_BYTES_NUM >> 2) -1)
+#define I386_SYSCALL_ARG_BYTES_MASK (((I386_SYSCALL_ARG_BYTES_NUM -1)&~0x3) << I386_SYSCALL_ARG_BYTES_SHIFT)
+#define I386_SYSCALL_NUMBER_MASK (0xFFFF)
+
+#define SYSCALL_CLASS_NONE 0 /* Invalid */
+#define SYSCALL_CLASS_MACH 1 /* Mach */
+#define SYSCALL_CLASS_UNIX 2 /* Unix/BSD */
+#define SYSCALL_CLASS_MDEP 3 /* Machine-dependent */
+#define SYSCALL_CLASS_DIAG 4 /* Diagnostics */
+#define SYSCALL_CLASS_IPC 5 /* Mach IPC */
+
+/* Macros to simpllfy constructing syscall numbers. */
+#define SYSCALL_CONSTRUCT_MACH(syscall_number) \
+ ((SYSCALL_CLASS_MACH << SYSCALL_CLASS_SHIFT) | \
+ (SYSCALL_NUMBER_MASK & (syscall_number)))
+#define SYSCALL_CONSTRUCT_UNIX(syscall_number) \
+ ((SYSCALL_CLASS_UNIX << SYSCALL_CLASS_SHIFT) | \
+ (SYSCALL_NUMBER_MASK & (syscall_number)))
+#define SYSCALL_CONSTRUCT_MDEP(syscall_number) \
+ ((SYSCALL_CLASS_MDEP << SYSCALL_CLASS_SHIFT) | \
+ (SYSCALL_NUMBER_MASK & (syscall_number)))
+#define SYSCALL_CONSTRUCT_DIAG(syscall_number) \
+ ((SYSCALL_CLASS_DIAG << SYSCALL_CLASS_SHIFT) | \
+ (SYSCALL_NUMBER_MASK & (syscall_number)))
+